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]

2020-11-25

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]

by Ari
2020-11-19

Why doesn't Shopify match Google Analytics? [webinar]

Have plans this Thursday? Join me, Tamas Hanko, in a new webinar about why Shopify data doesn't always match Google Analytics -- and how to fix this. In this free webinar on Thursday, November 19th, hosted by our partners at Prisync, we will dive deep into the waters of Shopify and Google Analytics, and look at how to make this data play well together to power your ecommerce sales and marketing. There are lots of reasons why Shopify and GA might have a mismatch, and we'll run through the common ones plus a few outliers. Every site is unique, but there are common setup and tracking issues, especially with Shopify's checkout. In this free presentation, you will learn: Common issues with making Shopify data match Google Analytics dataUnderstanding the differences in how metrics are calculated in Analytics and ShopifyWhat server-side tracking can (and can't) do to help fix these issues Reserve your free spot today Can't make the live webinar? Sign up anyway and we'll send you a recording after the session. You can also check out Littledata's free ebook on Shopify and Google Analytics.

2020-11-16

What's new in v2 of our Shopify source for Segment

We've a built a loyal following for our Shopify to Segment connection, and this month we've rolled out the next version, v2, with new events and enhanced functionality. As Shopify and Segment both continue to see unprecedented growth, Littledata is here to ensure accurate data at every ecommerce touchpoint. We've seen a surge in DTC and CPG brands on Shopify Plus that rely on Segment to coordinate customer data across marketing, product, and analytics tools. We have continued to develop our Segment integration to fit all of these use cases. [note]If you installed Littledata's Segment connection previously, please contact us to add the v2 events.[/note] About Segment v1 Last year, we worked with Segment to create a robust Shopify source for Segment users. The aim was to make everyone's job easier, from CTOs to ecommerce managers. Littledata's Segment connection v1: Captures all customer touchpoints on your store, both pre and post checkout Sends data to any of Segment’s hundreds of destinations Works seamlessly with Google Analytics Uses a combination of client-side and server-side tracking to capture browsing activity, orders and refunds Sends user fields for calculating customer lifetime value [subscribe] What's new in Segment v2 Since we launched the first Shopify app for Segment in May 2019, we have continued to make improvements based on user feedback and new use cases. The latest version of our Shopify source for Segment offers several updates and enhancements, including support for email marketing around order fulfilment events; tracking for a range of new order and payment events, including POS orders and order cancellations; and alias calls to support additional analytics destinations such as Mixpanel and Kissmetrics. Fulfilment status Many of our customers use Segment events to trigger transactional emails on platforms like Klaviyo and Iterable. One key email that stores want to customize is the 'Your order has shipped' fulfilment email, and so we now trigger a Fulfilment Update event when the fulfilment status of an order changes. This event includes status, tracking_numbers and tracking_urls (where the shipping integration allows), so the transactional email can include actionable details for the end user. These events can also be used in analytics destinations to look at fulfilment trends by product, or see how marketing campaigns around shipping match real-world delivery times. Support for email marketing Email marketing destinations such as Klaviyo, Iterable, and Hubspot, cannot use an anonymous identifier -- so our Segment connection now sends an email property with all events (when it is known), usually from checkout step 2 onwards. Where the email is captured on landing pages (e.g. popup forms) we also send this with the Product Viewed and Product Added events, to make it easier for you to run retargeting and engagement campaigns. Support for Kissmetrics & Mixpanel destinations To support seamless customer tracking in analytics destinations such as Mixpanel, Vero and Kissmetrics, Segment requires an extra alias call. Littledata ensures the pre-checkout anonymousId is added as an alias of the userId (used from checkout step 2 onwards). Learn more in our developer docs. Customer account creation On Shopify, every checkout (even as a guest) creates a customer record. This was already passed on to Segment with an Identify call and a Customer Created event. However, it is useful to know when this customer creates a password and creates a verified account with the store. For example, some brands use this event to trigger welcome emails or offer discounts. With Segment v2, we now send a Customer Enabled event when the user has confirmed their email address and created a Shopify customer account, with verified_email set as true. Payment of draft orders Some stores (especially B2B brands and wholesalers) create draft orders which are later paid. From November 2020, Littledata's Segment connection triggers an Order Completed event whenever these draft orders are paid, linking them back to the user session when they were created. POS orders Previously POS (point-of-sale) orders were excluded from Order Completed, as this polluted the revenue attribution in Google Analytics or other Segment destinations. However, as Shopify POS and other POS orders have become more popular, we now send a separate POS Order Placed event, so you can track the POS orders and choose whether to add them to your web orders. Payment failure After a customer goes through your checkout and completes an order, there is still a chance the payment fails, usually due to fraud checks. A new Payment Failure event allows you to track these failures, and see if they are more associated with particular marketing campaigns, geographies, products, or other factors. Order cancellations If the admin has cancelled an order, perhaps due to the product being unavailable, an Order Cancelled event is now triggered (including the cancel_reason). This is useful for both tracking/analysis and re-engagement campaigns. Product properties Last, but certainly not least, we've expanded the range of product properties sent with every product for better segmentation. Details such as shopify_variant_id, category and brand are sent with all client-side events and most server-side events. For more information, read our developer docs or schedule a demo today with an analytics expert.

2020-11-04

Measurement Protocol connection for Shopify stores

