Attribution and ROAS metric

Incremental ROAS

The revenue an ad created that would not have happened without it, divided by what you spent. It separates sales the ad caused from sales it simply got credit for.

Source: Lift tests or MMMComputed: Per test, per channelBetter when: HigherAlso called: iROAS, causal ROAS, lift ROAS
Formula
Incremental ROAS =
(Revenue with ads โˆ’ Revenue without)
รท Ad spend

"Revenue without" is never observed directly. It comes from a control group: a holdout audience, a set of paused regions, or a model.

Updated November 2026 ยท 6 min read
01

What is incremental ROAS?

Attribution answers "which ad touched this buyer?" It doesn't answer "would this buyer have bought anyway?" Someone who searches your brand name, or who already had items in their cart, often buys whether or not they see one more ad. Attribution still gives that ad the credit.

Incremental ROAS counts only the sales the ad caused. You find them by comparing a group that saw the ads with a similar group that didn't. The gap between the two is the ad's real effect, and that gap is usually smaller than attributed revenue.

Attributed ROASRevenue from orders the ad touched, under a chosen model and window.
Incremental ROASRevenue that exists only because the ad ran.
Incrementality factorThe share of attributed revenue that turned out to be truly incremental.
02

How it's calculated

Every method compares a treated group with a control. The control tells you what revenue would have been without the ads. Subtract it, and what's left is incremental.

InputWhere it comes fromWhat it gives us
test_revenueAll orders from regions or users who could see the adsRevenue with ads
control_revenueAll orders from matched regions or a holdout group with ads offBaseline, scaled to the test group's size
spendAd platform, test group onlyThe denominator
attributed_revenueYour attribution, same period and groupIncrementality factor, to correct future attributed numbers
Incremental revenueTest revenue โˆ’ Expected revenueExpected = control revenue scaled by the pre-test ratio.
Incremental ROASIncremental revenue รท SpendWhat the ads actually caused per rupee.
Incrementality factorIncremental รท Attributed revenueMultiply future attributed ROAS by this to estimate iROAS.
Why count all revenue, not just attributed?A lift test compares total sales in both groups, from every channel. That catches what attribution misses in both directions: buyers who would have come anyway, and buyers the ad influenced who never clicked it.
03

How to measure it

Pick the method that fits the channel and your budget. Each gives a point-in-time reading, so rerun it when spend, creative or season changes a lot.

  1. 1Geo testPause a campaign in a set of matched states or cities and compare total sales against those still running it.
  2. 2Holdout audienceRandomly exclude a slice of your target audience, often through the platform's own lift study, and compare conversion rates.
  3. 3Marketing mix modelEstimate each channel's contribution from how sales moved with spend over 12 to 24 months of history.
Make the groups comparable firstPick test and control regions that tracked each other closely in the weeks before the test. If they didn't move together before, the difference during the test can't be pinned on the ads.
04

Worked examples

Example 1: A geo test on a retargeting campaign

An illustrative brand pauses its Meta retargeting campaign in a group of control states for four weeks and keeps it running everywhere else. Before the test, the test states sold exactly twice as much as the control states.

LineValueHow we got it
Control states, all revenueโ‚น21,00,000Orders, campaign paused
Expected test revenue without the campaignโ‚น42,00,000Control ร— 2.0 pre-test ratio
Test states, all revenueโ‚น45,60,000Orders, campaign running
Incremental revenueโ‚น3,60,000โ‚น45,60,000 โˆ’ โ‚น42,00,000
Campaign spend in test statesโ‚น3,00,000Meta Ads
Attributed revenue in test statesโ‚น10,50,000Attributed ROAS 3.50
Incremental ROAS1.20โ‚น3,60,000 รท โ‚น3,00,000 ยท incrementality factor 34%
Revenue credited vs revenue caused
About two thirds of the revenue attribution gave this campaign would have come in anyway.
  • AttributedA ROAS of 3.5 made this look like one of the best campaigns in the account.
  • IncrementalIt caused โ‚น1.20 of revenue for every rupee. Whether that's profitable depends on break-even ROAS. At a break-even of 2.0, it isn't.
  • Going forwardThe 34% factor can be applied to this campaign's attributed ROAS until the next test.

Example 2: Two campaigns, ranked differently

Illustrative results from two tests in the same account. Attribution and incrementality put them in opposite order.

Broad prospectingMostly incremental
Attributed ROAS2.20
Incremental ROAS1.90
It reaches people who didn't know the brand, so almost all of its credit is earned.
Brand searchMostly captured
Attributed ROAS6.00
Incremental ROAS0.90
People searching your name were already coming. The ad mostly collects credit for demand created elsewhere.
05

