Attribution and ROAS metric

First-touch, linear and last-touch ROAS

The same ad can have three very different ROAS numbers depending on how credit for a sale is split across the ads a customer saw. The trick is matching the model to the job each ad is doing.

Source: Tracked customer journeysComputed: Per order, rolled up per adBetter when: Model matches funnel stageAlso called: Attribution windows, multi-touch attribution
Formula
ROAS (model, window) =
Order revenue credited to the ad
under that model รท Ad spend

The model decides how credit is split. The window decides how far back a touchpoint can be and still count.

Updated November 2026 ยท 7 min read
01

What are attribution models?

Customers rarely buy after one ad. They might discover you through a reel, search for you on Google a week later, then come back through a retargeting ad and buy. Three ads touched that sale. ROAS needs a rule for who gets the revenue.

That rule is the attribution model. None of them is the truth. Each answers a different question, and each makes a different kind of ad look good.

First touchAll credit to the first ad. Answers: who found this customer?
LinearCredit split equally across every touch. Answers: who helped along the way?
Last touchAll credit to the final ad before purchase. Answers: who closed the sale?
Any touchFull credit to every ad involved. Answers: which ads appear in winning journeys?
02

How each model splits credit

Take one customer and one โ‚น3,000 order. On day 1 they see a Meta reel and click. On day 6 they search on Google and click a non-brand search ad. On day 9 they click a Meta retargeting ad and buy.

TouchpointFirst touchLinearLast touchAny touch
Day 1 ยท Meta reelโ‚น3,000โ‚น1,000โ‚น0โ‚น3,000
Day 6 ยท Google searchโ‚น0โ‚น1,000โ‚น0โ‚น3,000
Day 9 ยท Meta retargetingโ‚น0โ‚น1,000โ‚น3,000โ‚น3,000
Total creditedโ‚น3,000โ‚น3,000โ‚น3,000โ‚น9,000
Any touch doesn't add up, on purposeFirst touch, linear and last touch all hand out exactly the order value. Any touch gives the full โ‚น3,000 to every ad involved, so totals overlap. Use it to see which ads show up in buying journeys, never to sum revenue or plan a total budget.
03

Windows: how far back a touch can count

Every model comes with a window. A 3-day last-touch window only credits an ad if it was the last click within 3 days of the order. A 30-day first-touch window lets an ad that found the customer up to 30 days earlier take the credit.

Indian D2C journeys are often long, with COD hesitation, price comparison and festive-sale waiting. A short window quietly drops the ads that started those journeys. That's why prospecting needs a longer window than retargeting.

  1. 1Track every touchRecord each ad click per visitor, stitched across browsers on the same device.
  2. 2Join to the orderWhen an order lands, pull every touch inside the window.
  3. 3Split by the modelHand out the order's revenue using the model's rule.
  4. 4Roll up per adSum credited revenue per ad and divide by its spend.
04

Worked examples

Example 1: Three campaigns, three models

An illustrative month. The same โ‚น4,90,000 of revenue from orders these three campaigns touched, split three ways.

CampaignSpendFirst-touch revenueFirst-touch ROASLinear ROASLast-touch ROAS
Meta prospecting reelsโ‚น1,00,000โ‚น3,20,0003.202.100.90
Google non-brand searchโ‚น80,000โ‚น1,20,0001.502.002.20
Meta retargetingโ‚น60,000โ‚น50,0000.832.003.73

Revenue credited per model: first touch โ‚น3,20,000 / โ‚น1,20,000 / โ‚น50,000, linear โ‚น2,10,000 / โ‚น1,60,000 / โ‚น1,20,000, last touch โ‚น90,000 / โ‚น1,76,000 / โ‚น2,24,000. Each column sums to โ‚น4,90,000. Highlighted cells are the model each campaign should be judged on.

ROAS by campaign under each modelFirst touchLinearLast touch
Prospecting reelsNon-brand searchRetargeting
  • ProspectingLooks like a loss on last touch (0.90), yet it started journeys worth โ‚น3,20,000. Judge it on last touch and you'd cut the top of your funnel.
  • RetargetingShines on last touch (3.73) because it closes sales others started. On first touch it barely registers, which is fine for its job.
  • SearchSits in the middle on every model. Linear is the fairest read for an ad that helps along the way.

Example 2: Same model, different window

