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.
What's included in Analytics traffic sources?
The Channel report in Google Analytics (under 'Acquisition' section) splits out into 6 or more types of visit channel: Direct Where a visitor has: typed the URL into the address bar clicked on a link which is NOT in another web page (e.g. in a mobile app) visited a bookmarked link Organic Search All visits from search engines (i.e. Google, Bing, Yahoo) which were not an advertisement. You used to be able to filter out people searching for your brand (which are more like Direct visits), but now the search terms are not provided. Paid Search Visits from search engines where the visitor clicked on an advert. Referral Where a visitor has clicked on a link in another website (not your own domain), but not including search engines or social networks. Social Networks Specifically links from known social network websites (including Facebook, Twitter, LinkedIn etc) Email From links tagged as medium = 'email'. Your email software needs to be configured correctly to add this tag. Display Links tagged as 'display' or 'cpm'. FAQs Can I change the channel groupings? Yes, you can change this under Admin .. (Selected View).. Channel Grouping. But we recommend you don't do this for your default view, as you won't be able to compare the historical data.
Subscribe to Littledata news
Insights from the experts in ecommerce analytics
Get the Littledata analytics app
Complete picture of your ecommerce business. Free Google Analytics connection, audit and benchmarks.Sign up