Why Shopify is still the best ecommerce platform for larger merchants
It's no accident that Shopify is the cream of the crop in the world of enterprise ecommerce. But what do Shopify's major announcements last week mean for the platform's growth going forward? To remain on top, Shopify must continue investing in areas of opportunity and customer need. That's exactly what they're doing, including major investment in an independent fulfillment network, multi-currency and multiple-store/multi-site improvements for Shopify Plus, and a stunning new range of developer-friendly APIs. In this post, I'll look at: Which types of ecommerce merchants are using the major platforms Shopify's announcements at the Shopify Unite conference 2019 What these announcements mean for larger retailers, Shopify experts and agencies Who's using what: ecommerce platforms by size and use I've been crunching the numbers in several different ways these past few weeks, and my findings were consistent: Shopify is the platform of choice for mid-sized to large stores globally. Last week at the annual Shopify Unite partner event, Shopify announced the plans that will keep Shopify leading the pack (Magento, Salesforce Commerce Cloud, BigCommerce, etc.). Shopify's recent announcements confirm my research findings. Shopify will continue to be the ecommerce platform with the strongest growth in larger stores. At first I looked at trend data from BuiltWith that showed the number of net installs on each platform over the past year. Only the top 1 million websites were measured (as defined by BuiltWith.com). When it came to pure volume of installs, WooCommerce came out on top. However, the average WooCommerce store is much smaller and less active than the average Shopify store. I confirmed this by looking at our own data set of over 4,000 stores on these ecommerce platforms: The bars represent range from the bottom to top quartile of store sizes, with the purple marker representing median store size. While Magento 2 and Salesforce Commerce Cloud had higher median store sizes (32k and 107k monthly visits, respectively), Shopify had a very consistent interquartile range of 6,000 to 60,000 monthly visits. By contrast, WooCommerce only had one quarter of stores receiving over 10,000 monthly visits — and zero stores doing more than 2.5 million visits in our data set. In other words, if this trend continues, Shopify is positioned to take on a big share of the stores migrating from Magento 1 over the next year or so. And that's not all. What this means for merchants using Littledata These larger stores will need a range of robust apps to extend Shopify’s platform, especially when it comes to analytics. We've responded to this need in a many ways, including: Launching the only recommended Segment connection for Shopify and Shopify Plus Rebuilding our Shopify data layer and tracking script for speed and performance at scale Standardising Littledata's Enterprise Plans to provide account management and SLAs Working with select clients to build private connectors and apps to bridge legacy systems In other words, Littledata's commitment to Shopify's ecosystem has only continued to grow. We hope the pattern continues as we hone our popular Shopify integrations like ReCharge for subscription analytics, and continue to improve our better smart connections for other popular apps (CartHook, Refersion, Bold Cashier) over the coming months. [subscribe heading="Try Littledata free for 14 days" background_color="green" button_text="get started"] What this means for Shopify users Enterprise-grade features In the past, global brands running a network of stores in multiple countries have been frustrated by the simplicity of Shopify’s setup. The launch of features such as multi-currency, multi-language and multi-store login from a single Shopify Plus dashboard will go a long way in quelling those user frustrations — all while making Shopify Plus an attractive alternative for current users of Salesforce Commerce Cloud. Fulfillment network to compete head-to-head with Amazon (FBA) Fulfillment is the biggest headache for DTC brands selling globally, and FBA is currently the only game in town for end-to-end purchasing and logistics. However, as ecommerce brands scale, more and more are looking to "own the experience" from start to finish. This includes branded packaging and visibility of delivery on the customers' end. Both of these things may very well have a better solution in Shopify Fulfillment Network: Amazon vs Shopify. @aobtweetz says Shopify is like retail entertainment: consumers who want to read the blog, engage with the brand and then buy - not just buy a commodity on Amazon @debriefevent #ShopifyUnite — Edward Upton (@eUpton) June 21, 2019 The network will start in the US. While it will take time to scale, early looks indicate it will be a sensible way for Shopify to spend its large pile of cash while pulling itself away from the crowded pack of SaaS ecommerce. Developer-first attitude We developers love companies that don’t forget their product-first roots. Much of Shopify’s growth has been due to making the platform easy to extend while encouraging a vibrant yet curated app store. Shopify continues to exercise caution when offering its existing app partners access to new core features (subscription billing, opening up new APIs for partners to develop on). A staggering 11 new APIs were announced at this Unite alone. While Shopify clearly believes that core experiences like checkout and payment should be owned and developed by Shopify itself, many non-core features (including many types of reporting) are actively pushed to partners with a relevant app or service. A living example of Shopify's developer-first approach? Their new Shopify app CLI, which speeds up timetables for new app launches. Where does Shopify go next? After more than doubling its number of active stores over the last two years, Shopify's current haul of 820,000 active stores is in good position to surpass 1.5 million stores within the next two years. For many larger Shopify partners, perhaps the more important pattern of growth isn't Shopify's standard offerings — it's Shopify Plus. [subscribe heading="Try Littledata free for 14 days" background_color="green" button_text="get started"] At a recent Commerce Plus event in London (organised by Shopify Plus), the main "complaint" was that Shopify’s sales reps "can’t onboard shops fast enough". With a newly revamped, user-centered design, Shopify Plus is an exciting platform to be a part of right now. It's only going up from here. If you didn't get a chance to read about everything Shopify announced last week in Toronto, don't worry. We have you covered! Check out our full recap of announcements. Also, check out our award-winning Google Analytics Shopify app. With AI-based tech, the app fixes your Shopify analytics by providing: Website benchmarks by industry Ecommerce benchmarking Shopify reporting Customer lifetime value Average order value Other crucial data metrics Wondering how your site compares? Check out our list of essential benchmarks for Shopify stores.
Littledata’s V8 Shopify Tracking Code: faster and more versatile
How to fix marketing attribution for Safari ITP 2.2
The latest version of Safari limits the ability for Google Analytics (and any other marketing tags) to track users across domains, and between visits more than a day apart. Here’s how to get this fixed for your site. This article was updated 12th June 2019 to clarify changes for ITP 2.2. How does this affect my analytics? Safari's Intelligent Tracking Prevention (ITP) dramatically changes how you can attribute marketing on one of the web's most popular browsers, and ITP 2.1 makes this even more difficult. How will the changes affect your analytics? Currently your marketing attribution in Google Analytics (GA) relies on tracking users across different visits on the same browser with a first-party user cookie - set on your domain by the GA tracking code. GA assigns every visitor an anonymous ‘client ID’ so that the user browsing your website on Saturday can be linked to the same browser that comes back on Monday to purchase. In theory this user-tracking cookie can last up to 2 years from the date of the first visit (in practice, many users clear their cookies more frequently than that), but anything more than one month is good enough for most marketing attribution. ITP breaks that user tracking in two major ways: Any cookie set by the browser, will be deleted after 7 days (ITP 2.1)Any cookie set by the browser, after the user has come from a cross-domain link, will be deleted after one day (ITP 2.2) This will disrupt your marketing attribution. Let’s take two examples. Visitor A comes from an affiliate on Saturday, and then comes back the next Saturday to purchase: Before ITP: sale is attributed to AffiliateAfter ITP: sale is attributed to ‘Direct’Why: 2nd visit is more than one day after the 1st Visitor B comes from a Facebook Ad to your latest blog post on myblog.com, and goes on to purchase: Before ITP: sale is attribute to FacebookAfter ITP: sale is attributed to ‘Direct’Why: the visit to the blog is not linked to the visit on another domain The overall effect will be an apparent increase in users and sessions from Safari, as the same number of user journeys are broken in down into more, shorter journeys. How big is the problem? This is a big problem! Depending on your traffic sources it is likely to affect between a quarter and a half of all your visits. The update (ITP 2.1) is included in Safari version 12.1 onwards for Mac OS and Safari Mobile. It does not affect Safari in-app browsing. Apple released iOS 12.2 and Mac OS 10.14.4 on 25th March 2019, and at the time of writing around 30% of all web visits came from these two browser versions on a sample of larger sites. The volume for your site may vary; you can apply this Google Analytics segment to see exactly how. The affected traffic will be greater if you have high mobile use or more usage in the US (where iPhones are more popular). Why is Apple making these changes? Apple has made a strong point of user privacy over the last few years. Their billboard ad at the CES conference in Las Vegas earlier this year makes that point clearly! Although Google Chrome has overtaken Safari, Internet Explorer and Firefox in popularity on the desktop, Safari maintains a very dominant position in mobile browsing due to the ubiquitous iPhone. Apple develops Safari to provide a secure web interface for their users, and with Intelligent Tracking Prevention (ITP) they intended to reduce creepy retargeting ads following you around the web. Genuine web analytics has just been caught in the cross-fire. Unfortunately this is likely not to be the last attack on web analytics, and a permanent solution may not be around for some time. Our belief is that users expect companies to track them across their own branded websites and so the workarounds below are ethical and not violating the user privacy that Apple is trying to protect. How to fix this There are three outline fixes I would recommend. I’m grateful to Simo Ahava for his research on all the possible solutions. The right solution for your site depends on your server setup and the development resources you have available. If you’re lucky enough to use our Shopify app the next version of our script will include solution 1 below. Contact our support team if you'd like to test the private beta version. For each solution, I’ve rated them out of three in these areas: Quick setup: how much development time it will take to solveCompatibility: how likely this is to work with different domain setupsLongevity: how likely this is to work for future updates to Safari ITP Solution 1: Local storage Quick setup *** Compatibility ** Longevity* To solve the one day cookie expiry, you store the GA client ID in the browser’s local storage (which does not expire), along with the cookie. So before we allow GA to set a new client ID we first check if the Safari browser has a local storage. Here are the full technical details. Solution 2: Common iFrame plus local storage Quick setup ** Compatibility*** Longevity * The problem with solution 1 is that local storage is only available to an individual subdomain. Let's imagine a user journey that goes: Day 1: Visits blog.mysite.comDay 8: Visits shop.mysite.com In this case, the two visits cannot be linked because after 7 days the cookie has expired, and shop.mysite.com cannot access local storage on blog.mysite.com. Solution 2 fixes this by setting up a page on the top level domain (e.g. www.mysite.com/tracker.html) on which that local storage is set, and the page can be accessed from any subdomain. What makes it longer to setup is it will require a new page on your web server, not just script changes on the existing pages (or via GTM). Full technical details. Solution 3: Server-side cookie service Quick setup * Compatibility *** Longevity *** In the long term, ITP may target the local storage API itself (which is already blocked in Private browsing mode). So solution 3 securely sets the HTTPS cookie from your web server itself, rather than via a browser script. This also has the advantage of making sure any cross-domain links tracked using GA's linker plugin can last more than one day after the click-through with ITP 2.2. The downside is this requires either adapting your servers, proxy servers or CDN to serve a cookie for GA and adapt the GA client-side libraries to work on a web server. If your company uses Node.js servers or a CDN like Amazon CloudFront or Cloudflare this may be significantly easier to achieve. If you don’t have direct control of your server infrastructure it’s a non-starter. Full technical details. What about other marketing tags working on Safari? All other marketing tags which track users across more than one session or one subdomain are going to experience the same problem. With Google Ads the best solution is to link your Ad account to Google Analytics, since this enables Google to use the GA cookie to better attribute conversion in Google Ads reporting. Facebook will no doubt provide a solution of their own, but in the meantime you can also attribute Facebook spend in GA using Littledata’s connection for Facebook Ads. Are there any downsides of making these changes? As with any technical solution, there are upsides and downsides. The main downside here is again with user privacy. Legally, you might start over-tracking users. By resetting cookies from the local storage that the user previously requested to be deleted, this could be violating a user’s right to be forgotten under GDPR. The problem with ITP is it is actually overriding the user’s preference to keep the cookie in usual circumstances, so there is no way of knowing the cookie was deleted by the user … or by Safari supposed looking out for the user! Unfortunately as with any customisation to the tracking code it brings more complexity to maintain, but I feel this is well worth the effort to maintain marketing attribution on one of the world's most popular browsers.
Shopify vs Magento: Ecommerce performance
Whether you're choosing a new enterprise ecommerce platform for your online business, or considering a platform migration, choosing Shopify vs Magento is not an easy choice. But when it comes to ecommerce performance, it pays to take a look at the data. Littledata has a range of customers on different ecommerce platforms, with a majority of larger stores using Shopify Plus or Magento. So which platform has the best ecommerce performance? For this post, we crunched data from 1,600 Shopify and Magento stores to see where the platforms typically perform best, from technical performance essentials like site speed, to ecommerce essentials like conversion rate and average order value. Ecommerce benchmarks Littledata benchmarks stores using our platform on 30 key metrics. Any merchant can sign up to benchmark their ecommerce website, and we like to dive into the benchmark data to find key stats and unexpected trends. Comparing Shopify vs Magento benchmarks, we looked at the median performance of stores of all sizes in all sectors, and then just larger stores (those getting more than 20,000 sessions per month). The headline news is that Shopify converts more visitors into customers than Magento, mainly due to better add-to-cart rate, but also slightly more efficient checkout conversion rate. Shopify stores have a higher Average Conversion Rate, but Magento stores have a higher Average Order Value However, since Magento stores have a larger average order (maybe because stores selling high value items are put off by Shopify’s percentage pricing) the Magento stores get more revenue per visit. And it is really the higher customer lifetime value that you should care about (Shopify agrees). Magento stores outperform on landing page engagement and marketing, and have a significantly higher usage of product search. Shopify vs Magento: a benchmark-by-benchmark comparison Average conversion rate The headline ecommerce conversion rate is better on Shopify (2% vs 1.7%) and this actually widens for larger stores (2.3% Shopify vs 1.5% on Magento). This is reflected in Shopify being better on both underlying metrics of performance: add-to-cart rate (5.5% vs 4.6%) and the percent of those starting to checkout. [subscribe button_text="benchmark your site"] The checkout completion rate is actually better on most Magento stores (48.6% vs 51.3%), although for larger stores this is flipped around (50.0% Magento vs 48.7% Shopify). Average order value Average revenue per customer is much higher for the Magento stores surveyed (and this difference persists for larger sites) - $75 USD per customer on Shopify vs $161 on Magento. This is driven by both a higher average order value, and more repeat purchasing on Magento stores. This extra money per order more than compensates for the lower conversion rate on Magento, and means Magento stores get an average $2.79 per visit versus $1.52 for Shopify store visits. Site speed There are two factors to website speed - how long the server takes to response, and how long the page takes to render in the browser. Shopify's cloud infrastructure is better at the former (609 milliseconds versus 967 milliseconds average server response time on Magento), but for the more important delay before page content appears there is little difference between the platforms (2.6 seconds for Shopify vs 2.8 seconds for Magento). Larger Shopify stores do typically install lots of 3rd party apps, which can increase the script load time, and so the time to full page load is higher on larger Shopify stores (6.8 seconds vs 6.0 seconds on Magento). Marketing channels There are some big differences between how Shopify and Magento store owners go about Marketing. Shopify stores get a far higher proportion of traffic from Facebook (5.8% vs 2.7%), but this is still below the global average for Facebook referrals. Shopify stores also had a greater reliance on the homepage - showing a lack on content marketing sophistication (34% on Shopify vs 25% on Magento). User engagement (site search and email marketing) The interesting difference is a much higher use of site search for Magento stores (3.1% Shopify vs 10.8% Magento). This may that Magento themes make it easier to implement site search, or that Magento stores with larger numbers of SKUs. And Magento marketers manage to get a lower bounce rate from emails: 50% on Shopify vs 44% on Magento. This is maybe due to a greater variety of email landing pages or campaigns. What about Shopify Plus vs Magento Enterprise? Many of the same differences are there for Shopify Plus (the equivalent of Magento Enterprise Edition for larger stores). Shopify plus stores manage a higher conversion rate (2.6% vs 1.6% for Magento EE), and but still have a lower average value per session ($2.12 on Shopify Plus vs $3.23 on Magento). And Plus stores, with more customised themes, still get a higher bounce rate from mobile search (55% vs 51% for Magento). If you're looking for more info, we have a useful post on the general differences between Shopify and Magento, and our friends at Electric Eye have an extensive breakdown of how Shopify and Magento pricing and implementation really work for merchants seeking the best ecommerce platform for their business. For an in-depth look at enterprise ecommerce options, we recommend checking out the big Magento 2 Commerce vs Shopify Plus comparison by Paul Rogers. An expert in ecommerce replatforming, Rogers has worked with Magento brands including O’Neills, Agent Provocateur, Waterford, Royal Doulton, and Shopify Plus brands including Bulletproof, Trotters, Oco, Current Body and ESC. Learn more Looking for more performance data? If you're interested in the topic of Magento vs Shopify performance, you can view our public listing of detailed Shopify benchmarks and Magento benchmarks. We've made it easy for anyone to dive into the data for themselves. And if you have an ecommerce website, sign up to benchmark your site for free! [subscribe button_text="benchmark your site"]
A case study in how to improve page load speed
Littledata's Shopify connection is now using gtag and GTM data layer
How to calculate customer lifetime value (CLV) for subscription ecommerce in Google Analytics
Many of Littledata's subscription customers come to us with a similar problem: how to calculate return on advertising spend, considering the varying customer lifetime value (CLV) of subscription signups. Calculating marketing ROI for subscription ecommerce is a big problem with a number of potential solutions, but even the initial problem is often misunderstood. In this post I break down what the problem is, and walk through two proven solutions for getting consistent, reliable CLV reporting in Google Analytics. What is customer lifetime value? I work with all kinds of subscription ecommerce businesses: beauty boxes, nutritional supplements, training courses and even sunglasses-by-the-month. All of them want to optimise customer acquisition costs. The common factor is they are all willing to pay way MORE than the value of the customers' first subscription payment... because they expect the customer to subscribe for many months. But for how many months exactly? That's the big question. Paying for a marketing campaign which bring trial customers who cancel after one payment - or worse, before the first payment - is very different from paying to attract sticky subscribers. A marketing director of a subscription business should be willing to pay WAY more to attract customers than stay 12 months than customers who only stay one month. 12 times more, to be precise. So how do we measure the different contribution of marketing campaigns to lifetime customer value? In Google Analytics you may be using ecommerce tracking to measure the first order value, but this misses the crucial detail of how long those shoppers will remain subscribers. With lifetime customer value segments we can make more efficient use of media, tailor adverts to different segments, find new customers with lookalike audiences and target loyalty campaigns. There are two ways for a marketing manager to see this data in Google Analytics: one is a more difficult, manual solution; the other is an easier, automated solution that ties recurring payments back to the original campaigns. A manual solution: segment orders and assign a lifetime value to each channel It's possible to see the required data in GA by manually segmenting orders and assigning a lifetime value to each channel. For this solution you'll need to join together: (a) the source of a sample of first orders from more than a year ago, by customer number or transaction ID and (b) the CLV of these customers The accuracy of the data set for A is limited by how your Google Analytics is set up: if your ecommerce marketing attribution is not accurate (e.g. using Shopify's out-the-box GA scripts) then any analysis is flawed. You can get B from your subscription billing solution, exporting a list of customer payments (and anonymising the name or email before you share the file internally). To link B to A, you'll need either to have the customer number or transaction ID of the first payment (if this is stored in Google Analytics). [subscribe] Then you can join the two data sets in Excel (using VLOOKUP or similar function), and average out the lifetime value by channel. Even though it's only a sample, if you have more than 100 customers in each major channel it should give you enough data to extrapolate from. Now you've got that CLV by channel, and assuming that is steady over time, you could import that back into Google Analytics by sending a custom event when a new customer subscribes with the 'event value' set as the lifetime value. The caveat is that CLV by channel will likely change over time, so you'll need to repeat the analysis every month. If you're looking to get away from manual solutions and excessive spreadsheets, read on... A better solution: tie recurring payments back to the original campaign(s) What if you could import the recurring payments into Google Analytics directly, as they are paid, so the CLV is constantly updated and can be segmented by campaign, country, device or any other standard GA dimension? This is what our Google Analytics connection for ReCharge does. Available for any store using Shopify as their ecommerce platform and ReCharge for recurring billing, the smart connection (integration) ties every recurring payment back to the campaigns in GA. Here's how the connector works The only drawback is that you'll need to wait a few months for enough customer purchase history (which feeds into CLV) to be gathered. We think it's worth the wait, as you then have accurate data going forward without needing to do any manual imports or exports. Then, if you also import your campaign costs automatically, you can do the Return on Investment (ROI) calculations directly in Google Analytics, using GA's new ROI Analysis report (under Conversions > Attribution), or in your favourite reporting tool. Do you have a unique way of tracking your marketing to maximise CLV? Are there other metrics you think are more important for subscription retailers? Littledata's connections are growing. We'll be launching integrations for other payment solutions later this year, so let us know if there's a particular one you'd like to see next.
Shopify's 'sales by traffic source' report is broken
If you're a Shopify store manager, one of your biggest questions should be 'which campaigns lead to sales?'. We looked at data from 10 Shopify Plus customers to see whether the sales by traffic source report can be trusted. Under the Shopify store admin, and Analytics > Reports tab, you can (in theory) see which sessions and sales came from which traffic sources. BUT this sales by traffic source report is broken. Looking at 180,000 orders for 10 stores in Q4 2018, here are the marketing channels which Shopify Analytics says brought the traffic: Direct 83.5%Social 9%Search 4.5%Unknown (other websites, not social or search) 3%Email ~0.1% And using comparative data from Google Analytics we know this is all wrong. Here's a comparison of Shopify's attribution to Google Analytics last-click attribution of sales for one of these customers: Marketing attribution comparison for 700 orders Shopify Google Analytics Direct 99% 43% Search (Paid + Organic) 0.6% 7% Social 0.4% 10% Email - 25% Affiliates - 15% Here's why it's broken 'Direct' traffic is when the source is unknown. But for Shopify's report this means where the source of the last session is unknown - the user most probably visited a search ad or product review previously. Having only 1% visibility on your marketing performance is just not acceptable!We know that tagged Facebook traffic alone represents 7% of traffic for the average store, so 10% of sales from Social is more normal. Social also brings more than the actual sales in terms of visibility and influencers.Google generates billions of pageviews a month for ecommerce stores. If your site gets only 1% of its traffic from search, we'd be very surprised! Including paid search this site is still well below the 40% average. (Check out our 6 essential benchmarks for Shopify stores.)Monthly emails and personalised retargeting emails are now a staple of online marketing, and we know all the customers in this analysis use email marketing of some form - including for new product launches, discounts and cart abandonment campaigns. The problem is, it's unlikely to be the only campaign which brought customers, so it gets drowned out by other 'last click' channels. The solution: multi-channel attribution.Affiliates are a really important channel to get right, as they are paid based on the sales attributed to them. Why should you rely solely on the report the affiliate marketer gives you, and not see the same numbers in Google Analytics? So don't leave your marketing analytics to guess-work! Try the Littledata app to connect Shopify with Google Analytics on a free trial today. All paid plans include unlimited connections, to ensure accurate marketing attribution for sales via ReCharge (subscriptions), CartHook (one-page checkout), Refersion (affiliates) and more.
Subscribe to Littledata news
Insights from the experts in ecommerce analytics
Get the Littledata analytics app
Start your free 14-day trialLearn More