What Is Marketing Attribution? Data, Models and Tools
Marketing attribution credits each sale to the touchpoints behind it. See the data it needs, 5 models on one $120 sale, where it breaks and how to pick a tool.
Muzahid Maruf, Founder
On this page
- 01How marketing attribution works
- 02Where the attribution data comes from
- 03The main attribution models
- 04Attribution windows
- 05Marketing attribution vs revenue attribution
- 06Advertising attribution and ad platform reports
- 07Where attribution breaks
- 08Marketing mix modeling and incrementality
- 09How to pick a marketing attribution tool
- 10What TrackRev does for revenue attribution
Explore with AI
Opens this article inside the chosen assistant with a ready-made prompt.
Marketing attribution is the practice of assigning credit for a conversion, such as a signup or a payment, to the marketing touchpoints that came before it.
Take a buyer who reads a blog post on March 3, clicks a newsletter link on March 17, then clicks a Google ad on March 24 and pays $120 that day.
Attribution is the rule that splits the $120 across those 3 touches, and the output is a ranked list of channels by the credit they earned.
Under one rule the blog post gets all $120, under another the ad does, and under a third each touch gets $40.
Key takeaways
- Marketing attribution splits the credit for a conversion across the touches before it, so a $120 sale can credit one touch $120 or three touches $40 each, depending on the model.
- Four inputs feed it: UTM parameters, a first-party cookie, ad click IDs such as gclid and fbclid, and billing records. Safari deletes script-written cookies after 7 days without a visit.
- Google Analytics 4 has offered only 3 models since November 2023: data-driven, paid and organic last click, and Google paid channels last click.
- At median rates, paid search brings 24 customers and $2,200 per 1,000 clicks and organic search brings 22 customers and $2,900, so a conversion report and a revenue report rank them differently.
- Pick a tool by where revenue is recorded: ad platforms for an ecommerce store (Triple Whale), a CRM for long B2B deals (Dreamdata), or the billing system for subscriptions (TrackRev).
How marketing attribution works
Every attribution setup runs 4 steps: (1) log each touch with its source and a timestamp, (2) keep a visitor ID so later visits join earlier ones, (3) record the conversion with its value, and (4) apply a credit rule to the joined path.
Steps 2 and 3 fail without an error message. The payment still appears in your reports, with the wrong channel or none.
Where the attribution data comes from
Four kinds of signal feed most setups, and each has its own way of going missing.
| Signal | What it carries | Where it breaks |
|---|---|---|
| UTM parameters | Source, medium and campaign, typed into the link | utm_source=google and utm_source=Google count as 2 rows |
| First-party cookie | A random visitor ID that ties repeat visits together | Safari deletes script-written cookies after 7 days without a visit |
| Ad click ID | gclid from Google Ads, fbclid from Meta | Safari can cap a script-written cookie at 24 hours when it detects one |
| Billing record | Amount, plan, renewals and refunds from Stripe or Paddle | Carries no channel unless you pass one into checkout |
Sources: Google Analytics Help, WebKit tracking prevention documentation, Meta for Developers and the Stripe API reference.
UTM parameters
Google Analytics 4 reads UTM parameters when a visitor lands.
Google's campaign URL documentation lists utm_id, utm_source, utm_medium, utm_campaign and utm_source_platform, says to set them together or reports show "(not set)", and says values are case sensitive, so Email and email become 2 rows.
The UTM parameters guide covers naming conventions, and the free UTM builder generates links from a fixed list of values.
Cookies and visitor IDs
Per WebKit's tracking prevention policy, Safari Intelligent Tracking Prevention deletes cookies created in JavaScript, plus LocalStorage and IndexedDB data, after 7 days of no user interaction with the site.
A buyer who clicks on day 1 and pays on day 9, with no visit between, looks like a new visitor.
A cookie your own server sets in an HTTP response sits outside that cap, while WebKit separately caps cookies set through third-party CNAME or IP address cloaking at 7 days.
Safari ITP and SaaS attribution covers what this means for a pixel.
Ad platform click IDs
Google Ads auto-tagging appends a GCLID to the landing URL, and Meta uses fbclid. Meta's developer documentation recommends reading fbclid on the server and storing it in an _fbc cookie with a 90-day expiry.
WebKit says ITP detects click IDs added to links and caps cookies created in JavaScript on the landing page at 24 hours, and Safari 17.0 blocks known tracking query parameters in Private Browsing.
Billing and server-side records
Billing data is the one source that records what a customer paid, and joining it to a visit takes an identifier passed into checkout.
Stripe Checkout takes a client_reference_id of up to 200 characters for reconciling a session with your own systems.
Stripe metadata holds up to 50 key-value pairs, with 40-character keys and 500-character values, and Payment Links return UTM parameters on the redirect URL within a 150-character limit. The walkthrough for Stripe revenue by channel shows the full join.
The main attribution models
A model is the rule for splitting credit. Here is the $120 sale from the opening under 5 rules, using the blog post (March 3), the newsletter click (March 17) and the Google ad click (March 24).
| Model | Rule | Blog post | Newsletter | Google ad |
|---|---|---|---|---|
| First-touch | 100% to the first touch | $120.00 | $0.00 | $0.00 |
| Last-touch | 100% to the last touch | $0.00 | $0.00 | $120.00 |
| Linear | Equal share to every touch | $40.00 | $40.00 | $40.00 |
| Position-based | 40% first, 40% last, 20% to the middle | $48.00 | $24.00 | $48.00 |
| Time decay | Weight halves for every 7 days before the sale | $9.23 | $36.92 | $73.85 |
Every row sums to $120. Time decay uses a 7-day half-life, so the weights are 0.125, 0.5 and 1.
Last-touch pays $120 to the March 24 ad and $0 to the March 3 blog post that started the journey, and first-touch reverses that.
Linear pays every touch whether or not it mattered, and position-based and time decay hard-code a guess. Data-driven models learn the weights instead.
Google's attribution documentation describes its version as machine learning over converting and non-converting paths, built separately for each advertiser and each key event. Google adds that conversions can be reattributed for up to 7 days after they happen.
Google Analytics 4 now lists 3 models: data-driven, paid and organic last click, and Google paid channels last click.
First-click, linear, time decay and position-based stopped being available in November 2023, so comparing fixed rules on the same sales takes another tool.
In TrackRev's Q2 2026 benchmark data, 64% of workspaces default to last-touch, 22% to linear and 14% to first-touch. The comparison of last-touch, first-touch and linear covers when each one misleads a subscription funnel.
Attribution windows
A window caps how far back a conversion can look for a touch to credit, and each tool picks its own default.
| Setting | Default | Range or percentile |
|---|---|---|
| Google Analytics 4 lookback, acquisition events | 30 days | 7 or 30 days |
| Google Analytics 4 lookback, other key events | 90 days | 30, 60 or 90 days |
| Google Ads click-through window | 30 days | 1 to 90 days, by conversion source |
| TrackRev benchmark, first click to first charge | 6.3 days at the median | 21.0 days at the 75th percentile, 48.2 at the 90th, 73.5 at the 95th |
Sources: Google Analytics Help (key event lookback window), Google Ads Help (conversion windows) and the TrackRev benchmark, Q2 2026.
With a 90th percentile of 48.2 days, a 30-day window misses at least the slowest 10% of buyers, and the benchmark counts only conversions inside each workspace's own window, so the true tail is longer.
Google Ads also keeps separate windows for engaged-view and view-through conversions, so its totals can differ from analytics totals, and it recommends windows of at least 7 days.
Marketing attribution vs revenue attribution
Marketing attribution credits conversions: a signup, a trial start or a purchase event.
Revenue attribution applies the same rules to money read from billing, meaning the charge amount, upgrades, renewals and refunds, with a refunded charge subtracted from the channel that earned it.
On a one-time sale at one price the two rank channels almost alike. A subscription separates them, because its value arrives over months and can be reversed. TrackRev's Q2 2026 benchmark shows how far apart they land.
| Channel | Click-to-paid | Revenue per click | Customers per 1,000 clicks | Revenue per 1,000 clicks | 12-month LTV multiplier |
|---|---|---|---|---|---|
| Newsletter | 4.8% | $4.40 | 48 | $4,400 | 1.9x |
| Affiliate or partner | 3.9% | $4.10 | 39 | $4,100 | 1.4x |
| Paid search | 2.4% | $2.20 | 24 | $2,200 | 0.9x |
| Organic search | 2.2% | $2.90 | 22 | $2,900 | 2.1x |
| Paid social | 1.2% | $1.30 | 12 | $1,300 | 0.8x |
| Display | 0.6% | $0.50 | 6 | $500 | 0.5x |
Per-workspace medians, Q2 2026. The 2 per-1,000 columns multiply the medians by 1,000 clicks, so they illustrate the arithmetic and are not a forecast.
Paid search converts more often than organic search, 2.4% against 2.2%, and earns $700 less per 1,000 clicks.
A conversion report ranks paid search third and a revenue report ranks it fourth, and the lifetime multipliers, 0.9x against 2.1x, put an organic customer at more than twice the 12-month value. Prices differ too.
For example, 12 conversions at $9 outrank 1 conversion at $149 in a count and total $108 against $149 in dollars.
Renewals and upgrades keep adding value after the conversion is logged, and refunds and chargebacks remove value that a count never subtracts.
Advertising attribution and ad platform reports
Advertising attribution is the ad platform's own version of the same job. Google Ads and Meta Ads Manager credit conversions to campaigns, ad sets and creatives, using their click IDs and windows.
Each counts the conversions it can link to its own ads, so one purchase can appear in two reports.
Suppose Google Ads and Meta together report 150 purchases in a month while Stripe shows 100 new customers: the extra 50 are overlap, or conversions with no payment behind them.
On October 17, 2025, Google said it would retire the Attribution Reporting API for Chrome and Android, along with other Privacy Sandbox technologies, and pointed to the W3C's Private Advertising Technology Working Group for a future standard.
Until one ships, click IDs, first-party records and server-side events are the working tools.
Where attribution breaks
Attribution fails in a few recurring ways, and each has a standard fix.
| Break | What you see | Fix |
|---|---|---|
| Inconsistent UTM values | Email, email and e-mail show up as 3 channels | Lowercase every value and build links from a fixed list |
| Parameters stripped in transit | Some tagged clicks arrive with their parameters removed, as in Safari 17 Private Browsing | Log the click on a server before the redirect |
| Script cookie expires | A day-9 payment from a day-1 click looks like a new visitor in Safari | Set the visitor ID from your server |
| Checkout on another domain | The payment page becomes the referrer | Add the payment domain to Google Analytics 4's unwanted referrals list and pass an ID into checkout |
| Cross-device journey | A phone click and a laptop payment count as 2 people | Match on login or email at conversion |
| Consent declined | 0 touches recorded for that visitor | Treat visit data as a sample and reconcile totals against billing |
Consent has a legal side too.
The European Data Protection Board's Guidelines 2/2023 (version 2.0, adopted 7 October 2024) analyze URL and pixel tracking under Article 5(3) of the ePrivacy Directive and treat tracking links and pixels as covered, even when the storage is not permanent.
Their example of a tracked link is an affiliate link carrying an identifier in the URL.
Covered means consent is required unless an exemption applies, and the guidelines leave exemptions to case-by-case analysis under national law, so ask a lawyer about the markets you sell into.
A podcast mention or a group-chat recommendation leaves no click, and a "How did you hear about us?" field at signup records it. For how to combine the two, see self-reported versus tracked attribution.
Marketing mix modeling and incrementality
Attribution shows which touches preceded a sale and cannot show whether the sale would have happened anyway. Marketing mix modeling fits weekly spend against weekly sales with no user-level tracking, and Google's open-source Meridian is one option.
An incrementality test holds back a slice of the audience, say 10%, and compares its conversions with the exposed 90%. For a small paid budget, a holdout test or a survey question usually tells you more than a model can.
How to pick a marketing attribution tool
Start from where the revenue is recorded and which decision the report will drive. Ad-first tools begin at ad spend, and billing-first tools begin at the charge.
| Tool | Built for | Models | Entry price |
|---|---|---|---|
| Google Analytics 4 | Behavior on your site and app | Data-driven, paid and organic last click, Google paid channels last click | Free |
| Triple Whale | Ecommerce brands tracking orders back to ads | First and last click on Free; 7 models including Linear and Total Impact on paid plans, with lookback windows of 1, 7, 14 or 28 days or lifetime | Free plan with 10 users and 12 months of data; paid plans sold through a walkthrough, price not published |
| Northbeam | Brands spending from under $1.5 million a year to over $500,000 a month on ads | Multi-touch attribution, with media mix modeling and incrementality as options | Professional lists $3,500 a month; every plan is sold by quote |
| Dreamdata | B2B teams that report on CRM data | Custom attribution models on Advanced; Free covers B2B web analytics and company identification | Free at $0 a month with 5 seats and 2 months of history; Advanced is custom |
| Cometly | B2B SaaS teams syncing conversions to 7 ad platforms | Multi-touch attribution with server-side tracking | Usage-based on monthly pageviews; no free trial; 20% off annual |
| TrackRev | Subscription revenue by channel | First-touch, last-touch, linear | Free plan with 1,000 tracked events a month; paid plans $39, $99 and $199 a month |
Prices from each vendor's pricing page, October 2026.
Triple Whale and Northbeam are built around a store with heavy Meta and Google spend, where ad-level data matters every day. Dreamdata fits B2B teams that report from CRM data.
Cometly's pricing page lists server-side Conversion API connections to Meta, Google, LinkedIn, TikTok, Microsoft, Reddit and Snapchat.
Subscriptions whose channels are content, email, affiliates and partners fit a billing-first tool such as TrackRev, because the channel behind each renewal is the number they need.
Google Analytics 4 is enough when you only need behavior on your own site.
Ask each vendor four questions. Does conversion value come from an ad platform's report or from your billing records? Does the tool keep the raw touches, so a new model can rerun on old sales?
How does the visitor ID get past Safari's 7-day script cap? What happens to a channel's revenue when a charge is refunded?
What TrackRev does for revenue attribution
TrackRev records each click on its own server, sets a first-party visitor ID on your domain, and ties charges from Stripe, Paddle, Polar and Lemon Squeezy back to the click that earned them.
Renewals, upgrades and refunds adjust the channel that earned the first sale. It stores the raw clicks apart from any model, so you can view the same sales under first-touch, last-touch or linear without re-tagging a link.
The Free plan covers 50 links and 1,000 tracked events a month and hides revenue figures, which every paid plan shows. Starter costs $39 a month for 1 workspace, and Growth at $99 and Scale at $199 allow unlimited workspaces.
The plans also differ in affiliate commission tracked a month, $10,000 on Starter, $100,000 on Growth and unlimited on Scale, while attributed sales revenue has no cap. Annual billing pays for 9 months of 12.
TrackRev has no data-driven model, no media mix modeling and no incrementality testing, and it does not adjust Meta or Google bids. Pick Triple Whale, Northbeam or Cometly for that, and Dreamdata if your deals live in a CRM.
The revenue attribution page shows the connections and models in the product.
Found this useful? Share it.
Frequently asked questions
- A rule that divides a sale's value among the visits that led to it. A $60 signup that followed 4 touches can credit one source $60 or four sources $15 each, and the resulting ranking tells you which sources to fund.
- Attribution needs visitor-level identifiers such as cookies, click IDs and logins. A mix model needs only totals of spend and sales per week, so it works without tracking individuals, but it needs many weeks of data and enough variation in spend to separate channels.
- Start with last-touch, because it ties out to billing records, then rerun the same 90 days of sales under first-touch. A channel that gains under first-touch starts journeys, and one that gains under last-touch closes them. Add a linear view once typical paths have 3 or more touches.
- List the days from first visit to first payment for your last 100 customers and cover the slowest 10%. If 12 of the 100 took longer than 30 days, a 30-day window gives those 12 sales to the wrong touch or to nothing.
- Google Analytics 4 is enough when conversions happen on your own pages and you need channel counts. It records revenue only if you send purchase events or import data, so once payments sit in Stripe or Paddle and you want renewals and refunds by channel, a tool that joins billing records to visits earns its price.
- No. It shows which touches preceded a sale and shares credit by a rule. A holdout test, where a randomly chosen 5% of the audience never sees the campaign, measures cause. Brand search and retargeting often look strong in attribution reports because they reach people who were already about to buy.
- Treat it as directional. Total the revenue attributed to channels for a month and compare it with what Stripe or Paddle collected. If channels show $41,000 and billing shows $52,000, 21% of revenue has no source, and the rankings should wait until you find where identity leaks.

Written by
Founder, TrackRev.io & Contant.io
Muzahid Maruf is the founder of TrackRev.io and Contant.io. He writes about marketing attribution, link tracking, and revenue analytics for SaaS teams.
Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth
Stop guessing where your revenue comes from.
Set up TrackRev in about five minutes. The free plan covers 1,000 events a month, no card needed.
Start free