Using incremental ROAS to decide

Use iROAS to set how much you trust each campaign's attributed numbers. Compare it to break-even ROAS, and treat these bands as a starting point.

Earning its credit
You seeiROAS above break-even and close to attributed ROAS.
Do thisTrust its attributed numbers and scale it while marginal ROAS holds.
Over-credited
You seeiROAS above break-even but far below attributed ROAS.
Do thisKeep it, but apply the incrementality factor before comparing it with other campaigns.
Not paying back
You seeiROAS below break-even, whatever attribution says.
Do thisCut budget hard, narrow it to a defensive minimum, and move the spend to campaigns that create demand.
Inconclusive
You seeThe difference between groups is within normal week-to-week noise.
Do thisDon't act on it. Run longer, use bigger regions, or test a bigger spend change.
06

Common mistakes

  • Treating attribution as causationA touch before purchase isn't proof the ad caused it, especially for retargeting and brand search.
  • Comparing only attributed salesLift tests compare total revenue in each group. Using attributed sales brings the bias straight back.
  • Mismatched regionsMetros vs tier 3 towns will differ for reasons that have nothing to do with ads.
  • Testing once, trusting foreverIncrementality shifts with spend, creative and season. Retest at least a couple of times a year.
07

Frequently asked questions

Is incremental ROAS always lower than attributed ROAS?

Usually, but not always. Upper-funnel video or awareness campaigns can drive buyers who never click, so their incremental effect can exceed what click-based attribution gives them.

Which campaigns should I test first?

The ones with high attributed ROAS that reach people who already know you: retargeting, brand search and existing-customer audiences. That's where the gap between credited and caused tends to be biggest.

How is it different from marginal ROAS?

Incremental ROAS compares ads on vs ads off. Marginal ROAS compares your current budget with a bit more. One tells you whether a campaign works at all, the other whether it's worth growing.

Do I lose sales by running a holdout?

Only the incremental sales in the control group, which is exactly what you're trying to measure. Keep the control small and the test short enough to limit the cost.

Know which sales your ads actually caused

BooleanMaths tracks every order by region and channel, so geo tests and marketing mix models read from the same clean data as your attribution.

Attribution and ROAS metric

Incremental ROAS

The revenue an ad created that would not have happened without it, divided by what you spent. It separates sales the ad caused from sales it simply got credit for.

Source: Lift tests or MMMComputed: Per test, per channelBetter when: HigherAlso called: iROAS, causal ROAS, lift ROAS
Formula
Incremental ROAS =
(Revenue with ads โˆ’ Revenue without)
รท Ad spend

"Revenue without" is never observed directly. It comes from a control group: a holdout audience, a set of paused regions, or a model.

Updated November 2026 ยท 6 min read
01

What is incremental ROAS?

Attribution answers "which ad touched this buyer?" It doesn't answer "would this buyer have bought anyway?" Someone who searches your brand name, or who already had items in their cart, often buys whether or not they see one more ad. Attribution still gives that ad the credit.

Incremental ROAS counts only the sales the ad caused. You find them by comparing a group that saw the ads with a similar group that didn't. The gap between the two is the ad's real effect, and that gap is usually smaller than attributed revenue.

Attributed ROASRevenue from orders the ad touched, under a chosen model and window.
Incremental ROASRevenue that exists only because the ad ran.
Incrementality factorThe share of attributed revenue that turned out to be truly incremental.
02

How it's calculated

Every method compares a treated group with a control. The control tells you what revenue would have been without the ads. Subtract it, and what's left is incremental.

InputWhere it comes fromWhat it gives us
test_revenueAll orders from regions or users who could see the adsRevenue with ads
control_revenueAll orders from matched regions or a holdout group with ads offBaseline, scaled to the test group's size
spendAd platform, test group onlyThe denominator
attributed_revenueYour attribution, same period and groupIncrementality factor, to correct future attributed numbers
Incremental revenueTest revenue โˆ’ Expected revenueExpected = control revenue scaled by the pre-test ratio.
Incremental ROASIncremental revenue รท SpendWhat the ads actually caused per rupee.
Incrementality factorIncremental รท Attributed revenueMultiply future attributed ROAS by this to estimate iROAS.
Why count all revenue, not just attributed?A lift test compares total sales in both groups, from every channel. That catches what attribution misses in both directions: buyers who would have come anyway, and buyers the ad influenced who never clicked it.
03

How to measure it

