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 of TrackRev.io

Muzahid Maruf

Marketing attribution · 13 min read
On this page
  1. 01How marketing attribution works
  2. 02Where the attribution data comes from
  3. 03The main attribution models
  4. 04Attribution windows
  5. 05Marketing attribution vs revenue attribution
  6. 06Advertising attribution and ad platform reports
  7. 07Where attribution breaks
  8. 08Marketing mix modeling and incrementality
  9. 09How to pick a marketing attribution tool
  10. 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.

SignalWhat it carriesWhere it breaks
UTM parametersSource, medium and campaign, typed into the linkutm_source=google and utm_source=Google count as 2 rows
First-party cookieA random visitor ID that ties repeat visits togetherSafari deletes script-written cookies after 7 days without a visit
Ad click IDgclid from Google Ads, fbclid from MetaSafari can cap a script-written cookie at 24 hours when it detects one
Billing recordAmount, plan, renewals and refunds from Stripe or PaddleCarries 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).

ModelRuleBlog postNewsletterGoogle ad
First-touch100% to the first touch$120.00$0.00$0.00
Last-touch100% to the last touch$0.00$0.00$120.00
LinearEqual share to every touch$40.00$40.00$40.00
Position-based40% first, 40% last, 20% to the middle$48.00$24.00$48.00
Time decayWeight 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.

SettingDefaultRange or percentile
Google Analytics 4 lookback, acquisition events30 days7 or 30 days
Google Analytics 4 lookback, other key events90 days30, 60 or 90 days
Google Ads click-through window30 days1 to 90 days, by conversion source
TrackRev benchmark, first click to first charge6.3 days at the median21.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.

ChannelClick-to-paidRevenue per clickCustomers per 1,000 clicksRevenue per 1,000 clicks12-month LTV multiplier
Newsletter4.8%$4.4048$4,4001.9x
Affiliate or partner3.9%$4.1039$4,1001.4x
Paid search2.4%$2.2024$2,2000.9x
Organic search2.2%$2.9022$2,9002.1x
Paid social1.2%$1.3012$1,3000.8x
Display0.6%$0.506$5000.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.

BreakWhat you seeFix
Inconsistent UTM valuesEmail, email and e-mail show up as 3 channelsLowercase every value and build links from a fixed list
Parameters stripped in transitSome tagged clicks arrive with their parameters removed, as in Safari 17 Private BrowsingLog the click on a server before the redirect
Script cookie expiresA day-9 payment from a day-1 click looks like a new visitor in SafariSet the visitor ID from your server
Checkout on another domainThe payment page becomes the referrerAdd the payment domain to Google Analytics 4's unwanted referrals list and pass an ID into checkout
Cross-device journeyA phone click and a laptop payment count as 2 peopleMatch on login or email at conversion
Consent declined0 touches recorded for that visitorTreat 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.

ToolBuilt forModelsEntry price
Google Analytics 4Behavior on your site and appData-driven, paid and organic last click, Google paid channels last clickFree
Triple WhaleEcommerce brands tracking orders back to adsFirst 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 lifetimeFree plan with 10 users and 12 months of data; paid plans sold through a walkthrough, price not published
NorthbeamBrands spending from under $1.5 million a year to over $500,000 a month on adsMulti-touch attribution, with media mix modeling and incrementality as optionsProfessional lists $3,500 a month; every plan is sold by quote
DreamdataB2B teams that report on CRM dataCustom attribution models on Advanced; Free covers B2B web analytics and company identificationFree at $0 a month with 5 seats and 2 months of history; Advanced is custom
CometlyB2B SaaS teams syncing conversions to 7 ad platformsMulti-touch attribution with server-side trackingUsage-based on monthly pageviews; no free trial; 20% off annual
TrackRevSubscription revenue by channelFirst-touch, last-touch, linearFree 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.

PostLinkedIn

Frequently asked questions

Muzahid Maruf — Founder of TrackRev.io

Written by

Muzahid Maruf

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