Category : Shopify
Property and destination updates in our Shopify source for Segment
Over the last 6 months, we’ve continued to enhance Littledata’s Shopify source for Segment to work with any modern data stack. We have focused on providing a more comprehensive range of events and properties to sync with any destination in Segment, including email marketing tools, data warehouses, and Segment Personas. Our Segment connection uses a combination of client-side (browser) and server-side tracking to ensure 100% of your Shopify store data is sent to Segment. Littledata automatically integrates with Shopify and Shopify Plus sites to enable complete ecommerce analytics, including sales, marketing, customer, and product performance data. Recent updates include better matching with Personas, more consistent product properties, and more. Here are some highlights. Tracking plan for Segment Protocols We've written a full tracking plan and event schema, which is ready to upload into Protocols to prepare for robust data consistency in your data warehouse. Better matching with Segment Personas You can now choose which userId to use for Segment events from a standard list of common identifiers: Shopify customer ID - This is the default for new installs. Recommended if you have a simple Shopify setup with minimal integrations. Hashed email - The MD5 email hash is useful if you have other marketing platforms sending traffic where you know the email of the visitor (e.g. email marketing like Bronto or Marketo), but not their Shopify customer ID. Email - The email identifier is recommended when other platforms use the email and can’t hash it, and you are comfortable with the privacy implications. None (no identifier) - Choose “none” if user identity is already handled by your Segment implementation and you only need the extra events powered by Littledata's Shopify source. All user traits below are now being sent in the context.traits, and are synced with your CRM destinations every time the customer record in Shopify is updated. Trait Description Type createdAt The date customer record was created Date customerLifetimeValue The total spend of customer on the Shopify store Double default_address.street The customer’s default street address String default_address.city The customer’s city address String default_address.postalCode The customer’s ZIP / post code String default_address.state The customer’s state address String default_adress.country The customer’s country String description The customer notes String email The customer’s email address String firstName The customer’s first name String lastName The customer’s last name String marketingOptIn The marketing_opt_in field from Shopify customer String phone The customer’s phone number String purchaseCount The number of orders by this customer Integer state Whether the customer account is enabled (user has opted in) or disabled String tags The custom tags applied to the customer String userId Chosen user identifier, defaulting to Shopify Customer ID Double verified_email Whether the customer has verified their email Boolean Import historic Shopify orders into Segment For Enterprise Plus customers we can now import orders and refunds from before the date Littledata was connected to Segment. This allows you to build a complete customer record in destinations that support historic events, such as a data warehouse. If you are already a Littledata Plus customer, please contact your account manager to discuss setting up an order import. If you haven't yet tried Littledata or are still investigating solutions for you data stack, book a demo today with one of our data experts. [subscribe] Consistent product properties across all events We understand you need a consistent set of product properties with every ecommerce event to make analysis easier. For example, the product image URL is available within a Product Added event to make it easy to set up dynamic product retargeting campaigns. Previously, we only got the following properties from Shopify’s webhooks: shopify_product_idshopify_variant_idname (title)brand (vendor)sku And now we add these extra product properties for all events: variant (variants.title)image_url (from images..src)cart_id (only with Product Added / Product Removed)urlcompare_at_price (variants.compare_at_price) Extra revenue properties We’ve added more reporting flexibility with how we send revenue data to Segment. Specifically, on Order Completed and all Checkout events, you will now see a subtotal = (product revenue including discounts). For the Order Completed event only, your store can opt in to an additional revenue property (product revenue excluding discounts, shipping and tax) via the Littledata application. Revenue is a reserved property in many Segment destinations. Opting in will override the total property sent to Google Analytics. Supporting the Iterable email destination Iterable is a cross-channel marketing platform that powers unified customer experiences and empowers you to create, optimize and measure every interaction across the entire customer journey. With this update, when an Iterable campaign leads to an Order Completed event the event properties will contain campaignId and templateId. To get these extra properties, you will need to edit the LittledataLayer setup to track the iterableEmailCampaignId and iterableTemplateId cookies. In addition we send an email field with all events linked to a user, so Iterable and other email marketing destinations can use the events. Supporting the Google Analytics destination in Cloud Mode In Cloud Mode, Segment will send event data to Segment’s cloud servers, and from there, we will translate and route that data to Google Analytics. This reduces the amount of third-party code on your site and you will be able to replay historical data in Google Analytics. We are happy to announce that you can now switch Google Analytics connection mode to Cloud Mode to relay events to GA from Segment's servers. This will increase page performance and provide greater control of the schema. More Subscription Event Properties On Subscription Created, Subscription Updated and Subscription Cancelled events we have added: statusproduct_id = shopify_product_idname = product_titlepricequantityskushopify_variant_idvariant = variant_titleorder_interval_frequencyorder_interval_unit On the Subscription Cancelled event only we have: cancellation_reasoncancellation_reason_comments And on the Charge Failed event we added: error_type Change of product ID used in Segment events Previously, we used the product SKU for client-side events to be consistent with the GA destination. From this month, we have changed this to send the Shopify product ID as the product_id field in Segment for all events. Ability to send anonymized IP instead of full IP to Segment Segment’s AnalyticsJS library sends the whole IP address by default in Track and Page events. This is contrary to our GDPR recommendations, and we now set context.ip with the last octet (3 digits) anonymized. This still allows geolocation of the events, but ensures IP addresses are not accidentally captured in end locations.
How to get complete ReCharge data in Google Analytics [ebook]
It's hard enough for Shopify stores to get accurate sales and marketing data. And if you're selling by subscription, this can seem even more complicated. In fact, 88% of Shopify stores have Google Analytics setup incorrectly, leading to a throughput of less than 90% (for every 100 orders in Shopify, 12 or more go missing in GA). I hate to break it to you, but for subscription merchants the reality is even harsher. Many brands can't even segment out first-time purchases from recurring orders, let alone tie them back to marketing campaigns! Luckily there's now a better way. Top subscription brands use modern data stacks to get the data they need to make informed decisions. This means understanding your checkout flow, yes, but also product lists, subscription bundles, discounts, returns, subscription lifecycle behavior, and top marketing channels for higher LTV customers. In this new ebook on ReCharge analytics, we show you how to do just that -- no developer skills needed! Free ebook on ReCharge analytics best practices Subscription analytics are a beast, and too many brands make one of these three common mistakes: Procrastination. "We know we have a data problem but will fix it next quarter...year...never..."The wrong tools. "We bought a fancy new dashboard, that will solve everything, right?" or "We bought this subscription analytics tool that works really well for SaaS companies. Why isn't it working well for ecommerce?"Completely manual approach. "Excel is my full-time job. I don't have time for data-driven growth." Top brands use modern data tools to tame the beast of analytics. In this new ebook, you'll learn how to get the data you need to accelerate growth. See how to automatically capture data at every turn: Track one-off orders and first-time subscriptionsTrack recurring payments and tie them back to the original marketing channelCalculate customer lifetime value ("CLV" or "LTV") and build more valuable cohortsCapture subscription lifecycle events like "Subscription updated"Get accurate marketing attributionUltimately make better decisions for your store Download the free ebook >>> Learn more about what you can track with Littledata's ReCharge connection. [tip]Advanced users can also now send data directly to Segment (and any connected data warehouse, email marketing platform or reporting tool).[/tip]
For every 100 orders in Shopify, 12 go missing
If you’re using Shopify’s default Google Analytics tracking you might have noticed that the revenue in Google Analytics never matches what you see in the Shopify dashboard. This is a big problem: missing orders means orders that can’t be attributed to marketing campaigns, whether those channels are paid or organic. Littledata’s improved Google Analytics app for Shopify increases order throughput to Google Analytics from worse than 90% to better than 99.9% -- and it works automatically in the data layer. How big is the problem? We sampled a set of larger DTC brands on Shopify, together processing 50,000 orders a month through a standard Shopify checkout. Looking at a month of traffic, we compared the paid orders for these Shopify stores with the Thank You pages tracked in Google Analytics. Remarkably, only 88% of orders were tracked on average, ranging from 78% tracked in the worst store setup to 96% in the best store. That is a big loss. For every 10,000 orders processed, 1,200 were going missing. Assuming each of those customers cost $50 to acquire, that is $60,000 of marketing spend which can't be attributed to sales. Whatever the CAC for your ecommerce brand, you can’t afford to miss significant data like this about transactions, not to mention the marketing campaigns that led to those sales in the first place! For every 10,000 orders processed, 1,200 went missing Revenue aside, what about those 1,200 customers who are likely still being retargeted by abandoned checkout campaigns, even though they did complete the checkout process? There is a good case to be made for remarketing to your best customers for upsells, cross-sells, referrals and more. But remarketing to your new customer base as if they never made a purchase is certainly bad business. And it gets worse. When I looked at 10 stores that have non-standard checkout setups, using apps such as ReCharge or CartHook, the percentage of orders tracked (excluding recurring orders) ranged from a pathetic 9% up to a disappointing 70%. Shopify’s order tracking relies on customers seeing the Shopify Thank You page, and many other checkouts do not immediately redirect there. What are the main reasons for missing transactions in Google Analytics? Littledata has had five years of experience debugging GA tracking, so at this point we’ve pretty much seen it all. In fact, it's the most common question our sales team hears: why doesn't my data in Shopify match my data in Google Analytics? The ecommerce ecosystem is constantly evolving, including headless setups and subscriptions in the Shopify checkout. But some things remain the same. The most common problem areas for disappearing orders are: 1. Users not waiting for the Thank You page to load Many tech-savvy buyers know that your store will email them an order confirmation, so if they’re in a hurry - and the thank you page takes a few seconds - why should they wait? This is especially true with payment gateways like PayPal, which have their own payment confirmation page. 2. Thank you page overloaded with marketing tags Most order tracking relies on a script to fire on the thank you page, and if your store has lots of these scripts then it could take 10+ seconds before the crucial Google Analytics script is run. Customers won’t wait 10 seconds to see a page which has no value for them. 3. Draft orders paid at a later date Does your store create draft orders? This is more common for B2B stores, and means the order is completed well after the customer web session finishes. That means no thank you page, so no way to track the orders in a standard GA implementation. 4. Third-party checkouts That Thank You page on Shopify may never appear at all if your store uses third-party checkouts. 5. Recurring orders Like paid draft orders, recurring orders are payments that happen outside of the customer’s web session. The user never goes through a checkout or sees the thank you page. 6. Duplicate tracking Refreshing the order confirmation page, or clicking through on an order confirmation email to view the page again, might cause another transaction event to be fired from the page. [tip]Get the free ebook about why Shopify doesn't match Google Analytics[/tip] How is Littledata’s tracking different? Littledata offers server-side order tracking, hooking into the order creation in Shopify after the payment has been made. That allows us to track draft orders paid after the event, recurring orders, and orders through channels like Amazon that don’t use the Shopify Checkout. It also allows us to add refunds back in real-time, so you can track net sales against marketing channels. Littledata de-duplicates all orders, so an order is only ever reported once - giving a 100% match with what is in Shopify admin. Server-side tracking ensures complete analytics If you want to compare like-for-like, as I did for this article, our app also sends a ‘Thank you page’ event (in the same way the order tracking done in Shopify’s standard setup). This event can also be used to trigger Google Tag Manager tags, using the built-in GTM data layer. Interested in improving your Google Analytics setup? You might be interested in 6 common reasons why GA is not accurate and how Littledata’s Google Analytics app works. [subscribe]
Track CartHook upsells and downsells in Google Analytics
We're excited to announce a major update to our popular CartHook connection for Shopify stores. The connection now offers complete CartHook checkout tracking for landing pages, upsells and downsells. [note]The update discussed here applies to CartHook’s legacy checkout product. If you are using the new CartHook Post Purchase Offers app that’s native to the Shopify checkout, you can just use Littledata's main Shopify to Google Analytics connection and do not need to activate the CartHook connection[/note] The updated CartHook integration includes a number of new events and increased precision. In addition to the sales data and marketing attribution that we were already sending to Google Analytics, you can now automatically track 100% of custom upsell and downsell funnels. Advanced Google Analytics integration for the CartHook checkout productCaptures every checkout event, such as when a shopper accepts or rejects a one-click upsell offerAutomatically synced with Shopify and ReCharge checkout stepsEasy installation from the Shopify app store, or directly from your CartHook admin [subscribe] Whether on Shopify or Shopify Plus, successful DTC brands use CartHook to increase AOV with custom post-purchase offers. But how do you know which marketing channels are working best? And which custom offers are leading to the highest value customers over time? Are some downsell offers more valuable that upsell offers over time (do they lead to more devoted or higher-LTV customers)? To help answer these types of questions, Littledata combines client-side and server-side tracking to give you a complete, unbiased view of shopping behavior, from the first visitor touchpoint through every interaction with your brand or checkout. The latest version of the CartHook connection adds upsell and downsell tracking, offers a custom option for Thank You page tracking, and works in tandem with other Littledata app improvements such as how we track the Shopify checkout funnel. Read more about the events we track for Shopify stores and the additional events we track for CartHook. Additional resources: Quick overview of the CartHook connectionDemo video about how Littledata worksAll of our current connections and integrations [tip]Current CartHook connection users will automatically get the enhanced tracking - no additional action is needed on your part! [/tip]
Littledata featured in new Shopify App Store collection
Happy 2021! We are excited to announce that Littledata's Google Analytics app for Shopify stores is featured in a new Shopify App Store collection called Plan for what's next. As ecommerce continues to scale at lightning speed, planning for growth (and how to beat the rising tides of DTC competition) is on everyone's mind this year, so we couldn't be happier with the timing for this app store promotion. Google Analytics by Littledata is one of the top-reviewed apps in the app store. Benefits include: Complete sales trackingMarketing attributionAdvanced tracking for apps like ReCharge and CartHookCustom dimensions for tracking payment gateways and customer lifetime value (LTV)Own the data in Google Analytics The Shopify App Store ecosystem has grown quite a bit since we launched our first Shopify app there in 2017, and it's always nice to be promoted internally by Shopify to reach even more merchants that could benefit from complete ecommerce analytics. The app store has evolved, but it's still all about apps that work well together, whether you're selling by subscription or going headless. If you're serious about data-driven growth, it's time to give Littledata a try. Start a 30-day free trial today and say hello to accurate data. View the new collection in the Shopify App Store >>> Learn more On Shopify Plus? Running multiple country stores? Learn more about Littledata's plans and pricingExplore Littledata's connections with other popular Shopify apps, including ReCharge, Bold and CartHook (plus automatic integrations like Klaviyo)Read technical documentation on Littledata's GTM and Google Analytics data layer for Shopify stores
Product update: Shopify Order Names
We are pleased to announce a product update for how Littledata tracks unique identifiers for Shopify orders. Previously Littledata passed orders from Shopify to Google Analytics (or Segment) using only the order number (Order ID). Shopify offers the ability to add a prefix or suffix to this number to create an order name, and we now support Shopify Order Name tracking in addition to Shopify Order ID tracking. You can now choose between tracking either the Shopify Order ID or Shopify Order Name, and Order Name tracking is the default for new installs. Read on to see what's changed, and why we made the shift. What was the problem with tracking order numbers? There is nothing wrong with tracking order numbers per se, but for some Shopify stores -- especially larger brands on Shopify Plus -- it's often more useful to track the complete order name, which includes a particular prefix or suffix. Brands running multiple Shopify stores in local currencies often want to analyze total sales across geographic operations, while also segmenting by individual stores. This is useful whether or not you are using a rollup property for data analysis. With only order number tracking, there were two options: The largest brands, running GA 360, could set up a different web property for each store and then a 'rollup property' for all the stores. This option is expensive.The brand could send all the web orders to one GA web property, and then create filtered views based on the hostname the order was made on. But this didn't work for non-Shopify checkouts, such as ReCharge, where the hostname did not vary by store. So Littledata built a third option, order name tracking, which makes it easier to track multi-currency sales in GA and other data destinations, and also ensures no clashes with order numbers from non-Shopify systems. How to change the order ID format for your Shopify store Shopify and Shoify Plus merchants can change their Shopify order numbers to include a particular prefix and/or suffix. If you want to make this change, go to Shopify Admin > Settings > General > Standards and formats. Here you can configure a prefix or a suffix to every order, unique for that store. While you can't change the order number itself, you can add this default info to make it easier to see and segment your orders. For example, if you are selling in the US and the UK, you might want to add country-type prefix to your orders, such as 'US' and 'UK' to those country stores. Then your orders will come through with order names such as 'US1792' and 'UK1793'. [subscribe] How to enable Order ID or Order Name tracking in Segment or Google Analytics Shopify Order Name tracking is now the default. So if you installed Littledata after 19th October 2020, then you will already be using order names. This applies to both our Segment connection and our Google Analytics connection in the Shopify App Store. [note]If you installed Littledata after 19th October 2020, then we will be tracking the Shopify Order Name by default. You can change this in your Littledata Settings.[/note] If you installed Littledata before 19th October 2020, we will be tracking Shopify Order ID by default. You can check which unique order identifier we're using for your store, and make any necessary changes, directly in the Littledata admin. Go to Settings > General on the bottom leftUnder Unique identifier for all orders, select either "Shopify Order ID" or "Shopify Order Name"Click Save We will then pass the order information in your chosen format. How to use the data in Google Analytics Order identifiers offer a broad range of reporting and analysis possibilities in Google Analytics and connected analytics dashboards. Here's the ecommerce Sales Performance report showing orders including the prefix appearing in Google Analytics. If you are operating multiple country stores and using Littledata for multi-currency tracking, you will see different prefixes here for each currency. You can also create a segment including only orders with that prefix, by filtering by Transaction ID. What's next We are constantly enhancing Littledata's functionality. This year we have introduced a range of general updates and a new version of our Shopify to Segment connection. If you are setting up a raw data pipeline, we also now offer a Measurement Protocol connection for use with a range of ETLs, data collection platforms (like Snowplow) and data warehouses (like Google BigQuery). Check out our release notes to stay up to date, and don't forget to browse the complete documentation in our help center.
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.
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