Is your Shopify cookie banner GDPR compliant?

A new set of privacy rules have transformed companies' online relationships with European clients. General Data Protection Regulation (GDPR) is here to stay, and whether you currently trade in Europe or plan to in the future, you need to make sure your website cookie usage complies with it. Fail, and your company could face some very big fines. How big, you ask? The penalties for getting GDPR compliance wrong are huge: the greater of €20M or 4% of your company's annual revenue. In one case, Vodafone Spain received €8M in fines in 2020 for violations relating to improper marketing data usage. The good news is that Littledata has you covered; GDPR compliance is as easy as installing our app. We'll show you exactly how Littledata helps you comply with GDPR and protects you from a major financial headache. But first, let's dive into the details of GDPR for ecommerce sites: how it works, what good and bad compliance look like, and how to check that your store is GDPR compliant. How does GDPR govern cookie usage? The European Union ePrivacy Directive (2009), together with GDPR (2018), make it compulsory to ask European internet users for informed consent before using cookies to store their personal data. In other words, a user needs to opt-in by clicking on a cookie banner or popup before a website can track their activity with analytics tools. This also gives the user the right to opt-out of their previous consent for cookie usage, and stop any tracking (known as revocable consent). How does GDPR cookie consent affect Google Analytics tracking? Each time a user triggers the Google Analytics script to load on your website, it adds a cookie (the _ga cookie) with an identifier to track the user across multiple pages and sessions. Next, it sends that cookie identifier to Google's servers, along with each page view and event. To be compliant with GDPR, you can't allow Google Analytics to add that cookie before the user has opted in. The problem here is that many online stores track users on Google Analytics before they consent to cookie usage. If they didn't, they could lose valuable marketing attribution by not tracking the user after they opt in. Littledata now has an easy way to get this right. How cookie banner consent should work Right now, the most common way to get informed consent from a user is to show them a cookie banner or popup explaining that your store uses cookies, then allow them to accept or reject being tracked. See this webinar for more discussion on the legality of different wording and displays you can use. Shopify's app store lists many such cookie banner apps, but just having the Accept Cookies button is not enough. Remember, you need to make sure that you do not track users before they opt in. To use the example given by Shopify's own banner app, when a visitor first lands on Kay Nine Supply's website they're shown a banner, and any tracking or setting of cookies has to wait. After the first page of the visit loads, the user has a choice: OK or No thanks. Users who click OK can be immediately tracked (even though it happens after the page load), and users that click No thanks must not be tracked. How Shopify's Customer Privacy API helps with cookie consent Shopify recognized stores had a problem trying to integrate with these myriad cookie consent apps. So, they created a Customer Privacy API where apps can share whether and when the user consented to be tracked. If you want to integrate Littledata's tracking with your cookie consent app, you need to make sure it's using this Customer Privacy API. That way when the user clicks to consent or not, their choice is shared first with Shopify, then with Littledata's tracking script. You will also need to change your store settings so that your store waits for the user to grant consent before tracking. Here's how to set that up: In your Shopify admin, click Online Store. Click Preferences > Customer privacy. Click Limit tracking for customers in Europe. How to configure Littledata to use the Customer Privacy API If you're already a Littledata customer, you can change to respectUserTrackingConsent in the LittledataLayer settings. We don't enable this by default due to the changes below. Our tracking script waits for the user to grant consent, then whenever that happens — on the first page or later — we send the tracking calls to either Google Analytics or Segment. The downside of GDPR cookie compliance for marketing attribution Complying with GDPR does come at a cost to marketing attribution, which is why Shopify and Littledata let you opt into this feature. For example, if your landing page contains UTM parameters in the link to track a campaign, and the user does not consent to tracking, then you will lose the source of the user's visit. If the user continues to checkout and purchase, Littledata's server-side tracking will record the sale without any link to the marketing campaign which brought them. In Google Analytics, these non-consenting users will appear in the "Direct" marketing channel (although in a future feature we are planning to clarify that they Opted Out). In reality, most users do consent for sites to track them, so this feature will limit but not remove all marketing attribution in Google Analytics or other tools. What more can your store do to comply with GDPR? Many of the cookie banners I've seen lack an option for the user to revoke consent or adjust their preference after the first page. I don't believe this has been tested in court, but some stores may want to go further and use a tool such as OneTrust PreferenceChoice to give users finer control over which cookies they want to allow and when. Littledata also integrates with OneTrust, making use of Shopify's Customer Privacy API. So, when the user consents to 'Cookies for performance' (category 2), we will start tracking on Google Analytics and stop when the user revokes consent. This requires the addition of another script. Here's an example of OneTrust setup with Age UK. When the user clicks "Accept all Cookies" Littledata's tracking starts. Then, if the user opts out of "Cookies for performance," the tracking stops. How does cookie consent relate to CCPA compliance? The California Consumer Protection Act (CCPA) does not require you to get cookie consent prior to tracking. CCPA does require stores to disclose what data they collect through cookies and what they do with the data (i.e. in your cookie policy) so users can opt out of their data being sold. Since there is no way you can sell personal data from Google Analytics, CCPA doesn't apply here. How can you check if your store is GDPR compliant? You'll need to be familiar with Chrome's developer tools to run these checks. Firstly, open your store landing page in an incognito window to make sure no cookies were previously stored. Next, leave the cookie banner or popup open and check that there is no _ga cookie... ...and that there is no network request to Google Analytics by searching for collect URL that Google uses: Then click to "accept cookies," but stay on the same page. You should now see: 1. The _ga cookie is present 2. A network request is sent to Google Analytics Didn't pass all these checks? Then you'll need Littledata's help to avoid those GDPR fines.