Pick the method that fits the channel and your budget. Each gives a point-in-time reading, so rerun it when spend, creative or season changes a lot.

  1. 1Geo testPause a campaign in a set of matched states or cities and compare total sales against those still running it.
  2. 2Holdout audienceRandomly exclude a slice of your target audience, often through the platform's own lift study, and compare conversion rates.
  3. 3Marketing mix modelEstimate each channel's contribution from how sales moved with spend over 12 to 24 months of history.
Make the groups comparable firstPick test and control regions that tracked each other closely in the weeks before the test. If they didn't move together before, the difference during the test can't be pinned on the ads.
04

Worked examples

Example 1: A geo test on a retargeting campaign

An illustrative brand pauses its Meta retargeting campaign in a group of control states for four weeks and keeps it running everywhere else. Before the test, the test states sold exactly twice as much as the control states.

LineValueHow we got it
Control states, all revenueโ‚น21,00,000Orders, campaign paused
Expected test revenue without the campaignโ‚น42,00,000Control ร— 2.0 pre-test ratio
Test states, all revenueโ‚น45,60,000Orders, campaign running
Incremental revenueโ‚น3,60,000โ‚น45,60,000 โˆ’ โ‚น42,00,000
Campaign spend in test statesโ‚น3,00,000Meta Ads
Attributed revenue in test statesโ‚น10,50,000Attributed ROAS 3.50
Incremental ROAS1.20โ‚น3,60,000 รท โ‚น3,00,000 ยท incrementality factor 34%
Revenue credited vs revenue caused
About two thirds of the revenue attribution gave this campaign would have come in anyway.
  • AttributedA ROAS of 3.5 made this look like one of the best campaigns in the account.
  • IncrementalIt caused โ‚น1.20 of revenue for every rupee. Whether that's profitable depends on break-even ROAS. At a break-even of 2.0, it isn't.
  • Going forwardThe 34% factor can be applied to this campaign's attributed ROAS until the next test.

Example 2: Two campaigns, ranked differently

Illustrative results from two tests in the same account. Attribution and incrementality put them in opposite order.

Broad prospectingMostly incremental
Attributed ROAS2.20
Incremental ROAS1.90
It reaches people who didn't know the brand, so almost all of its credit is earned.
Brand searchMostly captured
Attributed ROAS6.00
Incremental ROAS0.90
People searching your name were already coming. The ad mostly collects credit for demand created elsewhere.
05

Using incremental ROAS to decide

Use iROAS to set how much you trust each campaign's attributed numbers. Compare it to break-even ROAS, and treat these bands as a starting point.

Earning its credit
You seeiROAS above break-even and close to attributed ROAS.
Do thisTrust its attributed numbers and scale it while marginal ROAS holds.
Over-credited
You seeiROAS above break-even but far below attributed ROAS.
Do thisKeep it, but apply the incrementality factor before comparing it with other campaigns.
Not paying back
You seeiROAS below break-even, whatever attribution says.
Do thisCut budget hard, narrow it to a defensive minimum, and move the spend to campaigns that create demand.
Inconclusive
You seeThe difference between groups is within normal week-to-week noise.
Do thisDon't act on it. Run longer, use bigger regions, or test a bigger spend change.
06

Common mistakes

  • Treating attribution as causationA touch before purchase isn't proof the ad caused it, especially for retargeting and brand search.
  • Comparing only attributed salesLift tests compare total revenue in each group. Using attributed sales brings the bias straight back.
  • Mismatched regionsMetros vs tier 3 towns will differ for reasons that have nothing to do with ads.
  • Testing once, trusting foreverIncrementality shifts with spend, creative and season. Retest at least a couple of times a year.
07

Frequently asked questions

Is incremental ROAS always lower than attributed ROAS?

Usually, but not always. Upper-funnel video or awareness campaigns can drive buyers who never click, so their incremental effect can exceed what click-based attribution gives them.

Which campaigns should I test first?

The ones with high attributed ROAS that reach people who already know you: retargeting, brand search and existing-customer audiences. That's where the gap between credited and caused tends to be biggest.

How is it different from marginal ROAS?

Incremental ROAS compares ads on vs ads off. Marginal ROAS compares your current budget with a bit more. One tells you whether a campaign works at all, the other whether it's worth growing.

Do I lose sales by running a holdout?

Only the incremental sales in the control group, which is exactly what you're trying to measure. Keep the control small and the test short enough to limit the cost.

Know which sales your ads actually caused

BooleanMaths tracks every order by region and channel, so geo tests and marketing mix models read from the same clean data as your attribution.