kimo

Blended ROAS without lying to yourself

Every ad platform reports a ROAS that makes it look like the hero. Add them up and you have “earned” 140% of your actual revenue. Here is how to compute a blended number that survives a conversation with finance.

Sam Okafor
Growth lead7 min read

Platform ROAS is not a lie, exactly. It is an answer to a narrow question — “how much revenue did this platform’s pixel see after someone interacted with an ad?” — using that platform’s attribution window and its own definition of a conversion. The problem starts when we treat four of those narrow answers as one wide one.

Why the platforms add up to more than 100%

A customer sees a Meta ad on Monday, clicks a Google search ad on Wednesday and buys on Thursday. Meta claims the sale under its 7-day click / 1-day view window. Google claims it under its 30-day click window. Your Shopify store recorded one order. Your dashboards now show two.

Platform-reported vs blended ROAS
  • Sum of platform ROAS
  • Blended ROAS (net)
Figure. Simulated DTC brand, 8 months. Platform ROAS is the spend-weighted sum of Google, Meta and TikTok self-reported values; blended ROAS uses net revenue from the store.

Notice that the two lines do not even move together. Platform ROAS peaked in June when the team ramped retargeting — an audience that would mostly have bought anyway. Blended ROAS improved later, after budget moved to prospecting.

Start from net revenue, not pixel revenue

The numerator of an honest ROAS comes from your store or billing system, not from an ad platform. And it should be net: after refunds, chargebacks and discounts, and ideally excluding shipping and tax. A 12% refund rate is invisible to every pixel ever written.

Blended ROAS by week
sql
select
    date_trunc('week', o.created_at)                         as week,
    sum(o.subtotal - o.discounts - coalesce(r.refunded, 0))  as net_revenue,
    sum(s.spend)                                             as ad_spend,
    round(
        sum(o.subtotal - o.discounts - coalesce(r.refunded, 0))
        / nullif(sum(s.spend), 0), 2
    )                                                        as blended_roas
from shopify.orders o
left join shopify.refunds_by_order r on r.order_id = o.id
join ads.daily_spend s on s.date = o.created_at::date
where o.test is false
group by 1
order by 1;

The three numbers your CFO actually wants

Finance does not care which platform gets credit. They care whether the next euro of spend will come back, and how fast. Give them these three, every week, from the same model:

MetricFormulaWhat it answers
Blended ROASNet revenue ÷ total ad spendIs paid media efficient overall?
MER (new customers)First-order net revenue ÷ spendAre we buying growth or recycling buyers?
CAC paybackCAC ÷ monthly gross margin per customerHow many months until spend comes back?
Keep platform ROAS for in-platform optimisation. Use these for budget decisions.

What about incrementality?

Blended metrics tell you whether the whole machine works, not which part to cut. For that you need experiments: geo holdouts, conversion lift studies, or simply pausing a channel in one region for two weeks. Kimo’s comparison view lets you overlay a holdout region against the rest and read the gap directly.

“The day we stopped arguing about attribution and started reporting MER and payback, our budget meetings went from ninety minutes to twenty.”
— Head of growth at a fictional DTC brand

Setting it up in Kimo

Spend comes from each ad platform; revenue only ever comes from the store.

Connect your ad accounts for spend and your store for revenue. Kimo Marketing ships a paid_media model with the three metrics above pre-defined, including the provisional refund adjustment. Adjust the margin assumption, set an alert on CAC payback crossing your threshold, and share the dashboard with finance. It is the one number you will both agree on.

  • #Paid media
  • #ROAS
  • #Finance
Found this useful? Pass it on.
Written by
Sam Okafor
Growth lead at Kimo · 3 articles

Writes about GEO, SEO, AI search, Attribution.

People, companies and figures in this article are illustrative; charts use simulated data.

Put it to work

Go deeper

Whitepaper

One View of Marketing

Unified measurement across social, search, paid and earned media, in the age of AI search.

24 pages
Live demo

Open the Command center

Social, SEO, paid, email, PR and AI-search visibility in one live overview.

Simulated data · no sign-up

All resources
ArticlePlaybooks
Marketing

GEO: how to show up in AI answers — and measure it

Generative engine optimization explained with the research behind it, what Google says, and what you can and cannot measure today.

Sam Okafor
12 min read

Every channel. One dashboard.

Social, SEO, paid, email, PR and AI-search visibility, normalized into one command center your whole team reads the same way.