Most Shopify brands judge channels on the first order. Meta brought in a customer at a $45 CAC, Google brought one in at $60, so Meta wins. That comparison falls apart as soon as you look at what those customers do over the next year. In a lot of stores, at least one channel looks expensive on first-order CAC and turns out to be the best source of repeat buyers.
Measuring LTV by acquisition channel fixes that, but it takes more care than most dashboards suggest. Here is the approach that has held up for me.
Tie every customer to one acquisition channel
Start by deciding which channel gets the customer. For LTV, I use the channel credited with the first order and keep it fixed for life. If a customer came in through a TikTok ad and later reorders through email, they stay a TikTok customer in this report. The goal is to judge the channel that found them, not the one that reminded them.
Be careful about which attribution model sets that first-order channel. Last-click will hand a lot of first orders to branded search and direct, which makes those channels look like great sources of loyal customers when they were mostly closing the deal. A multi-touch or first-touch view of the first order usually gives a fairer split.
Pick a fixed window
Compare cohorts over the same time span. I use 90 days, 6 months and 12 months. Ninety days is enough for a first signal in consumables. Twelve months is what you need before you commit real budget changes. Comparing a 12-month-old cohort from one channel to a 3-month-old cohort from another will always favor the older one.
Run the numbers on gross margin, not revenue, if you can. Channels that lean on discount codes often bring customers who only come back for the next sale, and revenue-based LTV hides that. The broader calculation is in how to calculate LTV on Shopify.
What Shopify gives you on its own
Shopify’s native reports can show customers by first-order source if your UTM parameters are clean, but they are weak at following a cohort over time and grouping it by channel. Most brands end up exporting customers and orders and building the cohort in a spreadsheet. That works, and it is a fine way to start, but it breaks the first time you change your UTM naming or add a new channel.
The tools that help
Attribution tools are good at the first half of this problem. ThoughtMetric, for example, reports new and returning customer orders and revenue by channel and campaign, so you can see which channels bring first purchases and which mostly collect repeat orders. (Disclosure: ThoughtMetric sponsors this site.) That tells you where new customers come from, but it is not a cohort LTV report.
Retention tools cover the second half. Peel and Lifetimely both build cohort and LTV reporting on top of your Shopify data. Peel starts at $179 a month on an annual rate and Lifetimely has a free tier for very small stores, with paid plans from $79 a month. Before you buy either for this purpose, confirm in the trial that you can group cohorts by the acquisition channel you trust, because their default source fields may not match your attribution tool’s view. I compared the two in more depth in Peel Insights vs Lifetimely.
Reading the results
Expect the ranking to change as the window grows. A typical pattern is that paid social looks strong at 90 days and weaker at 12 months, while organic search, podcasts and referral look average early and strong later. That does not mean paid social is bad. It means it brings a mix of loyal customers and one-time deal hunters, and you need to know the ratio.
Small channels will lie to you. If a channel brought in 40 customers, a few big repeat buyers can make its LTV look amazing. I do not act on channel LTV until a cohort has at least a few hundred customers, and I treat anything smaller as a hypothesis.
Turning LTV into a budget decision
The useful output is an LTV-to-CAC ratio by channel at a fixed window. If a channel’s 12-month gross margin LTV is three times its first-order CAC, you can afford to pay more for it than its first-order ROAS suggests. If it is close to one, you are buying revenue, not customers. Returning customer rate by channel is a useful early check while you wait for cohorts to age, which I covered in what returning customer rate tells you that AOV doesn’t.
The short version
- Assign each customer one acquisition channel based on their first order, and never change it.
- Use a multi-touch or first-touch view of that first order, not last-click.
- Compare cohorts at the same age, usually 90 days, 6 months and 12 months.
- Measure gross margin, not revenue, so discount-driven channels do not look better than they are.
- Use an attribution tool for the first-order channel and a cohort tool or spreadsheet for the LTV curve.
- Ignore channel LTV until each cohort has a few hundred customers.
Leave a Reply