# UTM Attribution ROI Calculator

Re-credit a UTM campaign under last-click, first-click, linear and position-based models, then price it on gross profit.

---

- **Canonical URL:** https://dothecalculation.com/calculators/utm-attribution-roi-calculator
- **Category:** Creative & Digital Marketing
- **Publisher:** Do The Calculation (https://dothecalculation.com)
- **Cost:** Free, no account or sign-up required
- **Privacy:** Runs entirely in the browser; inputs are never sent to a server
- **Methodology:** https://dothecalculation.com/methodology

---

## Price a UTM Campaign Under Four Attribution Models

Re-credit the same campaign as last click, first click, linear and position-based, gross it up for the conversions UTM tagging never sees, and read ROAS against a real break-even.

- All four models side by side, from the same tracked numbers
- Adjusts for dark social and direct traffic that carries no UTM tags
- Break-even ROAS from your gross margin, not the useless 1.0x

## Quick Answer — Why the Same Campaign Has Four Different ROIs

A UTM parameter records where a visit came from. It does not record how much of the sale that visit deserves. Deciding that is what an attribution model does, and the model your dashboard defaults to — last click — hands 100% of the credit to whichever campaign happened to be the final touch before the order.

Feed the same tracked numbers into four models and the credit moves substantially. Take a campaign with **$4,800 of spend**, **12,500 sessions**, **140 last-touch conversions**, **96 first-touch conversions**, **260 conversion journeys touched anywhere**, and an average of **3.2 touchpoints per journey**:

• **Last click** — 140.0 conversions credited

• **Position-based (40/20/40)** — 98.4 credited

• **First click** — 96.0 credited

• **Linear** — 81.3 credited

That is a **72% spread** between the most and least generous model, from a single set of numbers. At an $85 average order value and a 62% gross margin, the last-click view returns **3.02x ROAS and 87% ROI**. The linear view of the identical campaign returns **1.75x ROAS and 9% ROI** — technically still profitable, but nowhere near the story the dashboard told.

The break-even ROAS is 1 divided by the gross margin. At 62% that is **1.61x**, so both views clear it, which is the honest conclusion: the campaign works, but it is not the outlier last click makes it look.

## How to Use This Calculator: A Paid Social Campaign

Start with the four numbers your analytics can actually give you. **Last-touch conversions** and **first-touch conversions** come straight from a UTM-segmented conversion report. **Journeys touched** is the count of converting journeys where this campaign appeared anywhere — the "assisted conversions" view in most tools. **Average touchpoints** is the mean number of marketing touches across converting journeys, typically between two and five.

For the campaign above, the linear credit is 260 journeys divided by 3.2 touchpoints, or **81.25 conversions** — the campaign gets an equal share of every journey it appeared in. Position-based gives 40% of the 96 first touches, 40% of the 140 last touches, and splits the remaining 20% across the 24 journeys where the campaign was neither first nor last: 38.4 + 56.0 + 4.0 = **98.4 conversions**.

Then the correction almost nobody makes. Set **untracked share** to the proportion of real conversions your UTM tagging never sees at all: dark social, copied links stripped of parameters, cross-device journeys, direct return visits. At **18%**, the 140 tracked conversions imply 140 ÷ 0.82 = **170.7 real ones**, adding 30.7 conversions the report never showed. Revenue rises from $11,900 tracked to **$14,512** attributed, and cost per acquisition falls from $34.29 to **$28.11**.

Finally, judge the result against gross profit rather than revenue. At 62% margin the campaign produces **$8,998 of gross profit** on $4,800 of spend — **$4,198 net**, an **87% ROI**. The maximum you could pay per acquisition and still break even is $85 × 62% = **$52.70**, so at $28.11 there is real headroom to bid harder. The [marketing ROI calculator](/calculators/marketing-roi-calculator) runs the same profit logic across a whole marketing budget rather than one campaign.

## A Second Example: A Small High-Value Campaign

The models diverge differently when journeys are short. Take a niche campaign with **$650 of spend**, **1,900 sessions**, **22 last-touch** and **14 first-touch** conversions, **41 journeys touched**, only **2.4 average touchpoints**, a **$240 average order value**, a **48% margin** and a heavier **25% untracked share**. Read it position-based.

Credit comes out at 0.4 × 14 + 0.4 × 22 + the middle share, giving **15.4 conversions** — less than last click's 22 and less than linear's 17.1. Grossed up for untracked traffic that becomes **20.5 conversions**, worth **$4,928** in revenue and **$2,365** in gross profit against $650 of spend. That is **7.58x ROAS**, a **264% ROI**, and a **$31.66 cost per acquisition** against a $115.20 ceiling.

Two things are worth noticing. The model spread here is 57% rather than 72%, because with only 2.4 touchpoints per journey there is less middle to share out — short journeys make attribution arguments smaller. And the untracked correction matters far more at 25% than at 18%: it adds a fifth of the campaign's measured performance back.

For campaigns where the spend decision is a daily budget rather than a retrospective review, the [PPC daily ad budget calculator](/calculators/ppc-daily-ad-budget-calculator) works backwards from a target cost per acquisition, and the [email marketing ROI calculator](/calculators/email-marketing-roi-calculator) handles the channel where last-click attribution is least defensible of all.

## Choosing a Model, and Building UTMs That Survive

There is no correct model, only models that are wrong in known directions. **Last click** overstates bottom-funnel channels — branded search, retargeting, email — because they are near the purchase by construction. **First click** overstates discovery channels for the same reason in reverse. **Linear** understates everything if journeys are long, since credit is spread thin. **Position-based** is a compromise that hard-codes an opinion: that the first and last touches matter twice as much as the middle ones.

The practical answer is to pick one model as the reporting standard, keep it fixed, and look at the spread as a confidence interval. A campaign that clears break-even under every model is genuinely working. A campaign that clears it only under last click is a candidate for a holdout test, not a budget increase.

The tagging itself decides whether any of this is measurable. Three rules cover most of the damage: use a documented, lowercase naming convention so `Facebook`, `facebook` and `FB` do not split into three sources; never tag internal links, which overwrites the original source and hands your own site the credit; and check that redirects preserve query strings, since a single redirect that drops parameters silently converts a tracked campaign into direct traffic.

The untracked share is worth estimating rather than ignoring. A rough method: compare direct-traffic conversions in a period with heavy campaign activity against a quiet baseline period. The lift in "direct" is largely campaign traffic that lost its tags, and expressing it as a share of total conversions gives a defensible input. For the broader vocabulary around all of this, the [paid media metrics guide](/blog/marketing/paid-media-metrics-guide) covers how CPC, CPM, CTR, CPA, ROAS and ROI relate to each other.

## Limitations

Every model here is a rule for dividing credit, not a measurement of causation. None of them can tell you whether a conversion would have happened without the campaign. The only method that answers that question is a holdout or geo-lift experiment, where a comparable audience is deliberately not exposed and the difference is measured. Attribution allocates observed conversions; incrementality testing establishes which ones the marketing caused.

The linear and position-based figures use an average number of touchpoints across all journeys rather than journey-level data. That is the input most people can actually get, but it flattens real variation: a campaign that appears in short journeys and one that appears in long journeys are treated identically. If your analytics can export per-journey path data, a path-level model will be more accurate than this approximation.

The untracked-share correction assumes the conversions UTM tagging misses look like the ones it captures — same order value, same distribution across campaigns. In practice untracked traffic skews toward brand-aware buyers and repeat customers, so grossing up a prospecting campaign by the site-wide untracked rate probably flatters it. Use a channel-specific estimate where you have one.

Finally, the margin input carries a lot of weight and is easy to get wrong. Gross margin here means revenue minus cost of goods, shipping and payment processing — not net margin after overheads, and not the headline markup. A campaign judged against an overstated margin will look profitable at a ROAS that is actually losing money on every order.

## Related Calculators

The [Marketing ROI Calculator](/calculators/marketing-roi-calculator) applies the same gross-profit logic across a whole marketing budget rather than a single campaign. The [PPC Daily Ad Budget Calculator](/calculators/ppc-daily-ad-budget-calculator) works backwards from a target cost per acquisition to the daily spend that supports it. The [Email Marketing ROI Calculator](/calculators/email-marketing-roi-calculator) covers the channel where last-click attribution is least defensible, since email usually arrives late in a journey it did not start. And the [Cost Per Lead (CPL) Calculator](/calculators/cost-per-lead-cpl-calculator) handles the top of the funnel, where conversions are leads rather than orders and the attribution question starts all over again.

## Frequently asked questions

### What is UTM attribution ROI?

It is the return on a campaign after deciding how much of each conversion that campaign deserves. UTM parameters tell you where a visit came from; an attribution model decides how to share credit across every touch in the journey. The same campaign can return 3.02x ROAS under last click and 1.75x under linear from identical tracked numbers.

### Which attribution model should I use?

Pick one as your reporting standard, keep it fixed, and read the spread across all four as a confidence interval. A campaign that clears break-even under every model is genuinely working. One that clears it only under last click is a candidate for a holdout test rather than a budget increase.

### How is position-based attribution calculated?

The common 40/20/40 split gives 40% of credit to the first touch, 40% to the last, and shares the remaining 20% across the middle touches. For a campaign with 96 first touches, 140 last touches and 24 journeys where it was neither, that is 38.4 + 56.0 + 4.0 = 98.4 conversions credited.

### What is a good ROAS?

Whatever beats your break-even, which is 1 divided by your gross margin. At a 62% margin, break-even is 1.61x, so 3.02x is comfortably profitable. At a 15% margin, break-even is 6.67x and a 2x ROAS loses money on every order. There is no universal good number, only a number relative to your margin.

### Why does my UTM data undercount conversions?

Because a lot of real traffic arrives with no parameters: links copied and pasted without them, dark social sharing, cross-device journeys, and return visits that land as direct. Estimate that share and gross the tracked figure up by dividing by (1 minus the share). At 18% untracked, 140 tracked conversions imply 170.7 real ones.

### How do I estimate my untracked share?

Compare direct-traffic conversions during a period of heavy campaign activity against a quiet baseline. The lift in "direct" is largely campaign traffic that lost its tags. Expressed as a share of total conversions, that gives a defensible input — usually somewhere between 10% and 30% for consumer businesses.

### Does attribution prove a campaign caused the sale?

No. Attribution divides observed conversions among the touches that preceded them. It cannot tell you whether the sale would have happened anyway. Only a holdout or geo-lift experiment, where a comparable audience is deliberately not exposed, answers the causation question.

### What breaks UTM tracking most often?

Three things, in order: inconsistent capitalisation splitting one source into several, tagging internal links so your own site overwrites the original source, and redirects that drop query strings and silently convert a tracked visit into direct traffic. All three are cheap to prevent and expensive to detect after the fact.

## Related concepts

- **Attribution Model** — A rule for dividing conversion credit across the marketing touches that preceded a sale. Last click, first click, linear and position-based are the four common rules, and they can differ by 70% or more on identical data.
- **Break-Even ROAS** — The return on ad spend at which a campaign covers its own cost, equal to 1 divided by gross margin. At a 62% margin it is 1.61x; at 15% it is 6.67x. Comparing ROAS to 1.0x instead of this number is the most common paid-media error.
- **Dark Traffic** — Visits that arrive with no campaign parameters — pasted links, private messaging apps, cross-device journeys — and get recorded as direct. It is the main reason UTM-tracked conversion counts sit below the real figure.

## Related guides

- [Paid Media Metrics Guide: CPC, CPM, CTR, CPA, ROAS, and ROI in Plain English](https://dothecalculation.com/blog/marketing/paid-media-metrics-guide) — Understand the paid media metrics that actually matter. Learn how CPC, CPM, CTR, CPA, ROAS, and ROI connect, when to use each one, and how to avoid reporting cheap traffic as business success.
- [Understanding Calculator Formulas: How DTC Turns Inputs into Results](https://dothecalculation.com/blog/site-guides/understanding-calculator-formulas) — Understand how Do The Calculation formulas are presented, what the explanation blocks mean, and how to verify calculator logic before using a result in a real decision.

## Related calculators

- [Marketing ROI Calculator](https://dothecalculation.com/calculators/marketing-roi-calculator) — Measure marketing campaign ROI, ROAS, cost per acquisition, and profit generated from attributed revenue and total advertising spend.
- [CPM Calculator](https://dothecalculation.com/calculators/cpm-calculator) — Estimate cost per thousand impressions, click-through rate, and blended media efficiency to plan and optimize your ad campaign budget.
- [Click-Through Rate (CTR) Calculator](https://dothecalculation.com/calculators/ctr-click-through-rate-calculator) — Calculate click-through rate from impressions and clicks, with benchmark comparisons, to measure ad or email campaign engagement.
- [Email Open Rate Calculator](https://dothecalculation.com/calculators/email-open-rate-calculator) — Calculate email marketing open rate, click-through rate, click-to-open rate, and bounce rate to measure campaign performance and engagement.
- [Blended Marketing ROI (ROMI) Calculator](https://dothecalculation.com/calculators/marketing-roi-blended-calculator) — Estimate blended marketing return on investment from incremental sales and total marketing spend to see overall campaign effectiveness.
- [SMS Marketing Conversion Rate & CTR Calculator](https://dothecalculation.com/calculators/sms-marketing-conversion-calculator) — Calculate click-through rate, opt-out rate, conversion rate, cost per conversion, and ROI for your SMS text marketing campaigns.

---

_Every credit figure, ROAS and ROI quoted on this page was produced by running this calculator with the stated inputs rather than estimated. The four attribution models are rules for dividing observed conversions, not measurements of causation: none of them can establish whether a sale would have happened without the campaign, which requires a holdout or geo-lift test. The linear and position-based figures use an average touchpoint count rather than journey-level path data, and the untracked correction assumes missed conversions resemble tracked ones._

---

_Source: [Do The Calculation](https://dothecalculation.com/calculators/utm-attribution-roi-calculator). Quote freely with attribution and a link to this page._
