Category : Analytics Setup
How to track Klaviyo flows and email campaigns in Google Analytics
Klaviyo is one of the most popular email marketing platforms for Shopify stores, but the analytics setup is often overlooked. By following a few simples rules, you can ensure accurate Klaviyo data alongside other sales and marketing data in Google Analytics. In this article we cover how to set up Google Analytics tracking for Klaviyo, including best practices for UTM parameters and dynamic variables, and how this tracking works alongside Littledata's Shopify to Google Analytics connection. Why Klaviyo Klaviyo is a popular customer engagement platform used by over 50,000 Shopify merchants. Their focus is on email and SMS automation, and they have been one of the major success stories in the Shopify ecosystem, recently closing a $200 million funding round. Klaviyo's features for Shopify include: Codeless signup forms Pre-built flow templates for quick automation Email campaigns for customers and leads Advanced segmentation and personalization, including product recommendations Many of Littledata's Shopify customers use Klaviyo in one way or another, as do almost all of our Shopify Plus customers. But we've noticed a trend where even the biggest Klaviyo users aren't correctly tracking Klaviyo flows in GA, which ends up blocking data-driven decisions for growth. Read on to see how to fix this. Why Google Analytics The Klaviyo dashboard has useful built-in reporting, but for ecommerce managers focused on more than just email, there are some significant limitations compared with a dedicated analytics platform like Google Analytics (GA). One key limitation is for sales attribution (marketing attribution for online sales). In Klaviyo, any sale that happens after engagement with an email is attributed to that email. This overstates Klaviyo's contribution to sales. For example, if a user first comes from a Facebook Campaign, then clicks on an abandoned cart email from Klaviyo, then goes on to complete a purchase after being retargeted in Facebook, Klaviyo will claim this as owned revenue attributed to that email engagement and credit Facebook with nothing! Another limitation of reporting in Klaviyo's dashboard is that it's hard to see the contribution of an entire email flow to sales, as opposed to the impact of a particular email message in the flow. In Google Analytics (if set up correctly) you can see multi-channel contribution to sales, comparing apples with apples across different marketing channels. What is UTM tracking? UTM parameters are extra data in the link the user clicks to tell Google Analytics (and Shopify) where the click came from. These parameters are automatically added by Google Ads, but for other platforms (e.g. Facebook or Klaviyo) you will need to add them manually or via the software. Why does this matter? Because link clicks coming without a UTM tag will typically be treated by GA as "direct" traffic -- in other words, the source of those visits will be unknown. [note]Read Littledata's free guide to common reasons Shopify doesn't match Google Analytics[/note] Recommended settings To provide the most reporting flexibility we recommend having the same standard UTM parameters across all email flows and campaigns. Klaviyo allows dynamic variables to be used in your default UTM tracking settings. To get the most out of your Klaviyo reporting in GA, we recommend using static values for Source and Medium, and dynamic values for Campaign and Content. You can change these defaults in go to Account > Settings > UTM Tracking UTM Parameter Campaign Email Value Flow Email Value Source (utm_source) 'Klaviyo' 'Klaviyo' Medium (utm_medium) 'email' 'email' Campaign (utm_campaign) Campaign name (Campaign id) Flow email name (Flow email id) Content (utm_content) Link text or alt text Link text or alt text [tip]Content is not a default parameter in Klaviyo, so you will need to add that manually (enter `utm_content` as a new parameter).[/tip] With static values for Source and Medium (Klaviyo / email), you will be able to see Klaviyo compared against other marketing channels in GA, and in particular how Klaviyo campaigns contribute to customer lifetime value and other key metrics for Shopify sales and marketing. We do not recommend sticking with Klaviyo's default UTM settings, where Klaviyo flows, for example, are given a dynamic variable that pulls in the name of the flow. You can already see that type of data in the Klaviyo analytics dashboard -- better to use GA for complete marketing analysis. Whichever naming convention you choose, consistency is essential. Many Littledata customers create internal spreadsheets to manage UTM naming conventions and channel groupings in GA, and run regular QA checks to ensure consistency. Note that we have analytics audit checks within the Littledata app, and we now offer analytics training on Plus plans. Enabling UTM parameters In addition to setting up the UTM Parameter values in your Klaviyo account, you need to enable UTM tracking to ensure that those parameters are applied to all emails in flows and campaigns. The first step is to enable global UTM settings. Go to Account > Settings > UTM Tracking Switch Automatically add UTM parameters to links to ON. Then click Update UTM Tracking Settings. This will ensure that the UTM parameters are added automatically to all emails sent via Klaviyo. Now that you have enabled UTM tracking, you need to make sure that you are using 'account defaults' for UTM tracking in your flows and email campaigns (as opposed to custom tracking). This should already be the case, but it's good to double-check. Disable any custom UTM tracking for flows or campaigns Make sure that the UTM settings for individual flows are set to 'Yes, use account defaults' Make sure that overall email campaign settings are set to use default UTM tracking as well. In your overall campaign settings, select 'Yes, use account defaults' In addition, when creating/editing a campaign, go to Tracking and make sure that 'Include tracking parameters' is ON and 'Customize tracking parameters' is OFF Tracking across all marketing channels The UTM settings above only solve part of the marketing attribution problem: getting the campaign information to the landing page. Commonly this marketing attribution is lost between the landing page and the order completing. You can try to do this manually with an in-house dev team, but Littledata has built a complete ecommerce tracking solution for Shopify and Google Analytics that works automatically. Our connections use a combination of client-side and server-side tracking to make sure that all marketing channels -- including email, paid channels, organic search and referrals -- are linked to sales, along with all touch points in between. We also track returns/refunds, repeat purchases, and subscriptions, so you can understand customer lifetime value on a deeper level. Read about all of the the events Littledata sends automatically. You can use these events for reporting and analysis, and also to build audiences for your Klaviyo campaigns! Reporting on Klaviyo flows in Google Analytics Google Analytics is a powerful reporting tool once you get to know how channel groupings and custom dimensions work. Here's a quick look at how to analyze your Klaviyo data in GA. Looking at campaign conversions in Google Analytics After you have enabled our recommended settings for UTM tags, you will have access to Klaviyo flow and campaign data in GA. You can look at this on its own, but also compared against other channels for engagement and acquisition. To see revenue and orders attributed to these campaigns, drill into the Klaviyo source and add campaign as a secondary dimension. If you set up the Flow email name as the utm_campaign above, then you can look at the contribution of that whole flow to sales. For example, without caring if the user clicked on email 1 or 2 in a 4-email flow, did clicking on any of the emails in that flow -- for example, the 'Browse Abandonment' flow -- result in sales? Going further, you could create a segment of users who came via an Instagram campaign, and see to what degree they were influenced by the email sequence. Will Google Analytics match Klaviyo? How does the data you now have in Google Analytics compare with what you see in your Klaviyo dashboard? Under the Conversions > Multi-Channel Funnels > Model Comparison Tool in GA, you can compare the default email attribution in GA (last non-direct click), with other attribution models more similar to Klaviyo's dashboard. Keep in mind that there is no model for 'all click' attribution, so the numbers you'll see in GA will always be lower. You can also look at the Multi-Channel Funnels > Top Conversion Paths report to see where Klaviyo fits into the user journey on your ecommerce site. [note]Google Analytics data can also be used as a source for other reporting tools, such as Data Studio and Tableau.[/note] Using Klaviyo with Segment If you are looking to do more with your Shopify and Klaviyo data, consider Segment. Littledata's Shopify source for Segment automatically sends a rich data set for use with a range of Segment destinations. Not only does our Segment connection get all of the post-click events into Segment, but it also sends any event associated with an email address onto Klaviyo as well -- providing a richer set of events, without a developer, than Klaviyo's own Shopify event tracking. For example, you can retarget users in Segment who have purchased a certain value, or got certain products to a stage of the checkout -- all without writing a line of code. Read more about how Littledata's Segment connection works, and check out the latest updates to our Shopify source for Segment. The connection now supports analytics destinations such as Mixpanel, Vero and Kissmetrics, and email marketing destinations including Klaviyo, Hubspot and Iterable. [subscribe]
Going international? How to optimize for BFCM sales around the world
More sales might be happening exclusively online this year. And retailers might be creating their own "sales day" events. But one thing that hasn’t changed with COVID-19 is the surge in Black Friday Cyber Monday (BFCM) events around the globe. Black Friday might have started in the USA, but it’s now a popular shopping event in other countries too, especially the UK (where Littledata started). Shopify now supports multi-currency “stores” (one for each currency). In fact, Shopify Payments now supports over 120 currencies, and brands selling in multiple countries are promoting BFCM deals across all of them. [subscribe heading="Free ebook: Top 5 BFCM Benchmarks" background_color="grey" button_text="Get Your Copy" button_link="https://www.littledata.io/app/top-5-holiday-benchmarks"] Our Shopify Plus customers started preparing for these sales earlier than ever, some launching holiday promotions as early as October! Not only that, but the sales are seemingly endless. Glossy recently reported that 37% of brands will run holiday promotions for at least 8 weeks this year, and Littledata's Shopify benchmarks are already showing the signs of increased promotions: lower conversion rates but a lot more traffic, especially from social channels. (We also found last year that holiday promotions increased next season purchasing -- and I expect this trend to continue). Resources for Shopify stores doing multi-currency BFCM promotions With multiple country stores and a longer sales period, accurate data becomes even more important. These free resources will help you answer the questions in the back of your mind: are you tracking multi-currency sales correctly? 4 tips for Shopify Plus merchants selling internationally A common mistake of many companies is quickly jumping into international ecommerce without taking time to develop a proper strategy. Read these 4 tips to help your Shopify Plus business sell in a more cost-effective way. How Shopify Plus stores can set up multi-currency reporting in Google Analytics Our recommendations for what to track and how to track it. In this detailed post, Littledata’s CEO looks at the differences in analytics for single store and multi-store international setups. Multi-currency tracking for Shopify Payments Many Shopify Plus merchants rely on Shopify Payments to manage multi-currency. For those stores, Littledata's multi-currency tracking is an out-of-the-box solution to get accurate sales and marketing data. This article outlines how Littledata’s multi-currency support works for different parts of the data processing. We use Shopify’s definition of presentment currency and shop currency. Overview of automated multi-currency tracking Are you selling internationally? If you're already selling internationally, it’s important to get tracking set up correctly before BFCM. Learn how to track sales in multiple currencies directly in Google Analytics, so you can scale the smart way during the busiest shopping season. [subscribe]
3 deep dives into customer lifetime value for ecommerce sites
Subscription ecommerce has continued to scale throughout the pandemic, with consumables like beverages and meal kits rising particularly fast in North America. Shopify sites selling by subscription have always been a core part of our customer base at Littledata, and with even traditionally brick-and-mortar retailers moving online and trying out subscription ideas, we've got our hands full with new subscription sites these days. It might be easier than ever to start a subscription box (companies like Bulu have transformed the market), but getting accurate data about marketing attribution and customer lifetime value is difficult without the right data setup. So with Black Friday Cyber Monday coming up, we thought it would be useful to share some of our top posts this year about subscription analytics. Here are our top three posts this year. Enjoy! 1. How to calculate LTV for ecommerce subscriptions Lifetime value is a core metric for many online companies these days. This is especially important for ecommerce sites, because whether you're focusing on repeat purchases or actual subscriptions, marketing to (and product alignment with) the highest LTV customers can make or break a DTC brand today. In this post, our founder breaks down the basics of LTV calculations for ecommerce, focused on Shopify stores using ReCharge for subscriptions. https://blog.littledata.io/2020/01/14/how-to-calculate-lifetime-value-ltv-for-subscription-ecommerce-in-google-analytics/ 2. How to use Custom Dimensions in Google Analytics to increase subscription sales Custom Dimensions are a remarkably powerful feature in Google Analytics, often overlooked because they can be complicated to set up manually (also, they "sound complicated"). But the truth is that with a little background research, custom dimensions are easy to understand, and -- more importantly -- to apply to your daily, weekly and monthly reports in order to get a clear view of different order types, repeat purchasing behavior, and more. https://blog.littledata.io/2019/09/19/quick-tips-for-subscription-stores-using-custom-dimensions-in-google-analytics/ In this detailed post, our lead analyst dives into the complications of modern DTC brands selling a mix of product types and subscriptions. He focuses on how to reconcile differences in different reporting tools, and how to create segments and reports to fit your unique business model. After all, talk is cheap. How can you put LTV calculations to work for your business? [note]Did you know? Littledata automatically tracks first-time and recurring purchases and ties them back to the original marketing source.[/note] 3. The ultimate guide to LTV tracking In this popular guest post on the Shogun blog, we take a look at everything you need to know about LTV. When you know your LTV, you can: Know which kinds of products your high-LTV customers want more of Know how much to spend to acquire a “similar” customer and still make a profit based on their projected buying habits Promote the products with the highest profitability Increase your marketing budget and inbound efforts to attract your most profitable types of customers [subscribe]
Why does shop.app appear as a referral source in Google Analytics?
You may have noticed a new referral source appearing in your Google Analytics, or an increase in sales from the 'Referral' channel. This is a change Shopify made with the launch of the new Shop app, and can be easily fixed. What is Shop.app? SHOP by Shopify is a consumer mobile app, aggregating products and experiences from many Shopify merchants. It is heavily integrated with ShopPay, and so Shopify is now directing one-click checkout traffic to the shop.app domain instead of pay.shopify.com. How would SHOP fit into the user journey? There are two scenarios: 1. Customer is using Shop.app for checkout and payment Example journey: User clicks on Facebook Ad Lands on myshop.myshopify.com?utm_source=facebook Selects a product Logged in, and directed to shop.app for checkout Returns to myshop.myshopify.com for order confirmation In this scenario we should exclude shop.app as a referrer, as the original source of the order is really Facebook 2. End customer is using Shop.app for browsing / product discovery Example journey: User discovers product on shop.app Clicks product link to myshop.myshopify.com?utm_source=shop_app Logged in, and directed to shop.app for checkout Returns to myshop.myshopify.com for order confirmation Here, shop.app is the referrer but it will show up with UTM source How do I see the true source of the referral in Google Analytics? Firstly, you need to exclude shop.app as a referral source. Only in scenario 2 is SHOP genuinely a source of customers, and there the UTM source tag will ensure it appears as a referrer. Littledata's latest tracking script sets this up automatically. The second fix is harder. Unfortunately, at the time of writing, Shopify only sets utm_source=shop_app in the URL query parameters in scenario 2, and Google Analytics won't consider this a referral unless utm_medium is also set. So it appears under the (not set) channel. I've written a patch for our tracking script so that we set utm_medium as referral if only the source is specified, but you can also edit the default channel grouping in GA so that shop_app is grouped as a referral. Thirdly, you want to differentiate orders going through shop.app from the normal Shopify checkout. Littledata's Shopify app does this by translating the order tag shop_app into the transaction affiliation in Google Analytics, so the affiliation is Shopify, Shop App. Conclusion So if you're a Littledata customer: our app has got you covered. And if not there's a few changes you'll need to make in Google Analytics settings to make sure shop.app traffic is treated correctly.
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 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 they actuallycame 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. Wrapping up For better certainty that your analytics are fully accurate, try our free Google Analytics audit or get in touch with our Google Analytics consulting team for a quick consultation. If you're ready to give it a shot, go ahead and try Littledata free for 30 days — we'll even walk you through the app! We ❤️ analytics and we're always here to help. Quick links How to get extra support from our team of Google Analytics experts Enterprise plans to help you scale your store faster EBOOK: Why does my data in Google Analytics not match what I see in Shopify?
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?
Subscribe to Littledata news
Insights from the experts in ecommerce analytics
Try the top-rated Google Analytics app for Shopify stores
Get a 30-day free trial of Littledata for Google Analytics or Segment