Reading Marketing ROI Across First-Order vs Repeat-Customer Revenue

Metricuno
July 2, 2026
6 min read
Reading Marketing ROI Across First-Order vs Repeat-Customer Revenue — Split first-order and repeat revenue before computing marketing ROI. Worked example, benchmarks, and a board-ready view of true paid acquisition payback.
Quick answer

How to split first-order and repeat-customer revenue before computing marketing ROI — so paid spend gets credit only for the customers it actually acquired.

Quick answer

Compute marketing ROI twice: once on first-order revenue only (what paid actually acquired) and once blended (with repeat revenue included). The first-order number is your floor and the honest acquisition metric; the blended number is a ceiling that mixes in retention. If they diverge by more than ~1.5x, retention is subsidising paid — cut spend or reallocate before the cash gap widens.

Definition
Marketing analytics

Reading Marketing ROI Across First-Order vs Repeat-Customer Revenue

Splitting attributed revenue between net-new and repeat buyers so paid ROI reflects acquisition, not retention.

Reading marketing ROI across first-order and repeat-customer revenue means computing two ROI figures side-by-side: first-order ROI (paid spend against revenue from customers whose order was their first with the brand) and blended ROI (paid spend against all attributed revenue, including repeat purchases from returning customers).

The split matters because platform-attributed revenue in Meta, Google, and Klaviyo bundles both cohorts. Without separating them, retention-driven revenue silently inflates paid ROI, hiding a weakening acquisition engine. The first-order view is what a Head of E-commerce can defend to the board as the true cost of new customers.

Also known as
First-order ROI split
New vs repeat ROI decomposition
Incremental acquisition ROI

Most Shopify and WooCommerce dashboards report one ROI number. It looks healthy — 3x, 4x, sometimes higher on retargeting lines — because it silently mixes revenue from customers you already had with revenue from customers paid ads actually brought in.

The moment you separate the two cohorts, the story changes. First-order ROI on paid channels often lands between 0.7x and 1.3x for scaling DTC brands, while blended ROI shows 2.5x–4x. That gap is your retention engine doing acquisition's job on the P&L.

Why blended ROI misleads

Meta and Google attribution windows credit purchases within 7–28 days of an ad interaction. A returning skincare customer who clicks a retargeting ad and reorders her serum counts as attributed revenue — even though she'd have reordered from a Klaviyo replenishment flow anyway.

The mechanism is well-documented in the sibling entity on why repeat-customer revenue inflates paid ROI on subscription DTC stores: platforms optimise toward whichever conversions are cheapest to claim, and repeat buyers are the cheapest. So retargeting budgets grow, blended ROI stays flat, and first-order ROI quietly collapses.

The tell

If your blended ROI is stable but new-customer count is falling quarter-over-quarter, retention is masking a broken acquisition funnel. Cash gets tight even though the dashboard looks green — the 'repeat-revenue mirage' pattern.

How to detect the split

Start with the customer object, not the order object. In Shopify, tag every order with the customer's lifetime order count at time of purchase; order_number = 1 is first-order revenue, everything else is repeat. WooCommerce needs a similar hook via customer meta; Magento exposes it through the customer_entity table.

Then join paid spend by channel to first-order revenue only. Klaviyo flow revenue should be stripped out of the paid ROI calculation entirely and reported as retention — see the related entity on attributing Klaviyo flow revenue to retention, not paid acquisition.

The three signals to track weekly: first-order ROI by channel, new-customer count trend, and the ratio of blended-to-first-order ROI. When that ratio drifts above 2.0x, budget is being justified by revenue paid didn't cause.

Worked example: €5M skincare brand

Benchmark

Paid channel ROI split for a €5M DTC skincare brand, trailing 90 days

ChannelSpendBlended revenueFirst-order revenueBlended ROIFirst-order ROI
Meta prospecting€180,000€420,000€195,0002.3x1.08x
Meta retargeting€95,000€480,000€60,0005.1x0.63x
Google Search brand€40,000€260,000€45,0006.5x1.13x
Google Shopping€120,000€360,000€185,0003.0x1.54x
TikTok prospecting€65,000€110,000€92,0001.7x1.42x
Total paid€500,000€1,630,000€577,0003.26x1.15x