2021-06-18

Does Littledata work with Google Tag Manager?

Google Tag Manager (GTM) is a popular solution for adding marketing tags to your ecommerce website. But, it can be complex and time-consuming to set up — not to mention the cost and hassle of ongoing maintenance. Using Littledata’s direct analytics connectors helps you avoid this hassle by replacing GTM tags on your Shopify store. We also provide a GTM data layer for reuse with less common marketing tags. For many ecommerce stores, including larger Shopify Plus brands on Littledata Plus plans, Littledata eliminates the need for custom GTM setup by automatically tracking common marketing channels and ecommerce checkout flows. The same is true for DTC subscription brands, as Littledata's tracking automatically integrates with apps such as ReCharge, Bold Subscriptions, and Ordergroove. To show you how Littledata can replace GTM for your store, let's look at the situations where it replaces GTM and what you get from the tool itself. When will you not need Google Tag Manager? As more DTC brands move to streamlined ecommerce platforms such as Shopify and BigCommerce, they are looking for automated tracking solutions instead of custom tracking plans. Littledata’s connections easily replace GTM tags for: Google Analytics Google Ads Thanks to our robust, server-side tracking, you no longer need to maintain tagging for these data destinations. You can also forget worries about breaking the data layer and tags or tagging system when you change store themes. Plus, Littledata’s Shopify source for Segment can relay data to hundreds of additional destinations, replacing GTM for many use cases. For example, our recent updates include support for a broader range of data destinations, such as email marketing tools and CRMs. When will you still need Google Tag Manager? Any further marketing tags (e.g. Pinterest, TikTok, Twitter) will still need to be set up in Google Tag Manager. If you are on a Littledata Plus plan, we can help set up those tags to ensure accurate tracking for these additional marketing channels. We're working on rolling out better support for Facebook's Conversions API soon. This is essentially a server-side Facebook Ads connection, so we're excited about the possibilities. In the meantime, we have an out-of-the-box Facebook Pixel connector in the Pixel Perfect app. What Google Tag Manager triggers are available with Littledata? Littledata’s tracking script for Shopify stores adds lots of detailed events which you can use to build funnels or trigger other marketing tags in GTM. For this client-side tracking, we support all the standard ecommerce events except for add to cart (which is hard to track on the browser) and checkouts. [tip]From add-to-cart through the checkout, Littledata uses server-side tracking. Learn more about how this works for the Google Analytics and Segment destinations[/tip] So for GTM triggers, Littledata does support: Product list viewed Product list clicked Product detail viewed Thank you page Customer login We enable this additional event tracking because most marketing platforms need specific ecommerce data to enable retargeting ads, not just the page views. With Littledata, every time something triggers one of these events on your storefront, our script adds the associated product data to the GTM data layer like this: { "event": "view_item", "ecommerce": { "detail": { "products": [ { "id": "AD-01-white-5", "name": "ADIDAS | SUPERSTAR 80S", "price": "170.00", "brand": "ADIDAS", "category": "all", "variant": "5 / white", "list_name": "/products/adidas-superstar-80s", "handle": "adidas-superstar-80s", "shopify_product_id": "4169037742142", "shopify_variant_id": "30293803139134", "compare_at_price": "0.00", "image_url": "https://cdn.shopify.com/s/files/1/0197/3698/5662/products/44694ee386818f3276566210464cf341.jpg?v=1571736156", "list_position": 4 } ] } }, } This helps with both marketing analysis and retargeting, as you can drill down to product-level data. Advanced users can get even more specific with GTM variables. What Google Tag Manager variables are available with Littledata? Littledata’s tracking script fetches product and customer data from Shopify and makes it available in the GTM data layer events (or the window.dataLayer array). To take advantage of this data, you can use GTM variables. What is a GTM variable? Google defines GTM variables like this: A variable is a named placeholder for a value that will change, such as a product name, a price value, or a date. We make it easy to choose the right variable for your tag using our GTM variable template. Common variables such as product SKU, price, and category are available with all product events. You can view the full list of variables here. [subscribe] What's the best practice for using Google Tag Manager with Shopify? Google Tag Manager works by first building a single container of all the triggers, tags, and variables, then loading that container on every page. This makes it easy to maintain, but on the downside every extra tag you add to the container increases the first-time page load speed for every visitor. Container bloat also makes GTM hard to maintain, as making a change might impact a lot of other tags. To keep your GTM container small and lean, we recommend you: Reuse variables across different tags where possible Reduce the amount of custom JavaScript variables (having a consistent data layer helps) Regularly review GTM to remove unused tags (quarterly works for most of our clients) If you have different country stores with very different marketing tags required, you might also consider having a different GTM container for each store and reusing Littledata's GTM variable. Is using Google Tag Manager on your Shopify store secure? I've written before about how to prevent GTM being hacked, and the tips are still relevant today. In short, GTM can be a security vulnerability — especially when you let untrusted 3rd party tracking providers load their own script on your checkout pages. You can reduce the risk by having a developer review your GTM setup and being especially careful on checkout pages. What's next for Littledata's Google Tag Manager support? We regularly add new events and properties to better support tagging, so please contact us if you have suggestions. We are also looking at supporting server-side GTM (sGTM). Server-side tagging has the advantage of reducing the code loaded onto web pages (see best practices above) and handles customer data more securely. Littledata's servers already process sensitive customer data on our servers, so server-side GTM is a good fit with our philosophy of making tagging more robust and secure. In the meantime, I recommend you check out the Shopify to Segment connection, which provides these same server-side benefits without maintaining your own servers to host the tracking.

