Customer lifetime value (CLV) is the profit a customer brings you over a fixed period, not the revenue. The honest version for a small store is simple: CLV = profit on the first order + profit on each repeat order x the number of repeat orders a typical customer places in that period. Profit here means what is left after product cost, shipping and packing, payment fees and returns.
Most CLV calculators multiply average order value by purchase frequency and stop there. That gives you a revenue number, often two or three times bigger than the profit you actually keep. If you use it to decide how much to pay for a new customer, you will overspend. This guide shows the profit formula, a worked 12-month cohort, a shortcut for stores with little history, and where to find each input in Shopify.
Why revenue CLV overstates what a customer is worth
The common formula is AOV x orders per customer. Take a store with a $60 average order where customers place 1.48 orders in their first year. Revenue CLV is $60 x 1.48 = $88.80.
That number has three problems:
- It ignores costs. You pay for the product, the box, the label and the card fee on every order. None of that is in $88.80.
- It ignores first-order discounts. If new customers use a 10% welcome code, their first order is worth less than your AOV.
- It has no time limit. “Lifetime” with no end date invites optimistic guesses. A fixed window, usually 12 months, keeps you honest and lets you compare cohorts.
Ad platforms make the same trap easy. When you set acquisition targets, you want to compare what a customer costs with what they leave you in profit. Our guide to the ROAS you need to break even uses the same contribution logic for a single order. CLV extends it across repeat purchases.
The profit-based CLV formula
Work it out in two steps.
Step 1: contribution per order. For each order type (first order and repeat order), subtract every cost that rises with the order:
Contribution = net price paid minus product cost minus shipping and packing minus payment fee minus expected returns cost
Step 2: CLV over a fixed window.
CLV (12 months) = first-order contribution + repeat-order contribution x (orders per customer in 12 months minus 1)
The “minus 1” removes the first order, which you already counted at its own, usually lower, contribution. If you do not use first-order discounts, the two contributions are the same and the formula collapses to contribution per order x orders per customer.
Leave out costs that do not change with one more order: your Shopify subscription, apps, your own salary. Those belong in your monthly profit and loss. They matter, but they do not change what one extra customer is worth. Our guide to gross margin, contribution margin and net profit explains the split in more detail.
Worked example: one hypothetical store, two kinds of order
All the numbers below are hypothetical. The store sells a product at $60 with a $24 product cost (a 60% gross margin before other costs). It offers new customers 10% off their first order. Shipping and packing cost the store $7 per order. It takes card payments at 2.9% + 30 cents, the US Shopify Basic online rate for Shopify Payments listed on Shopify’s pricing page when we checked on October 24, 2026. It expects returns to cost about 3% of the order value.
Price paid $54.00 $60.00
Product cost -$24.00 -$24.00
Shipping and packing -$7.00 -$7.00
Payment fee (2.9% + $0.30) -$1.87 -$2.04
Returns allowance (3% of price) -$1.62 -$1.80
Contribution $19.51 $25.16
Hypothetical store. Fees and returns rounded to the cent. Calculated in python twice: once per order and once from a 200-customer order ledger.The welcome discount costs $6 of revenue but $5.65 of contribution, because the percentage fee and returns allowance shrink slightly with the lower price. That is why first and repeat orders are worth tracking separately.
The 12-month cohort
Now suppose 200 customers placed their first order in January. Over the next 12 months, those same 200 people placed 96 more orders between them, for 296 orders in total. That is 1.48 orders per customer.
0 (first order) 1.00 $54.00 $19.51
1 1.08 $58.80 $21.52
3 1.19 $65.40 $24.29
6 1.31 $72.60 $27.31
9 1.40 $78.00 $29.57
12 1.48 $82.80 $31.59
Hypothetical cohort of 200 customers. Profit per customer = $19.51 + $25.16 x (orders per customer minus 1). Checked against a month-by-month order ledger in python.So this store’s honest 12-month CLV is $31.59. The revenue version, $60 x 1.48, would have said $88.80. The real revenue per customer, after the welcome discount, is $82.80, and less than two fifths of it is profit.
Should you discount future profit because a dollar next year is worth less than a dollar today? Over 12 months it barely matters at small-store scale. At a 10% annual discount rate, applied month by month to the repeat orders above, the $31.59 becomes $31.09. Keep the simple version unless your window is several years long.
What CLV tells you to spend on a new customer
CLV becomes useful when you compare it with customer acquisition cost (CAC): what you spend on ads and promotions divided by the new customers they bring in. The cumulative column in the cohort table doubles as a payback schedule.
Read the chart three ways:
- Pay back on the first order: keep CAC under $19.51. This is the safe ceiling when cash is tight or you have no repeat history yet.
- Pay back within 12 months: CAC can go up to $31.59. A $30 CAC pays back in month 10 in this model.
- Above $31.59: a $40 CAC is still underwater after a year. You are betting on year-two orders you have not seen.
The ceiling is a break-even point, not a target. You still need profit to pay for fixed costs, so in practice you want CAC well below it. And because the payback depends on repeat orders that arrive over months, a CAC near the 12-month ceiling ties up cash for most of the year.
Google Ads lets you act on this. Its customer acquisition settings for Search, Shopping, Performance Max and Demand Gen campaigns can bid higher for new customers using a “new customer value” you set, and Google says it recommends the setting for all advertisers with purchase conversion goals. Google’s Help Center does not tell you to base that value on lifetime value. If you choose to, a profit-based 12-month figure is far safer than a revenue-based one. Our guide to Google Ads for small online stores covers which campaign to start with.
The shortcut when you have little history
A store a few months old cannot wait a year for a cohort to mature. You can estimate CLV with two repeat rates instead:
- p: the share of first-time customers who ever place a second order.
- q: the share of repeat customers who place each further order.
Expected orders per customer = 1 + p / (1 minus q). The logic: everyone places one order, a share p place a second, p x q a third, p x q x q a fourth, and so on. The series adds up to p / (1 minus q).
With p = 25% and q = 40%, a customer places 1 + 0.25 / 0.6 = 1.417 orders. CLV is $19.51 + $25.16 x 0.417 = $29.99.
15% $24.90 $25.80 $27.06 $28.95
20% $26.70 $27.90 $29.57 $32.09
25% $28.50 $29.99 $32.09 $35.24
30% $30.29 $32.09 $34.61 $38.38
40% $33.89 $36.28 $39.64 $44.67
Modelled profit CLV for the hypothetical store ($19.51 first order, $25.16 repeat). Closed-form formula and a 500-step order-by-order sum agree in python to the cent.Two things stand out. First, the second-order rate matters most. Moving p from 15% to 30% adds more than moving q from 30% to 60% at the low end. Getting a first-time buyer to come back once is where retention work pays. Second, even the best cell here is $44.67, about half of the $88.80 revenue figure from the start of this guide.
This shortcut has no time limit. It assumes the repeat pattern holds for as long as customers keep buying, so it runs higher than a 12-month cohort when q is large. Use it as a starting estimate, then replace it with real cohort numbers as soon as you have six to twelve months of data.
Where to find the inputs in Shopify
Checked October 24, 2026, against Shopify’s Help Center.
- Cohort data. From your Shopify admin, go to Analytics > Reports and filter by Customers. The customer cohort analysis report groups customers by the date of their first order and shows results over the following weeks, months or quarters. You can switch the metric between number of customers, customer retention rate, gross sales, net sales, average order value and amount spent per customer. Use monthly intervals and read across a row to get orders and spend over time.
- Treat “amount spent per customer” as revenue. Shopify’s changelog describes it as the average customers have spent over their history, including taxes, discounts, shipping and refunds. It is a revenue figure, and with taxes and shipping charges in it, it can be higher than the revenue you keep. Convert it to profit with your own contribution per order.
- Projections. The report’s Show projections option predicts future amount spent per cohort. Shopify itself warns that projections are not a guarantee of future sales, and they are also spend, not profit.
- Product cost. Profit reports only work if you enter a cost per item on every product and variant. Shopify says to use what you paid the manufacturer, excluding taxes, shipping or other costs, and it reports profit only for variants that had a cost recorded at the time of sale. Shipping, packing, fees and returns still have to be added by you.
- First-time and returning orders. Shopify defines a first-time customer as one who placed their first order with your store, and a returning customer as one whose order history already includes at least one order. Those definitions match the p and q split above.
- Predicted spend tier. Once your store has made over 100 sales, Shopify sorts customers who have purchased into High, Medium or Low predicted spend tiers, based on purchase frequency, spend per order compared with your store average, number of orders and recency. It is useful for segmenting emails, but it is a ranking, not a dollar CLV.
If you prefer working from an export, our guide to analyzing your Shopify sales export with ChatGPT or Claude shows how to build cohort counts from order data safely.
Common CLV mistakes on small stores
- Calling revenue “value”. The $88.80 versus $31.59 gap in the example shows how far apart the two can be once product cost is counted.
- Using one blended contribution. If first orders carry a discount or free shipping, they are worth less than repeat orders. Split them.
- Letting “lifetime” run forever. Pick 12 months, state it, and compare like with like.
- Averaging across all customers ever. Old customers had more time to reorder. Cohorts by first-order month avoid that bias.
- Forgetting returns. A returned order can cost you shipping both ways and the fee. Even a small allowance changes the answer.
- Stale product costs. If your supplier raised prices and you did not update cost per item, every profit figure, including CLV, is too high. Our markup vs margin guide shows how fast margin moves with cost.
- Spending against the ceiling. A CAC equal to 12-month CLV earns nothing for a year.
What you should check next
- Confirm every active variant in Shopify has a current cost per item.
- Work out contribution for a first order and a repeat order, including shipping, packing, fees and a returns allowance.
- Open the customer cohort analysis report at monthly intervals and note orders per customer at 3, 6 and 12 months for your oldest full cohorts.
- Calculate 12-month profit CLV and compare it with your current CAC by channel.
- If your second-order rate is low, work on that first. Our roundup of Shopify apps for repeat purchases is a starting point.
- Recalculate every quarter, or whenever product costs, shipping rates or discounts change.
Frequently asked questions
What is a good customer lifetime value for an online store?
There is no universal number, because it depends on your margins and how often people reorder. What matters is the gap between your 12-month profit CLV and your acquisition cost. If CLV is below CAC, you lose money on each new customer within the year.
Should I use gross margin or contribution margin for CLV?
Contribution. Gross margin only removes product cost, so it still counts shipping, fees and returns as yours. Those costs repeat on every order and add up quickly across a customer’s history.
How many customers do I need before CLV is reliable?
There is no fixed threshold. A cohort of a few dozen customers can swing a lot from one month to the next, so combine several monthly cohorts or use quarterly intervals until your numbers settle. Treat early results as ranges, not facts.
Does Shopify calculate customer lifetime value for me?
Not as a profit figure. The cohort report shows spend per customer, which is revenue-based, and the predicted spend tier ranks customers as High, Medium or Low. You still need your own costs to turn that into profit.
Is CLV the same as average customer spend?
No. Average spend is revenue per customer. CLV, as used here, is the profit those purchases leave after the costs of filling them, over a stated period.
The takeaway
Count profit, not revenue, split first orders from repeat orders, and fix the window at 12 months. In the modelled store that turns an $88.80 headline into $31.59, which is the number that should cap what you pay to win a customer. Start from the cohort report, add your own costs, and revisit it every quarter.
Sources
- Shopify Help Center, “Customers reports” (customer cohort analysis: cohorts by first order date, intervals, metrics, Show projections and its warning, first-time and returning customer definitions, admin path), checked October 24, 2026. help.shopify.com
- Shopify Changelog, “Enhancements to the cohort analysis report”, November 29, 2023 (amount spent per customer includes taxes, discounts, shipping and refunds), checked October 24, 2026. changelog.shopify.com
- Shopify Help Center, “Predicted spend tier” (over 100 sales requirement, factors used, High, Medium and Low tiers, segment example), checked October 24, 2026. help.shopify.com
- Shopify Help Center, “Profit reports” (cost per item requirement, missing cost data, gross margin on net sales), checked October 24, 2026. help.shopify.com
- Shopify, Pricing (US Basic online card rate 2.9% + 30 cents with Shopify Payments), checked October 24, 2026. shopify.com/pricing
- Google Ads Help, “About customer lifecycle goals” (new customer value, new customers only, high-value new customers, supported campaign types), checked October 24, 2026. support.google.com
Last reviewed: October 24, 2026. The formulas do not change; the Shopify report features, Google Ads settings and the payment fee rate are as published on that date.
How this article was made: researched and drafted with AI assistance, with every factual claim checked against the sources above. The store, its $60 product, costs, 3% returns allowance, 200-customer cohort, repeat rates and $30 and $40 acquisition costs are hypothetical; all tables and charts are modelled from those stated assumptions and are not typical or guaranteed results.
Related guides
- What ROAS do you need to break even?
- Gross margin vs contribution margin vs net profit for online stores
- Free shipping threshold: how to set it without losing margin
- Markup vs margin: how to price products without losing money