We are excited to announce the beta release of a new Measurement Protocol connection for Shopify stores. As we continue to optimize Littledata for Shopify Plus, our team is always on the lookout for ways to help larger brands ensure a complete data pipeline, whatever your data stack might look like. Being able to send server-side events is one of the core benefits of the Google Analytics Measurement Protocol, so it was a natural next step to extend our advanced tracking for Shopify stores to work in a more flexible way for advanced data teams. With the beta release of this new connection, Littledata is now extensible for a range of ETLs, data collection platforms (like Snowplow) and data warehouses (like Google BigQuery). [subscribe heading="Learn more about Littledata Plus" button_text="learn more" button_link="https://www.littledata.io/app/enterprise"] Our new Measurement Protocol connection makes it easy to get complete sales and marketing data, just as you would with Littledata's Shopify to Google Analytics connection, but in a data warehouse of your choice. Benefits include: Capture and send complete client-side (browser) and server-side events, in a unified format, following the Google Analytics standardSpecify any endpoint for data collectionRelay exactly the same events as you see in Google AnalyticsExport real-time data to Google BigQuery, without paying for GA 360Pipe into a data warehouse using tools such as OWOX and Snowplow Read the developer docs here. The connection is currently in private beta for Littledata Plus customers (Plus and Enterprise Plus plans). Please contact us for early access.

by Ari
2020-10-28

Events this week: Shoptalk, Episode 1, IDEAS

It might still be the era of COVID, but online events are in full swing. This week Littledata will be at a number of virtual events for partners, investors, and data scientists. Here's a quick overview. We were busy with customer-focused events in September, and also saw a surge in new customer reviews (coincidence?). In any case, October is turning out to be focused on events around strategic planning -- good timing with our current job openings and upcoming funding round! IDEAS Global AI Conference IDEAS has put on a number of events and hackathons over the years, but none is more popular than their Global AI conference. Littledata CEO Edward Upton is speaking at this year's global conference today. He'll be looking at the technical aspects of how to track and model customer lifetime value for ecommerce sites, especially those with a mix of one-off and subscription revenue. The Seed Stage pitch event from Episode 1 We're excited to pitch at The Seed Stage this week, a unique pitch event organized by Episode 1, a seed stage Venture Capital fund based in London. What makes it unique? It's a demo-day-like experience, but outside of the accelerator context. Clearly there's a lot for interest in this type of event, as the last event included five funds in addition to Episode 1: True, Playfair, Fuel, Ascension, JamJar, and Wayra. It was an honor to be selected to participate -- apparently there were more than 800 applicants for 20 slots -- and we look forward to continuing conversations both during and after the virtual event. Shoptalk Meetup Everyone in the DTC community looks forward to Shoptalk, so we were really excited to see the new format for Shoptalk Meetup, an entirely virtual event. As Shoptalk pitches it, Shoptalk Meetup is retail's "first digitally native event." Just as ecommerce has adapted at lightning speed in response to the pandemic, with new features, apps and functionality to help brands reach customers outside of traditional shopping experiences (eg apps for coordinating curbside pickup), the events industry has adapted as well. Our partner organizations like SUBTA have helped create meaningful online interactions with new virtual event formats this year, and with Shoptalk Meetup we have an event that is entirely based on live meetings. They've put together a fantastic guest list of brands, retailers, tech partners, analysts, and agencies, and we're looking forward to connecting with Shopify Plus brands, media outlets, and a lot of old friends and colleagues! Will you be at Shoptalk? Let us know on Twitter.

by Ari
2020-10-19

Going headless while keeping your Shopify Plus stack

It seems like everyone's considering going headless lately. What do you need to know before you make the leap? This year, in addition to optimizing Littledata for Shopify Plus (including headless Shopify setups), we have extended our headless tracking to include ReCharge and Segment in addition to Google Analytics. And we have collaborated with Nacelle as our preferred tech partner for headless builds. Led by CEO Brian Anderson, Nacelle has raised around $4.8M in funding so far, including angel investment from Shopify and Klaviyo execs. A growing number of successful online brands seeking to go headless are using Nacelle for the build and Netlify for deployment, and it's been great to see remarkable performance improvements with shared customers like Ballsy, who saw a 28% conversion rate increase across the board after moving to a headless Nacelle setup with Littledata for analytics. So we were excited to contribute some ideas to the new Nacelle ebook on how to get the headless experience without overhauling your Shopify Plus tech stack. If you are using Shopify Plus (or planning a migration), we highly recommend downloading the free guide and sharing with your team internally -- as well as any external partners like ecommerce agencies and growth consultants. In the free guide, you’ll learn: How a headless PWA works in combination with top solutions including Shopify Plus, email, SMS marketing, reviews and user-generated content, affiliate marketing, subscriptions, analytics, and customer serviceWhat industry leaders in these respective categories have to say about going headless and enhancing functionality (including Littledata for analytics and some of our long-term partners like ReCharge for subscriptions and Refersion for affiliate sales)Real-world examples of merchant success To learn more, download the free guide from Nacelle. What about headless tracking? At Littledata, we do not see headless ecommerce as a passing fad. PWA tech has caught up to the needs of larger DTC brands, who want best-in-class technology at each customer touch point (eg. social microsites, one-click subscriptions, multi-currency payments, upsell funnels) alongside custom design and a deep cross-device user experience to match their brand story. As Nacelle explains, headless ecommerce now offers the possibility of not just integrating your current tools but actually improving the functionality of your Shopify Plus stack. Together we can build a shopping experience that is better, faster, more reliable, and more highly personalized. But without server-side tracking, getting accurate data about your headless Shopify setup can be extremely complicated. Check out our headless tracking demo to see how to automatically get complete sales and marketing data about your headless Shopify site in Segment or Google Analytics.

by Ari
2020-10-13

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.

2020-09-22

Try the top-rated Google Analytics app for Shopify stores

Get a 30-day free trial of Littledata for Google Analytics or Segment