2021-06-15

Learn more about your ecommerce customers' behavior with advanced checkout funnel analysis [VIDEO]

Ecommerce analytics are tricky to begin with. Add tracking your subscription services on top of that and you’re dealing with a whole other animal! Do you use Google Analytics to report on your Shopify store’s one-off purchases AND recurring orders? Check out our video on Littledata’s advanced checkout funnel analysis to find out how we’ve made subscription analytics easy. https://youtu.be/EU3Cj2Z6AII Traditional ecommerce stores typically track one checkout funnel per property. The benefit is that this makes it easy to analyze the drop-off at each point. But, if you have multiple checkouts to track one-time orders and subscription purchases, important insights might go unnoticed when GA aggregates your data. Littledata automatically differentiates between your checkout funnels to show whether they’re subscription or one-time purchases. That way you know exactly what each funnel’s checkout completion rate is for different order types. This gives you the power to tailor your remarketing strategies for specific checkouts or products, further increasing your ads’ relevance to possible customers. Note: Do you trust your subscription tracking? Get accurate subscription tracking with the ultimate ReCharge guide for Shopify Littledata integrates with the top subscription ecommerce apps—including ReCharge Payments, Bold Commerce, and Ordergroove—and automatically tracks both Shopify and subscription checkouts. “Littledata is a must-have if you’re running Recharge and Shopify; it helped us figure out what channels were getting us our future subscribers and what helped convert them.” —Better Way Health To access your checkout reports in Google Analytics, go to your ecommerce analysis reports. From there, you can view your checkout behavior reports to get a general understanding of when users are dropping off throughout the checkout process. Find out how to segment your data between Shopify and subscription checkouts to measure the exact drop-off rate at each stage of the checkout process for each checkout funnel in our latest learning video. Capture data at every turn In addition to tracking your checkout funnel completion rates for subscription checkouts, Littledata tracks crucial sales and marketing metrics, so you can:  Get accurate marketing attribution data for subscription revenue, including first-time payments and recurring chargesUse custom dimensions to measure customer lifetime value (LTV)Track performance by payment source, subscription plan type, and product categoryView complete sales and marketing data with combined server-side and client-side trackingMake better, informed decisions for your Shopify store Resources Watch a quick demo video on how Littledata worksFind out how to calculate LTV with Google AnalyticsDownload the ultimate guide to subscription trackingCheck out our ReCharge FAQSubscribe to our YouTube Channel for more videos about analytics