The prospecting reels campaign above, judged on first touch with two different windows.

7-day first touchToo short
ROAS1.40
Only counts customers who bought within a week of discovering you. Everyone who took longer disappears from the ad's credit.
30-day first touchFits the job
ROAS3.20
Captures customers who needed a few weeks to decide. Same ad, same spend, more than double the ROAS.
05

Which model for which ad

Judge each campaign by its funnel stage, and hold every channel at that stage to the same model. This is the practice we recommend as a starting point.

Prospecting
Judge on30-day first touch
WhyIts job is finding customers, and discovery-to-purchase can take weeks.
Middle of funnel
Judge on14-day linear
WhyIt nudges people who already know you. Shared credit reflects that.
Bottom of funnel
Judge on3-day last touch, or 30-day any touch
WhyIts job is closing. If it didn't close recently, it shouldn't take credit.
Channel budget split
Judge onMulti-touch, cross-checked with post-purchase survey data
WhySplitting budget across Meta, Google and others needs every channel's full contribution.
06

Common mistakes

  • One model for everythingLast touch everywhere starves prospecting. First touch everywhere overfunds it.
  • Summing any-touch revenueEvery ad gets full credit, so the total is many times real revenue.
  • Comparing across modelsA 3.2 on first touch and a 3.7 on last touch aren't a contest. They answer different questions.
  • Windows too shortA 7-day window cuts off customers who take weeks to decide, which is common for considered purchases.
07

Frequently asked questions

Which attribution model is the most accurate?

None of them on its own. Each answers a different question. Accuracy comes from tracking every touch and order correctly, then using the model that matches the ad's job.

How is this different from Meta's 7-day click, 1-day view?

Meta's setting is a last-touch-style model that only sees Meta's own touches and counts views. These models see every channel's clicks on your site and give each order to one owner.

Why does linear use 14 days and first touch 30?

Middle-of-funnel ads work on people already considering you, so their influence is closer to the purchase. Discovery can happen weeks before. Tune both windows to your own purchase cycle.

Switch models without switching tools

BooleanMaths tracks every touch and order, so you can see first-touch, linear, last-touch and any-touch ROAS side by side for any window.

Attribution and ROAS metric

First-touch, linear and last-touch ROAS

The same ad can have three very different ROAS numbers depending on how credit for a sale is split across the ads a customer saw. The trick is matching the model to the job each ad is doing.

Source: Tracked customer journeysComputed: Per order, rolled up per adBetter when: Model matches funnel stageAlso called: Attribution windows, multi-touch attribution
Formula
ROAS (model, window) =
Order revenue credited to the ad
under that model รท Ad spend

The model decides how credit is split. The window decides how far back a touchpoint can be and still count.

Updated November 2026 ยท 7 min read
01

What are attribution models?

Customers rarely buy after one ad. They might discover you through a reel, search for you on Google a week later, then come back through a retargeting ad and buy. Three ads touched that sale. ROAS needs a rule for who gets the revenue.

That rule is the attribution model. None of them is the truth. Each answers a different question, and each makes a different kind of ad look good.

First touchAll credit to the first ad. Answers: who found this customer?
LinearCredit split equally across every touch. Answers: who helped along the way?
Last touchAll credit to the final ad before purchase. Answers: who closed the sale?
Any touchFull credit to every ad involved. Answers: which ads appear in winning journeys?
02

How each model splits credit

Take one customer and one โ‚น3,000 order. On day 1 they see a Meta reel and click. On day 6 they search on Google and click a non-brand search ad. On day 9 they click a Meta retargeting ad and buy.

TouchpointFirst touchLinearLast touchAny touch
Day 1 ยท Meta reelโ‚น3,000โ‚น1,000โ‚น0โ‚น3,000
Day 6 ยท Google searchโ‚น0โ‚น1,000โ‚น0โ‚น3,000
Day 9 ยท Meta retargetingโ‚น0โ‚น1,000โ‚น3,000โ‚น3,000
Total creditedโ‚น3,000โ‚น3,000โ‚น3,000โ‚น9,000
Any touch doesn't add up, on purposeFirst touch, linear and last touch all hand out exactly the order value. Any touch gives the full โ‚น3,000 to every ad involved, so totals overlap. Use it to see which ads show up in buying journeys, never to sum revenue or plan a total budget.
03

