Category : Analytics Setup
How to set up cross-domain tracking in Google Analytics
Is Google Analytics accurate? 6 common issues and how to fix them
Google Analytics is used by tens of millions of websites and apps around the world to measure web visitor engagement. Due to some users choosing not to be tracked or blocking cookies, Google Analytics can't measure 100% of visitors. But when set up correctly, GA measures over 95% of genuine visitors (as opposed to web scrapers and bots). At Littledata, our customers come from a range of industries. But when they first come to the Littledata app for help fixing their analytics, we hear many of the same questions: Is Google Analytics accurate? How do I know if my Google Analytics setup is giving me reliable data? In this blog post, we dissect some common issues with Google Analytics before providing a solution to help your ecommerce tracking be as accurate as possible. 6 common issues with Google Analytics (and how to fix them) 1) Your tracking script is not implemented correctly There are two common issues with the actual tracking script setup: It's implemented twice on some pages It's missing completely from some pages When the script is duplicated, you’ll see an artificially low bounce rate (usually below 5%), since every page view is sending twice to Google Analytics. When the script is missing from pages, you’ll see self-referrals from your own website. How to fix it Our recommendation is to use Google Tag Manager across your whole site to ensure the tracking script is loaded with the right web property identifier at the right time during the page load. 2) Your account has lots of spam When it comes to web traffic and analytics setup, spam is a serious issue. Spammers send 'ghost' referrals to get your attention as a website owner. This means that the traffic you see in Google Analytics may not come from real people, even if you have selected to exclude bots. How to fix it Littledata’s app filters out all future spammers and Pro Reporting users benefit from having those filters updated weekly. 3) Your own company traffic is not excluded Your web developers, content writers and marketers will be heavy users of your own site, and you need to filter this traffic from your Google Analytics to get a view of genuine customers or prospects. How to fix it You can do this based on location (e.g. IP address) or pages they visit (e.g. admin pages). [subscribe] 4) One person shows up as two or more users Fight Club aside (spoiler alert), when the same person re-visits our site, we expect them to look the same each time. Web analytics are more complicated. When Google Analytics speaks of 'users', what it's really tracking is a visit from a particular device or browser instance. For example, if I have a smartphone and a laptop computer and visit your site from both devices (without cross-device linking), I’ll appear as two users. Even more confusingly, if I visit your site from the Facebook app on my phone and then from the Twitter app, I’ll appear as two users — the two apps use two different internet browser instances. How to fix it While Google is looking at ways to use its accounts system (Gmail, Chrome, etc.), there's not a lot which can be done to fix this at the moment. 5) Marketing campaigns are not attributed to revenue or conversions If the journey of visitors on your site proceeds via another payment processor or gateway, you could be losing the link between the sale (or goal conversion) and the original marketing campaigns. You will see sales attributed to Direct or Referral traffic, when theyactually came from somewhere else. How to fix it This is a remarkably common issue with Shopify stores. That’s why we built a popular Shopify reporting app that solves the issue automatically. [subscribe heading="Get the Littledata Shopify reporting app" background_color="grey" button_text="get the app" button_link="https://www.littledata.io/shopify"] For other kinds of sites, the issue can often be resolved by setting up cross-domain tracking. 6) You aren't capturing key events (like purchases or button clicks) Google Analytics only tracks views of a page by default, which may not be meaningful if you have a highly interactive website or app. How to fix it Sending custom events is the key to ensuring your tracking is both accurate and relevant. Google Tag Manager makes this easier than it would be otherwise. However, you may need to speak to a qualified Google Analytics consultant to decide what to track. For better certainty that your analytics are fully accurate, try Littledata's free Google Analytics audit or get in touch for a quick consultation. We ❤️ analytics and we're always here to help.
How to fix marketing attribution for Safari ITP 2.3
The latest version of Safari limits the ability for Google Analytics (and any other marketing tags) to track users across domains, and between visits more than a day apart. Here’s how to get this fixed for your site. This article was updated 3rd October to clarify changes for ITP 2.3. How does this affect my analytics? Safari's Intelligent Tracking Prevention (ITP) dramatically changes how you can attribute marketing on one of the web's most popular browsers, and ITP 2.1 makes this even more difficult. How will the changes affect your analytics? Currently your marketing attribution in Google Analytics (GA) relies on tracking users across different visits on the same browser with a first-party user cookie - set on your domain by the GA tracking code. GA assigns every visitor an anonymous ‘client ID’ so that the user browsing your website on Saturday can be linked to the same browser that comes back on Monday to purchase. In theory this user-tracking cookie can last up to 2 years from the date of the first visit (in practice, many users clear their cookies more frequently than that), but anything more than one month is good enough for most marketing attribution. ITP breaks that user tracking in two major ways: Any cookie set by the browser, will be deleted after 7 days (ITP 2.1)Any cookie set by the browser, after the user has come from a cross-domain link, will be deleted after one day (ITP 2.2)Any local storage set when the user comes from a cross domain link is wiped after 7 days of inactivity (ITP 2.3) This will disrupt your marketing attribution. Let’s take two examples. Visitor A comes from an affiliate on Saturday, and then comes back the next Saturday to purchase: Before ITP: sale is attributed to AffiliateAfter ITP: sale is attributed to ‘Direct’Why: 2nd visit is more than one day after the 1st Visitor B comes from a Facebook Ad to your latest blog post on myblog.com, and goes on to purchase: Before ITP: sale is attribute to FacebookAfter ITP: sale is attributed to ‘Direct’Why: the visit to the blog is not linked to the visit on another domain The overall effect will be an apparent increase in users and sessions from Safari, as the same number of user journeys are broken in down into more, shorter journeys. How big is the problem? This is a big problem! Depending on your traffic sources it is likely to affect between a quarter and a half of all your visits. The update (ITP 2.1) is included in Safari version 12.1 onwards for Mac OS and Safari Mobile. It does not affect Safari in-app browsing. Apple released iOS 12.2 and Mac OS 10.14.4 on 25th March 2019, and at the time of writing around 30% of all web visits came from these two browser versions on a sample of larger sites. The volume for your site may vary; you can apply this Google Analytics segment to see exactly how. The affected traffic will be greater if you have high mobile use or more usage in the US (where iPhones are more popular). Why is Apple making these changes? Apple has made a strong point of user privacy over the last few years. Their billboard ad at the CES conference in Las Vegas earlier this year makes that point clearly! Although Google Chrome has overtaken Safari, Internet Explorer and Firefox in popularity on the desktop, Safari maintains a very dominant position in mobile browsing due to the ubiquitous iPhone. Apple develops Safari to provide a secure web interface for their users, and with Intelligent Tracking Prevention (ITP) they intended to reduce creepy retargeting ads following you around the web. Genuine web analytics has just been caught in the cross-fire. Unfortunately this is likely not to be the last attack on web analytics, and a permanent solution may not be around for some time. Our belief is that users expect companies to track them across their own branded websites and so the workarounds below are ethical and not violating the user privacy that Apple is trying to protect. How to fix this There are three outline fixes I would recommend. I’m grateful to Simo Ahava for his research on all the possible solutions. The right solution for your site depends on your server setup and the development resources you have available. If you’re lucky enough to use our Shopify app the next version of our script will include solution 1 below. Contact our support team if you'd like to test the private beta version. For each solution, I’ve rated them out of three in these areas: Quick setup: how much development time it will take to solveCompatibility: how likely this is to work with different domain setupsLongevity: how likely this is to work for future updates to Safari ITP Update: Solutions 1 and 2, using local storage will no longer work with ITP 2.3 Solution 3: Server-side cookie service Quick setup * Compatibility *** Longevity *** In the long term, ITP may target the local storage API itself (which is already blocked in Private browsing mode). In ITP 2.3, the local storage is wiped after 7 days, along with cookies. So solution 3 securely sets the HTTPS cookie from your web server itself, rather than via a browser script. This also has the advantage of making sure any cross-domain links tracked using GA's linker plugin can last more than one day after the click-through with ITP 2.3. The downside is this requires either adapting your servers, proxy servers or CDN to serve a cookie for GA and adapt the GA client-side libraries to work on a web server. If your company uses Node.js servers or a CDN like Amazon CloudFront or Cloudflare this may be significantly easier to achieve. If you don’t have direct control of your server infrastructure it’s a non-starter. Also, a caveat is that Apple recommends settings cookies as HttpOnly to be fully future proof - but those would then be inaccessible by the GA client tracking. Full technical details. What about other marketing tags working on Safari? All other marketing tags which track users across more than one session or one subdomain are going to experience the same problem. With Google Ads the best solution is to link your Ad account to Google Analytics, since this enables Google to use the GA cookie to better attribute conversion in Google Ads reporting. Facebook will no doubt provide a solution of their own, but in the meantime you can also attribute Facebook spend in GA using Littledata’s connection for Facebook Ads. Are there any downsides of making these changes? As with any technical solution, there are upsides and downsides. The main downside here is again with user privacy. Legally, you might start over-tracking users. By resetting cookies from the local storage that the user previously requested to be deleted, this could be violating a user’s right to be forgotten under GDPR. The problem with ITP is it is actually overriding the user’s preference to keep the cookie in usual circumstances, so there is no way of knowing the cookie was deleted by the user … or by Safari supposed looking out for the user! Unfortunately as with any customisation to the tracking code it brings more complexity to maintain, but I feel this is well worth the effort to maintain marketing attribution on one of the world's most popular browsers.
Do I need the Google Analytics tracking code on every page?
Shopify's 'sales by traffic source' report is broken
If you're a Shopify store manager, one of your biggest questions should be 'which campaigns lead to sales?'. We looked at data from 10 Shopify Plus customers to see whether the sales by traffic source report can be trusted. Under the Shopify store admin, and Analytics > Reports tab, you can (in theory) see which sessions and sales came from which traffic sources. BUT this sales by traffic source report is broken. Looking at 180,000 orders for 10 stores in Q4 2018, here are the marketing channels which Shopify Analytics says brought the traffic: Direct 83.5%Social 9%Search 4.5%Unknown (other websites, not social or search) 3%Email ~0.1% And using comparative data from Google Analytics we know this is all wrong. Here's a comparison of Shopify's attribution to Google Analytics last-click attribution of sales for one of these customers: Marketing attribution comparison for 700 orders Shopify Google Analytics Direct 99% 43% Search (Paid + Organic) 0.6% 7% Social 0.4% 10% Email - 25% Affiliates - 15% Here's why it's broken 'Direct' traffic is when the source is unknown. But for Shopify's report this means where the source of the last session is unknown - the user most probably visited a search ad or product review previously. Having only 1% visibility on your marketing performance is just not acceptable!We know that tagged Facebook traffic alone represents 7% of traffic for the average store, so 10% of sales from Social is more normal. Social also brings more than the actual sales in terms of visibility and influencers.Google generates billions of pageviews a month for ecommerce stores. If your site gets only 1% of its traffic from search, we'd be very surprised! Including paid search this site is still well below the 40% average. (Check out our 6 essential benchmarks for Shopify stores.)Monthly emails and personalised retargeting emails are now a staple of online marketing, and we know all the customers in this analysis use email marketing of some form - including for new product launches, discounts and cart abandonment campaigns. The problem is, it's unlikely to be the only campaign which brought customers, so it gets drowned out by other 'last click' channels. The solution: multi-channel attribution.Affiliates are a really important channel to get right, as they are paid based on the sales attributed to them. Why should you rely solely on the report the affiliate marketer gives you, and not see the same numbers in Google Analytics? So don't leave your marketing analytics to guess-work! Try the Littledata app to connect Shopify with Google Analytics on a free trial today. All paid plans include unlimited connections, to ensure accurate marketing attribution for sales via ReCharge (subscriptions), CartHook (one-page checkout), Refersion (affiliates) and more.
Why don't my transactions in Google Analytics match those in Shopify?
How to set up Enhanced Ecommerce tracking via Google Tag Manager
Enhanced Ecommerce (EEC) is a Google Analytics plug-in that provides merchants with better insights for the shopping behaviour of users. Enhanced Ecommerce tracking requires your developers to send lots of extra product and checkout information in a way that Google Analytics can understand. So why use it? Why use Enhanced Commerce? The main benefit of EEC over standard ecommerce implementation is the sheer number of valuable reports merchants have access to with EEC. Not only that, but merchants can segment data based on ecommerce events — which users visited your product pages, where the customer journey hit a roadblock (e.g. a customer pondered a product but didn't add it to cart, etc.) or which steps of the checkout process a user abandoned their cart. Ultimately, this kind of data helps merchants zoom in on their sales funnel and alter the parts of the process that don't lead to conversion. [subscribe] Enchanced Ecommerce implementation is no small feat, but it also depends on a number of factors — the size of your store, the number and type of Google Analytics custom dimensions you need to add, etc. Without question, Google Tag Manager is the simplest and best way to enable Enhanced Ecommerce in Google Analytics. If you already use Google Tag Manager (GTM) to track page views, you must send ecommerce data via Google Tag Manager. If you don't already use GTM, it's simple to set up: just activate EEC within your Google Analytics tags and use dataLayer as an ecommerce data source. Just make sure the dataLayer contains all ecommerce data. Step 1 Enable enhanced ecommerce reporting in the Google Analytics view admin setting, under 'Ecommerce Settings' Step 2 Select names for your checkout steps (see point 4 below): Step 3 Get your developers to push the product data behind the scenes to the page 'dataLayer'. Here is the developer guide. Step 4 Make sure the following steps are tracked as a pageview or event, and for each step set up a Universal Analytics tracking tag: Product impressions (typically a category or listing page) Product detail view (the product page) Add to basket (more usually an event than a page) Checkout step 1 (views the checkout page) Checkout step 2 etc - whatever registration, shipping or tax steps you have Purchase confirmation Step 5 Edit each tag, and under 'More Settings' section, select the 'Enable enhanced ecommerce features' and then 'use data layer' options: Of course, there's often a bit of fiddling to get the data layer in the right format, and the ecommerce events fires at the right time, so please contact us if you need more help setting up the reports! Step 6 - Checking it is working There is no 'real time' ecommerce reporting yet, so you'll need to wait a day for events to process and then view the shopping behaviour and checkout behaviour reports. If you want to check the checkout options you'll need to set up a custom report: use 'checkout options' as the dimension and 'sessions' and 'transactions' as the metrics. Need some more help? Get in touch with our lovely team of experts and we'd be happy to answer any questions!
What's the real ROI on your Facebook Ads?
For the past decade Facebook’s revenue growth has been relentless, driven by a switch from TV advertising and online banners to a platform seen as more targetable and measurable. When it comes to Facebook Ads, marketers are drawn to messaging about a strong return on investment. But are you measuring that return correctly? Facebook has spent heavily on its own analytics over the last three years, with the aim of making you -- the marketer -- fully immersed in the Facebook platform…and perhaps also to gloss over one important fact about Facebook’s reporting on its own Ads: most companies spend money with Facebook 'acquiring' users who would have bought from them anyway. Could that be you? Here are a few ways to think about tracking Facebook Ads beyond simple clicks and impressions as reported by FB themselves. The scenario Imagine a shopper named Fiona, a customer for your online fashion retail store. Fiona has browsed through the newsfeed on her Facebook mobile app, and clicks on your ad. Let’s also imagine that your site -- like most -- spends only a portion of their budget with Facebook, and is using a mix of email, paid search, affiliates and social to promote the brand. The likelihood that Fiona has interacted with more than one campaign before she buys is high. Now Fiona buys a $100 shirt from your store, and in Facebook (assuming you have ecommerce tracking with Pixel set up) the sale is linked to the original ad spend. Facebook's view of ROI The return on investment in the above scenario, as calculated by Facebook, is deceptively simple: Right, brilliant! So clear and simple. Actually, not that brilliant. You see Fiona had previously clicked on a Google Shopping ad (which is itself powered by two platforms, Google AdWords and the Google Merchant Center) -- how she found your brand -- and after Facebook, she was influenced by a friend who mentioned the product on Twitter, then finally converted by an abandoned cart email. So in reality Fiona’s full list of interactions with your ecommerce site looks like this: Google Shopping ad > browsed products Facebook Ad > viewed product Twitter post > viewed same product Link in abandoned cart email > purchase So from a multi-channel perspective, how should we attribute the benefit from the Facebook Ad? How do we track the full customer journey and attribute it to sales in your store? With enough data you might look at the probability that a similar customer would have purchased without seeing that Facebook Ad in the mix. In fact, that’s what the data-driven model in Google Marketing Platform 360 does. But without that level of data crunching we can still agree that Facebook shouldn’t be credited with 100% of the sale. It wasn’t the way the customer found your brand, or the campaign which finally convinced them to buy. Under the most generous attribution model we would attribute a quarter of the sale. So now the calculation looks like this: It cost us $2 of ad spend to bring $1 of revenue -- we should kill the campaign. But there's a catch Hang on, says Facebook. You forgot about Mark. Mark also bought the same shirt at your store, and he viewed the same ad on his phone before going on to buy it on his work computer. You marked the source of that purchase as Direct -- but it was due to the same Facebook campaign. Well yes, Facebook does have an advantage there in using its wide net of signed-in customers to link ad engagement across multiple devices for the same user. But take a step back. Mark, like Fiona, might have interacted with other marketing channels on his phone. If we can’t track cross-device for these other channels (and with Google Marketing Platform we cannot), then we should not give Facebook an unfair advantage in the attribution. So, back to multi-channel attribution from a single device. This is the best you have to work with right now, so how do you get a simple view of the Return on Advertising Spend, the real ROI on your ads? Our solution At Littledata we believe that Google Analytics is the best multi-channel attribution tool out there. All it misses is an integration with Facebook Ads to pull the ad spend by campaign, and some help to set up the campaign tagging (UTM parameters) to see which campaign in Facebook brought the user to your site. And we believe in smart automation. Littledata's Facebook Ads connection audits your Facebook campaign tagging and pulls ad cost daily into Google Analytics. This automated Facebook-Ads-to-Google-Analytics integration is a seamless way to pull Facebook Ads data into your overall ecommerce tracking -- something that would otherwise be a headache for marketers and developers. The integration checks Facebook Ads for accurate tagging and automatically pulls ad cost data into GA. The new integration is included with all paid plans. You can activate the connection from the Connections tab in your Littledata dashboard. It's that easy! (Not a subscriber yet? Sign up for a free trial on any plan today.) We believe in a world of equal marketing attribution. Facebook may be big, but they’re not the only platform in town, and any traffic they're sending your way should be analysed in context. Connecting your Facebook Ads account takes just a few minutes, and once the data has collected you’ll be able to activate reports to show the same kind of ROI calculation we did above. Will you join us on the journey to better data?
Subscribe to Littledata news
Insights from the experts in ecommerce analytics
Get the Littledata analytics app
Start your free 14-day trialLearn More