The board sees 3.26x blended and assumes the paid engine is compounding. First-order ROI at 1.15x tells the real story: after COGS (30%), shipping and fulfilment (12%), and payment processing (2.5%), the brand is losing roughly €0.20 per new customer acquired. Retention pays for the loss — but only until acquisition volume falls faster than repeat purchase rates rise.

How to report it to the board

Present two lines, not one. First-order ROI is the acquisition floor — the number that answers 'is paid buying customers profitably?' Blended ROI is the ceiling — 'what is paid touching in total?' The related entity on first-order ROI floor vs blended ROI ceiling for board reporting formalises this framing.

For brands past 18 months of scale, replace the two-line view with a cohort ROI: paid spend in month N against 12-month revenue from customers acquired in month N. That's the version mature boards want, and it's covered in the cohort-view entity linked from this cluster.

Experiment ideas

Test 1: exclude existing customers from Meta prospecting audiences for 4 weeks, then compare first-order ROI before and after. Most brands see prospecting first-order ROI improve 20–35% because spend stops being wasted on people who'd have bought anyway.

Test 2: cut retargeting spend by 50% for a two-week holdout window, measured against a matched control period. If total first-order revenue holds within 5%, retargeting was cannibalising retention — reallocate the budget to prospecting or top-of-funnel content. See the retargeting acquisition-vs-retention-tax entity for the full protocol.

Frequently asked

Frequently asked questions

Use order_number = 1 at the customer level, not the session level. In Shopify, customer.orders_count = 1 at purchase time. WooCommerce exposes _order_count on customer meta; Magento uses the sales_order table joined to customer_entity. Email-based deduplication matters — guest checkouts with the same email should collapse into one customer identity.

Yes. Klaviyo flows (welcome, abandoned cart, browse abandonment, replenishment) are retention mechanics, even when they fire on a first-time buyer. Report flow revenue as its own line under retention, not blended into paid channel ROI. Otherwise the email budget line looks like it's earning 40x ROI while doing work that would happen without it.

Break-even to 1.3x is typical for scaling brands with strong repeat rates (40%+ 12-month repeat purchase). Sub-1x first-order ROI is defensible only if 12-month LTV/CAC exceeds 3x and cash reserves cover the payback window. Above 1.5x first-order ROI usually means you're under-investing in acquisition.

CAC divides paid spend by new customers acquired. First-order ROI divides first-order revenue by paid spend. They're two views of the same event — CAC tells you the unit cost, first-order ROI tells you the unit revenue against that cost. Track both; they move together but drift when AOV or channel mix shifts.

Especially there. Subscription brands see repeat revenue inflate paid ROI more aggressively because a single acquired customer generates 6–24 months of attributed revenue if they stay subscribed. The sibling entity on subscription DTC ROI inflation covers the amortisation math.

Start with email as the identity key and accept ~5–10% noise from guest checkouts and multi-email customers. Deduplicate by hashed email in your warehouse. Perfect identity resolution isn't required to get a directionally correct first-order ROI — the split between 3x blended and 1x first-order is too large to be explained by identity noise.

Around 18–24 months of trading history and once monthly new-customer cohorts exceed ~500 buyers. Below that, cohorts are too small to read; above it, cohort ROI at month 6 or month 12 becomes the more honest number and the first-order/blended split becomes a supporting view.

Branded search is mostly retention with an acquisition surcharge. Report it separately from prospecting and expect first-order ROI to look inflated (1.0x–1.5x) but new-customer count to be small. Cutting branded search entirely usually recovers 60–80% of the 'lost' revenue organically — a useful holdout test.

It affects blended ROI significantly (7-day-click vs 1-day-click can move blended ROI by 30–50%) but first-order ROI far less, because first-order revenue is bounded by the actual new-customer count. If your first-order ROI moves wildly with attribution settings, your identity resolution is broken, not your channel.

A data warehouse (BigQuery, Snowflake, or Postgres), your platform's order export with customer_id, and paid spend by channel by day. Metricuno assembles this view automatically from Shopify/Woo/Magento plus ad-platform connectors, but any warehouse + Looker/Metabase stack can produce it in a week of analyst work.

Track CAC, channels, and funnel conversion in one place

Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.