MerchantFlowMerchantFlow Docs
Dashboard

Customer LTV - Per-Customer Lifetime Value and Margin Tracking

See every acquired customer with their lifetime revenue, lifetime gross margin, CAC, LTV:CAC ratio, and acquisition channel in MerchantFlow.

Customer LTV

The Customer LTV page in MerchantFlow ranks every customer acquired in your timeframe by lifetime margin (or by revenue, order count, or first-order date). Each row shows the customer's revenue LTV, margin LTV, margin percentage, acquisition CAC, and LTV:CAC ratio so you can see which customers and which channels actually pay for themselves.

Everything here is historical. There is no projection, no assumed lifespan, and no churn model - only the profit each customer has already delivered.

What Does This Page Show?

A sortable, paginated table of customers acquired during the selected timeframe. For each customer:

  • Customer - name or email (de-identified when neither is available)
  • Acquisition channel - the channel the customer was attributed to, when attribution is enabled
  • First order - the date of their first purchase
  • Orders - total orders to date
  • Revenue LTV - lifetime revenue across all their orders
  • Margin LTV - lifetime net profit across all their orders, after COGS, ad spend, payment fees, shipping and fulfillment, and allocated overhead
  • Margin - margin LTV divided by revenue LTV, colour-coded
  • CAC - the ad spend allocated to this customer's first order
  • LTV : CAC - margin LTV divided by CAC

Known copy mismatch. The in-app "How we calculate this" explainer, the page subtitle, and the Total Margin LTV tile subtitle all describe Margin LTV as gross profit. The figure the page actually computes and shows is net profit after allocated overhead, which is the stricter of the two. The Margin LTV subtext on the customer detail page ("net margin | Includes ... allocated overhead") is the accurate one. Trust the number, not the explainer.

How to Access Customer LTV

Navigate to Customers > Customer LTV from the main navigation.

The page respects the global timeframe selector. The timeframe controls when the customer was acquired, not when their orders were placed. A customer acquired inside the timeframe continues to accrue lifetime metrics from every order, including orders that fall outside the timeframe.

The timeframe is the only filter on this page - there is no search box and no channel or tier filter. The table refreshes automatically every 5 minutes.

Headline KPIs

Four tiles summarise the cohort acquired in the selected timeframe:

  • Customers Acquired - distinct customers with a first order in the timeframe
  • Total Margin LTV - lifetime net profit across the cohort
  • Average Margin LTV - mean lifetime margin per customer
  • Repeat Rate - share of acquired customers who placed more than one order

Sorting and Pagination

Click any of the four sortable headers (First Order, Orders, Revenue LTV, Margin LTV) to reorder the table. The default sort is margin LTV, descending. The Margin, CAC, and LTV : CAC columns are display-only and cannot be sorted on.

The table paginates at 25 rows. Use Previous and Next to walk through the rest of the cohort.

There is no CSV export on this page.

Drilling Into a Customer

Click any row to open the customer detail page, which adds average order value, days since last order, lifetime refunds and discounts, allocated overhead, and an order table with Order, Date, Status, Revenue, COGS, Ad spend, Profit, and Margin columns. The first order carries a First badge and the rest are numbered.

The order table shows the 200 most recent orders. Use it to understand whether a high LTV is driven by frequency, by basket size, or by a specific product mix.

LTV:CAC Ratio Interpretation

The per-customer LTV:CAC ratio is colour-coded into three bands:

  • 3x or higher - emerald (healthy)
  • 1x to 3x - amber (thin, still profitable)
  • Below 1x - rose (losing money on the customer)

The dashboard-level Unit Economics summary uses the same 1x and 3x thresholds but adds a fourth Excellent band at 5x and above. This page stops at three.

A customer with no attributed CAC shows a dash for both CAC and LTV:CAC.

Acquisition Channel Pill

When attribution is enabled, the Acquisition column shows the channel that brought the customer in and the country of acquisition, falling back to "Direct / Unknown". This makes it easy to spot which channels are buying high-LTV customers and which are buying churn risks.

If attribution is not enabled, the Acquisition column is hidden and every customer's CAC is zero, so the CAC and LTV : CAC columns show a dash throughout. Attribution is enabled per workspace by MerchantFlow support - see Attribution.

"Ask AI" Shortcut

The top-right Ask AI button opens Flow AI in Marketing mode. Use it to ask questions like:

  • "Which channel is buying my highest LTV customers?"
  • "What share of revenue this quarter came from customers acquired more than 12 months ago?"
  • "Which discount codes brought in customers with above-average margin LTV?"

Flow AI is available on Pro and Plus plans.

Frequently Asked Questions

Why is CAC shown as a dash for some customers?

CAC is the ad spend allocated to the customer's first order. It requires attribution to be enabled and ad spend to have been allocated to that order. Organic, referral, and direct customers will not have a CAC value, and neither will customers acquired through a channel where MerchantFlow has not yet synced ad spend. Ad spend on their later orders is never counted as acquisition cost.

Why is the LTV:CAC ratio so high or so low for one customer?

LTV:CAC is calculated as margin LTV divided by their attributed CAC. A few outlier customers, especially heavy repeat buyers, can show extremely high ratios. Use the cohort-level Unit Economics page for the more reliable aggregate signal.

What exactly is included in margin LTV?

Margin LTV sums each order's net profit, so it is already net of COGS, ad spend, payment fees, shipping and fulfillment costs, and allocated overhead. Revenue LTV is the sum of order subtotals. Because the per-order Profit column on the customer detail page uses the same net figure, those rows add up to the Margin LTV shown on the card.

Not every order counts toward the lifetime totals. A customer's Orders, Revenue LTV and Margin LTV are built only from orders that are paid, completed, or processing, are not cancelled, and are not manual B2B/wholesale orders -- one net-30 wholesale invoice would otherwise swamp a retail customer's LTV and distort their payback.

For the full company-level waterfall, see the P&L; for a country cut, see Margin by Region.

Are customers identified by email or by Shopify customer ID?

MerchantFlow uses the platform customer ID where available, and otherwise hashes the email to keep records distinct without exposing PII. The display name on the row prefers customer name, falls back to email, and falls back to a hash suffix when both are missing.

Is there a VIP, at-risk, or churned segmentation on this page?

No. This page has no customer tiers. Spend-tier classification (VIP, regular, casual, one-time) and win-back candidate lists are available as Flow AI skills instead.

Why is the repeat rate higher (or lower) than I expect?

The repeat rate counts customers from the acquisition timeframe who placed more than one order ever, including orders after the timeframe ended. Newer cohorts will show a lower repeat rate until they have had time to repurchase.


Last updated: August 29, 2026

Last updated on

On this page