2021-06-08

Why work at Littledata?

Many of us have a similar idea when picturing the perfect job. A role with opportunities to grow, a stimulating work environment, caring coworkers and, of course, a reliable income that we feel meets our value. Finding that ideal fit, however, isn’t easy. That’s true for companies looking to hire the perfect candidate, as well. In the end, it comes down to a focus on company culture. One where employees lift each other up. Where each team member feels valued and sees how their work adds to the company’s overall goals. Our team at Littledata spans across the globe, but we’re still a very tight-knit group. We believe that comes from our commitment to bringing on team members who fit their role both technically and culturally. Finding that perfect fit is challenging when we’re competing against industry giants for our top candidates. There’s no denying that there are lots of perks to working at a big tech company like Apple or Google. But working for a successful analytics startup like Littledata has many special perks of its own. Not least of which is that everyone’s voice is heard, and every team member contributes key ideas to our product growth and partner community. "We work toward shared goals at Littledata, and that's been a key to both customer success and employee happiness," says Littledata co-founder Ari Messer, who leads our remote US team. Any one of our employees could have just as easily joined a bigger company, but chose Littledata instead. And they choose Littledata, again and again, every day. We asked our team why they decided to work at Littledata and what they love most about being a part of our family. Here are some of the top reasons they gave us, in their own words. If Littledata sounds like a team you’d like to be a part of, we want to hear from you. We list our open opportunities on our careers page. Don’t see the right fit? Stay in touch for future roles; we're scaling quickly and new job opportunities pop up almost weekly. Great work begins with great values Our core company values have remained the same since launch and continue to guide our proverbial ship. They weave throughout our day-to-day work, team offsite trips and design sprints, and continue to play a massive role in our success. Littledata founder and CEO Edward Upton defined these values early on, and they remain an essential part of our work culture. 1) New technologies Littledata is a next-gen data connector. We develop super-fast analytics apps using the latest web services and tools. Our apps empower top direct-to-consumer (DTC) brands to use modern data stacks without sacrificing speed or flexibility. 2) Happy people We believe a happy staff translates into happy customers. We employ happy and productive people with flexible working hours, engaged learning plans, and fun outside of work. 3) Collaboration We believe that true innovation comes from an environment marked by challenge, curiosity, and communication. We emphasize cross-team collaboration and share Key Performance Indicators (KPIs) and Objectives and Key Results (OKRs) across the company. Working remotely, together Littledata has had a remote, distributed team since the beginning. When COVID-19 hit, companies all over the world grappled with the sudden transition to working outside the same office. Our team didn’t skip a beat because we’ve been working this way for years. Most importantly, working remotely allows us to be flexible in more ways than one. We encourage our team to work where they want, when they want, and how they want. In fact, we've found that when done right, remote work is more productive. Work where you want Getting the most out of your work comes down to your own productivity and routines. We encourage our team to work wherever they feel the most productive that day—whether that be at home, a coffee shop, a co-working space or a more traditional office. Work when you want Many of us have families to take care of, errands to run, and outside interests to explore. Our team members live dynamic lives. That’s part of what makes them so amazing to be around—inside and outside of the workplace. Work shouldn’t consume your life or dictate how you live each day. Aside from scheduled meetings, at Littledata your time is yours. We encourage our team to work at their own pace, meaning that they can take back ownership of their day-to-day routines. Time is our most valuable resource, it’s best we spend it wisely. Our team works when they feel most productive—which doesn’t have to be from 9 to 5. Work how you want Keeping a strong work-life balance is essential at Littledata. That’s why our remote work culture only helps to promote finding an equilibrium between your work and everything else outside of it. We encourage our team members to find a balance between their work responsibilities and their responsibilities outside of the “office.” We know that life happens, so we give our team the freedom to be present in their personal lives. That’s how we build happy employees empowered to do their best work. Being remote also means that we can hire the best talent from around the world, not just one specific area. Littledata’s international team has members across the U.K., Europe, and the U.S., with hubs in Nashville, New York City, London, Cluj, and Bucharest (plus more cities coming soon!). Completely remote work isn’t for everyone, though. Some people do work best in an office setting with a fixed, "regular" schedule. That’s why we support co-working spaces and collaborative offices as needed. Never stop learning Each month, our employees receive dedicated “learning days” to further develop their skills. This time helps us explore our areas of interest while building up the skills we need to master our work. Those learning days have included all kinds of things: Online courses in Google Analytics, Google Tag Manager, data visualization, data science, and more Project-based learning around new programming languages and tools like Netlify Speaking and participation at conferences such as Google I/O, Shopify Unite and Measurecamp (we're looking forward to the return of in-person events!) By investing in our team’s professional development and interests, we’re building the best brand ambassadors Littledata could ask for, who are also experts in their craft. Build something great All of our greatest ideas, updates, and designs are the product of collaboration. Our team members may call different countries home, but we are constantly working together online. The Littledata development team builds the backbone of our data platform, and their work helps power hundreds of ecommerce businesses around the world. Their code ensures the successful delivery of hundreds of millions of essential tracking events to our customers' analytics tools and data warehouses. Through collaboration with our marketing team, customer support team, and operations team, the dev team is able to build off shared ideas to develop cohesive, creative, and innovative solutions. The support, insights, and feedback they receive help them mold Littledata's analytics platform into the best version it can be. Annual offsite meetings It’s important for us to find time each year to put work aside and connect as a team. Our global team gathers annually for an offsite retreat—typically held in Europe. This provides us a great opportunity to collaborate, catch up, and relax alongside all of our team members. During week-long offsites we find a balance between work and leisure, taking advantage of the great opportunity to collaborate and bond as a team. Throughout the week, we run a design sprint. The process helps to spark innovation and align members under a shared vision. This gives us the chance to work in cross-functional teams, and gain a better understanding of the goals of each department. Some of Littledata’s greatest advancements were the result of design sprints, and they've helped place Littledata as the future of ecommerce analytics tools. Work hard, play hard! We find plenty of time to have fun during our offsites, exploring the city we’re visiting, lounging on the beach, and most definitely enjoying the amazing company of our co-workers. And it doesn't stop there. During monthly "sprint retrospectives," every team member has a chance to highlight what's been working best and also suggest improvements to company processes, whether that's about how we make feature requests or how we might improve cross-team communications. At the end of each quarter, we also take time as a company to reflect on the goals we set for the past 3 months, assess our performance, and create specific OKRs for where we want to be and what we want to achieve in the next quarter. Each of these OKRs aligns individual departments toward our overall company objective, guiding our team under common goals and uniting our vision for the future. Join the Littledata family While the greatest resource we can give to our employees may very well be time (and freedom over their time), our greatest resource is our team. Our product would be nothing without the people behind it that shape it every day. Our team is small but mighty, with each member playing an integral part in Littledata’s success. They are the backbone of our product, between our incredible support team to our skillful engineers, and everyone in between. Together we’re able to build a product that each and every one of us is proud to stand behind. Since our team collaborates from across the world, it’s even more important that we invest our time in building inter-team relationships. Something we value most about Littledata is our camaraderie; we support each other in all of our professional and personal endeavors. “We always blame the problem, not the person.”  —David Pascu, Head of Client Services Here at Littledata, we’re surrounded by some of the most uplifting people, who encourage us to work harder every day for the betterment of our team as a whole. As David so wisely put it: “We blame the problem, not the person.” We investigate those problems head-on in our design sprints, often solving big problems in a short time. Some days that’s a product improvement for the install flow of a particular Shopify analytics connection. Other days, we’re crafting the perfect answer to the question “Why Littledata?” or prototyping a tool that visualizes analytics throughputs more succinctly. (Yes, those were real design sprint projects!) Our can-do attitude makes any challenge seem possible. Our bond as a team makes working together toward solutions and innovation an exciting task. Work as a team, win as a team As a startup, we understand that each one of our employees is taking a leap of faith in joining our team. That’s also part of what makes our team so strong. Every member of the Littledata team believes in the work that they do and the service they provide. While joining a startup can be a risky decision, great risks yield great rewards. Our team is 100% to thank for Littledata’s growth and success over the years. We’re the first to give thanks where it is due; when we hit milestones and reach our goals each quarter and annually, our team are the first ones rewarded. One of the greatest benefits of being part of a small team like Littledata is the lack of bureaucracy that many encounter in larger corporations. Each of our team members has what we like to call ‘flexible’ roles—and let’s be clear, flexible does not mean multiple. By ‘flexible’ we mean that we encourage our employees to explore other fields that interest them, but might be out of their "job description." Allowing our team to follow their passions, interests, and work in areas that they do best in creates a recipe for success. So, are you in? We’re always looking for motivated and talented team members to become a part of the Littledata family. If you want to be a part of building a market-leading analytics tool while also shaping a truly special team culture, we want to hear from you. Not passionate about ecommerce analytics yet? Join our team and you will be soon :) Check our careers page for the roles we have open. If you don’t see the perfect fit, reach out to us and share your skills and experience. Any of our team members would be happy to hear from you and see if we can make a match.

2021-06-04

Introducing Littledata Plus plans for Shopify and Shopify Plus

As Shopify has continued to scale its Shopify Plus plans, Littledata has developed both technology and services to enable customer success. Today, we're pleased to announce new Littledata Plus plans to support modern data stacks for larger direct-to-consumer (DTC) brands. Our enterprise plans have been around in various guises since the beginning. But clients’ data needs—and the DTC market overall—have continued to evolve, from more sophisticated lifetime value analysis to connecting Shopify with data warehouses like Redshift and BigQuery. The coronavirus pandemic also forced many businesses that had been planning to move online to do so sooner than expected. Traditional consumer packaged goods companies (CPGs) needed to try out DTC and ecommerce subscription models. And, to be blunt, they needed to speed up plans for finding ways to compete with Amazon. With more known brands moving to Shopify and BigCommerce, core data needs have skyrocketed. In fact, without Littledata, 12 orders still go missing in Google Analytics for every 100 orders in Shopify! It seems ecommerce in general is finally waking up to the fact that the key to growth is focusing on the right KPIs with accurate data to support them. The renewed focus on data has extended beyond PPC campaigns to channels like social and email marketing, as well. As merchants get "back to the basics", we've also started to see less customization and an increased focus on data accuracy and throughput. That goes for both our Google Analytics and Segment data destinations. All this illustrates what has been our outlook from the beginning: nothing is more important than data accuracy. So we're excited to now be opening up Littledata Plus plans to all DTC brands. Whether you're a recently funded scale-up with a headless Shopify site or you've been on Shopify Plus since the beginning. Options for Littledata Plus plans We have long optimized Littledata for Shopify Plus, from higher service level agreements and throughput metrics to multi-currency tracking for brands with multiple country stores (e.g. see how we handle order names). Our team has experimented with Littledata Plus features, tracking plans, and account management levels to ensure that our tech and support are as effective as possible. We've worked closely with top Shopify brands like Rothy's, Boll & Branch, and Craft Gin Club, as well as agency and tech partners supporting those brands to fine-tune our solutions. We don’t just want to be proactive, we want to be useful. "Don’t mistake the forest for the trees. Our ecommerce customers know that accurate data is essential for real growth." Littledata Plus plans are a must-have for any merchant processing over 10,000 orders per month (including recurring orders or subscriptions). They're also now available to anyone serious about data-driven growth. We now offer two distinct paths within the Littledata Plus journey: Plus: Plus plans give you access to a dedicated account manager to help with onboarding and data audits, and include tracking for any number of country stores. Enterprise Plus: Our higher-tier Enterprise Plus plans allow unlimited data thresholds, and can also include a custom tracking plan, solution engineering, analytics training, or other options to support your in-house team. [subscribe subscribe heading="Learn more about Littledata Plus" button_text="book a demo" button_link="https://www.littledata.io/app/demo"] All Littledata Plus plans include essentials like in-depth data audits and dedicated account management. But with Enterprise Plus, you get a deeper experience, more support time, and a custom tracking plan. We built Littledata around smart connections. A big advantage of using our data connectors is that we keep those connections up to date for you with an in-depth knowledge of APIs, webhooks, properties, and events. For example, our connections now support headless Shopify setups and subscriptions in the Shopify checkout—without any additional coding needed on your website. "All Littledata Plus plans include essentials like in-depth data audits and dedicated account management." Recent updates to our Plus plans include: Advanced headless setup support Unique identifiers Historic data import for Segment users For Google Analytics users, we now offer analytics training and a Measurement Protocol endpoint to make it easy to get complete ecommerce data into Google BigQuery. That said, we have many happy Littledata Plus customers who simply want to ensure accurate Shopify and ReCharge data in Google Analytics. Can you risk making decisions based on bad data? Put another way: how much faster could you scale if your sales and marketing data were accurate, reliable, robust, and complete? Whatever your data goals, Littledata Plus is here to help. Book a demo today and let's start the conversation.

by Ari
2021-06-02

Two ways to calculate customer lifetime value for ecommerce using Google Analytics data

Many of our customers come to us with a similar question: "how do I measure ecommerce lifetime value (LTV)?" The latest episode in our Learning Videos series shows you how to do just that for both your one-off purchasers and subscription customers. Our step-by-step tutorial covers two methods of calculating customer LTV using your Google Analytics (GA) data. You'll get to know Littledata’s custom dimensions in GA and learn how to visualize your calculations in Google Data Studio. During installation, Littledata automatically creates several custom dimensions in your connected Google Analytics property. These custom dimensions include: Lifetime Revenue, the sum total a customer has spent in your Shopify store (including one-time purchases and subscription orders) Shopify Customer ID, the unique identifier Shopify assigns to each customer Last Transaction Date Payment Gateway Purchase Count They offer better data to help you understand your customers' buying behavior, then calculate and visualize their LTV. To kick things off, you'll first need to export your data from GA to Google Sheets or another spreadsheet tool via CSV. Once you’ve enabled the GA add-on in Google Sheets, you're ready to get started. Method 1: Calculate LTV by Lifetime Revenue, Shopify Customer ID, and Transaction Count In the first method of calculating lifetime value, we’ll use Transactions as the metric. The dimensions we'll use—Shopify Customer ID and Lifetime Revenue—correspond with ga:dimension5 and ga:dimension3, respectively. Use the image below as a guide to set up your report: Next, set your Metrics Reference as Transactions and your Dimensions Reference as Custom Dimensions. After you run the report, Google Sheets should look something like this: Finally, use Google Sheets' built-in functions to calculate the average or median LTV of your customers. Method 2: Calculate LTV by Source/Medium, Transaction ID, Shopify Customer ID, and Transaction Revenue This second LTV calculation method helps you track which marketing channels bring in your most valuable customers: the ones who spend the most over time. In this method, use Transaction Revenue as the metric and Source/Medium, Transaction ID, and Shopify Customer ID as the metrics. These correspond with ga:sourceMedium, ga:transactionId, and ga:dimension1 respectively. This method requires the widest date range possible to capture the most transactional data possible—preferably since you started using Littledata. Before running the report, your Google Sheet should appear as follows: After exporting your data, your result will look like this—a list of transactions with source/medium and revenue data: Next, select all the data in your report to create a pivot table, aggregating by source/medium per customer. The result will reveal the total revenue per customer, per source. After completing the pivot table, you're ready to visualize your data in Data Studio. Build Reports in Google Data Studio Google Data Studio is one of our recommended reporting tools for ecommerce sites. Why? Because it's free, powerful, and works really well with Google Analytics. The first step in visualizing your data is to import your data into Google Data Studio by setting Google Sheets as your source. To do this, select your Google Sheets file followed by the pivot table you created in the previous method, and add it to your report in Google Data Studio. Change the data source by setting the aggregation to median so results yield the median lifetime revenue per traffic source. Your report dimension should be set to ga:sourceMedium and your metrics should be set to ga:transactionrevenue and ga:dimension1. Modify Shopify Customer ID from sum to count distinct to reveal the total unique customer IDs, which we'll use to sort our data. Sort by Shopify Customer ID to see the traffic source that brings the most customers to your site. The resulting report shows you the median lifetime revenue per traffic source, sorted by the total customers per source. References Quick Tips for Subscription Stores Using Custom Dimensions in GA 3 Deep Dives into Customer Lifetime Value for Ecommerce Sites LTV from GA vs LTV provided by Littledata How to Calculate Customer Lifetime Value in GA for Shopify Stores Custom Dimensions for Calculating Customer Lifetime Value Subscription Analytics Does Littledata work with my ecommerce reporting tool?

2021-05-27

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.[0].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.

2021-04-23

Optimizing Littledata's Shopify tracking script for speed and accuracy

At Littledata we know that page load speeds are essential for ecommerce success, and we have made some major improvements to our Shopify apps this month to improve both page speed and data accuracy. Having benchmarked over 20,000 ecommerce sites, and worked closely with larger DTC brands on Littledata Plus plans, we are well aware that technical factors such as page load speed are major drivers of ecommerce conversion rates. We have always had a minimal, super-fast script and GTM data layer, but v9 brings this to a whole new level. [subscribe] What’s new in LittledataLayer v9? The need for speed is driving some of our customers to headless setups, but for many stores there are lots of optimizations to be had from their existing Shopify theme and apps. Littledata’s main advance in this area is our server-side tracking, which means that our app has zero impact on your add to cart, checkout or payment steps. So the changes in v9 are focused on the landing pages, product listing pages and product details pages. The latest update improves both page speed and the accuracy of the data we track Some of the major improvements in LittledataLayer v9 are: Tracking all product list impressions, on whatever pages they are displayedThe correct product variant is tracked, if the listing is for a specific variantProducts loaded after the initial page load (i.e. "lazy-loaded" products) will also be trackedListing pages of more than 50 products (e.g. infinite scroll pages) are tracked In addition we’ve improved how some types of checkout are tracked, to ensure the marketing attribution of the order is correct, for: Buy Now buttons leading to an accelerated checkout (e.g. Paypal, Google Pay)Headless stores leading to a Shopify checkoutCustom checkouts which do not reuse the same Shopify cart token See our help center for more details about how tracking product list views works as the user scrolls down the page. All these changes will be automatically added for current customers, unless you opt out and choose manual updates, in which case you will need to manually upgrade. Please contact your account manager if you are unsure which option to take. [note]Unless you opt for manual updates, we will now automatically update the snippet Littledata adds to your Shopify store[/note] How does v9 of the Littledata tracking script improve page load speed? To send accurate product list views, product list clicks and product detail views, our app builds a data layer containing all the products on the page. This is true for both our Segment app and our Google Analytics app in the Shopify app store. Building this data layer on Shopify’s servers took time before the page was ever seen by a user; in this improved version we get the product data after the user has interacted with the page. This results in almost no impact to page load speeds from adding Littledata’s app, as measured by PageSpeed Insights - improving the score from 62% to 70%. And yes, a score of 73 out of 100 is not very impressive...but for our test store we haven’t done all the good things you should be doing to optimize your store, like compression and lazy-loading of images. So whatever your page speed was before the improvements, it should be up to 10 percentage points higher now. Speed test So how did we make the latest snippet faster? To start, it’s no longer requiring the same liquid code. We can see the difference using Shopify’s speed profiler extension for Chrome. Before the changes Shopify is spending over 80ms (out of 155ms total) processing the LittledataLayer snippet - and this test store does not have a particularly complex list of products. After changing to v9, we see this has dropped to less than 1ms, because now all the product data is fetched asynchronously from Shopify’s APIs as the user interacts with the page. The good news is that this comes at no cost to data accuracy. Our script already tracked the product impressions after the page load - now we wait to get the product data until it is really needed. As a key part of the modern data stack for DTC brands, we are always investing in efficiency and accuracy at Littledata. Schedule a demo to learn more, and let us know if you have suggestions for further technical improvements! [subscribe]

2021-04-19

Try the top-rated Google Analytics app for Shopify stores

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