Windows: how far back a touch can count

Every model comes with a window. A 3-day last-touch window only credits an ad if it was the last click within 3 days of the order. A 30-day first-touch window lets an ad that found the customer up to 30 days earlier take the credit.

Indian D2C journeys are often long, with COD hesitation, price comparison and festive-sale waiting. A short window quietly drops the ads that started those journeys. That's why prospecting needs a longer window than retargeting.

  1. 1Track every touchRecord each ad click per visitor, stitched across browsers on the same device.
  2. 2Join to the orderWhen an order lands, pull every touch inside the window.
  3. 3Split by the modelHand out the order's revenue using the model's rule.
  4. 4Roll up per adSum credited revenue per ad and divide by its spend.
04

Worked examples

Example 1: Three campaigns, three models

An illustrative month. The same โ‚น4,90,000 of revenue from orders these three campaigns touched, split three ways.

CampaignSpendFirst-touch revenueFirst-touch ROASLinear ROASLast-touch ROAS
Meta prospecting reelsโ‚น1,00,000โ‚น3,20,0003.202.100.90
Google non-brand searchโ‚น80,000โ‚น1,20,0001.502.002.20
Meta retargetingโ‚น60,000โ‚น50,0000.832.003.73

Revenue credited per model: first touch โ‚น3,20,000 / โ‚น1,20,000 / โ‚น50,000, linear โ‚น2,10,000 / โ‚น1,60,000 / โ‚น1,20,000, last touch โ‚น90,000 / โ‚น1,76,000 / โ‚น2,24,000. Each column sums to โ‚น4,90,000. Highlighted cells are the model each campaign should be judged on.

ROAS by campaign under each modelFirst touchLinearLast touch
Prospecting reelsNon-brand searchRetargeting
  • ProspectingLooks like a loss on last touch (0.90), yet it started journeys worth โ‚น3,20,000. Judge it on last touch and you'd cut the top of your funnel.
  • RetargetingShines on last touch (3.73) because it closes sales others started. On first touch it barely registers, which is fine for its job.
  • SearchSits in the middle on every model. Linear is the fairest read for an ad that helps along the way.

Example 2: Same model, different window

The prospecting reels campaign above, judged on first touch with two different windows.

7-day first touchToo short
ROAS1.40
Only counts customers who bought within a week of discovering you. Everyone who took longer disappears from the ad's credit.
30-day first touchFits the job
ROAS3.20
Captures customers who needed a few weeks to decide. Same ad, same spend, more than double the ROAS.
05

Which model for which ad

Judge each campaign by its funnel stage, and hold every channel at that stage to the same model. This is the practice we recommend as a starting point.

Prospecting
Judge on30-day first touch
WhyIts job is finding customers, and discovery-to-purchase can take weeks.
Middle of funnel
Judge on14-day linear
WhyIt nudges people who already know you. Shared credit reflects that.
Bottom of funnel
Judge on3-day last touch, or 30-day any touch
WhyIts job is closing. If it didn't close recently, it shouldn't take credit.
Channel budget split
Judge onMulti-touch, cross-checked with post-purchase survey data
WhySplitting budget across Meta, Google and others needs every channel's full contribution.
06

Common mistakes

  • One model for everythingLast touch everywhere starves prospecting. First touch everywhere overfunds it.
  • Summing any-touch revenueEvery ad gets full credit, so the total is many times real revenue.
  • Comparing across modelsA 3.2 on first touch and a 3.7 on last touch aren't a contest. They answer different questions.
  • Windows too shortA 7-day window cuts off customers who take weeks to decide, which is common for considered purchases.
07

Frequently asked questions

Which attribution model is the most accurate?

None of them on its own. Each answers a different question. Accuracy comes from tracking every touch and order correctly, then using the model that matches the ad's job.

How is this different from Meta's 7-day click, 1-day view?

Meta's setting is a last-touch-style model that only sees Meta's own touches and counts views. These models see every channel's clicks on your site and give each order to one owner.

Why does linear use 14 days and first touch 30?

Middle-of-funnel ads work on people already considering you, so their influence is closer to the purchase. Discovery can happen weeks before. Tune both windows to your own purchase cycle.

Switch models without switching tools

BooleanMaths tracks every touch and order, so you can see first-touch, linear, last-touch and any-touch ROAS side by side for any window.