Attribution Report: Types, Models, Example and How to Read One

An attribution report shows which marketing touchpoints get credit for your conversions, such as leads, sign-ups or sales, and for the value attached to them. It takes the paths people followed before converting, applies a rule called an attribution model, and totals the credit by channel, campaign, keyword or landing page. Where a standard report tells you what converted, an attribution report tells you what helped it convert.
This guide covers the report types you will meet in GA4, Google Ads and HubSpot, the models and windows behind them, a worked example with real arithmetic, why the numbers rarely match your other reports, how often to check them, and a template you can copy.
What Is an Attribution Report?
Every attribution report is built from the same five parts. Change any of them and the numbers change, so it helps to know which one you are looking at:
- The conversion. What counts as success: a demo request, a purchase, a new contact, a closed deal.
- The touchpoints. The recorded interactions before it: ad clicks, organic visits, emails, referrals, and in CRMs also meetings, calls and form fills.
- The model. The rule that splits credit across those touchpoints, such as 100% to the last click or an equal share to each.
- The lookback window. How far back before the conversion a touchpoint can be and still earn credit.
- The dimension. What gets credited in the rows of the report: channel, campaign, ad group, keyword, landing page or asset.
The output is a table of credited conversions and credited value per row. Switching models moves credit between rows but never changes the total. If the total moves, you are looking at a different data source or window, not a different model.
Other meanings of “attribution report”
Two other things share the name. In finance, performance attribution explains why a portfolio beat or trailed its benchmark, for example how much came from asset allocation versus security selection. In web development, the Attribution Reporting API was a Chrome feature for measuring ad conversions without third-party cookies, covered further down. This article is about marketing attribution reports.
Attribution Report vs Standard Performance Report
A standard report counts results: sessions, clicks, conversions and revenue by source, usually tied to one session or one ad click. An attribution report looks at the sequence of touchpoints behind each conversion and decides how to share the credit.
| Standard performance report | Attribution report | |
|---|---|---|
| Question | What happened, and through which source? | Which touchpoints contributed, and how much? |
| Unit | Sessions, clicks, conversions per source | Credit per touchpoint across a path |
| Typical view | Traffic acquisition, campaign table | Model comparison, conversion paths, assisted conversions |
| Good for | Daily monitoring, pacing, anomalies | Budget splits, judging channels that start journeys |
| Blind spot | Earlier touchpoints are invisible | Only as complete as the touchpoints it can see |
You need both. The standard report tells you something changed. The attribution report tells you whether the channel you are about to cut was quietly feeding the one you are about to scale.
Types of Attribution Reports
Platforms slice attribution in two ways: by the conversion being credited, and by the view of the path.
By funnel stage (CRM reports)
HubSpot names its three attribution report types after the conversion they measure. Think of them as the top, middle and bottom of the funnel:
| Report type | Conversion it credits | Question it answers |
|---|---|---|
| Contact create attribution | A new contact is created | Which sources, pages and interactions generate leads? |
| Deal create attribution | A deal is created | What moves prospects into the sales pipeline? |
| Deal revenue attribution | A deal closes with revenue | Which touchpoints drove money, not just contacts? |
A channel can win the first report and lose the third. Content that creates many low-fit contacts will look strong in contact create attribution and weak in revenue attribution. That gap is the reason to run more than one.
By view of the path (ad and analytics reports)
| Report | What it shows | Use it to |
|---|---|---|
| Model comparison | Credited conversions and value per row under two models side by side | See which channels gain or lose when the rule changes |
| Conversion paths | The most common sequences of touchpoints before a conversion | Spot openers, closers and channels that always appear together |
| Path metrics (time lag, path length) | Days and number of interactions before converting | Set a sensible lookback window and judge campaigns on the right timescale |
| Assisted conversions | How often a row appeared on a path without being the last touch | Find channels that help a lot but rarely close |
Dimensions decide what you see in each row. HubSpot groups them into asset (for example landing pages), interaction, deal, UTM and other dimensions such as ad keywords and CTAs. Google Ads lets you switch between campaigns, ad groups, keywords, devices and more.
Attribution Models Used in Attribution Reports
The model is the rule that turns a path into credit. Here is how the common ones split a conversion:
| Model | How credit is split | Favors |
|---|---|---|
| Last click (last touch) | 100% to the final touchpoint | Closers: branded search, email, retargeting |
| Last non-direct click | 100% to the final touchpoint that was not Direct | Same as last click, without crediting typed URLs and bookmarks |
| First touch | 100% to the first touchpoint | Openers: content, organic search, prospecting ads |
| Linear | Equal share to every touchpoint | Channels that appear often anywhere on the path |
| Time decay | More credit the closer a touchpoint is to the conversion | Recent touches; short promotions |
| Position-based (U-shaped) | Commonly 40% first, 40% last, 20% spread over the middle | Both the opener and the closer |
| W-shaped | Commonly 30% each to first touch, lead creation and last touch, 10% to the rest | Long B2B journeys with a clear lead stage |
| Data-driven / empirical | Weights estimated from your own path data | Whatever your data says; needs enough volume |
No model is correct. Each answers a different question, which is why model comparison reports exist. For a deep look at the most common one, read last click attribution.
GA4 now offers only three models: data-driven, paid and organic last click, and Google paid channels last click. First click, linear, time decay and position-based are no longer available as of November 2023. HubSpot offers first touch, last touch, linear, time decay and an Empirical model that replaced its U-, W- and J-shaped models. If you need a model your tool dropped, export the paths and apply it in a spreadsheet.
Lookback Window vs Conversion Window
The lookback window (also called the attribution window) limits how far back before a conversion a touchpoint can receive credit. A 30-day lookback ignores a blog visit that happened 45 days before the purchase. Set it too short and channels that start long journeys lose credit. Set it too long and stale touches get credit for decisions they had nothing to do with.
Google Ads separates the two ideas. In its attribution reports you can set a lookback window of 30, 60 or 90 days, while the conversion window is a setting on each conversion action that decides whether a conversion is recorded at all after an ad interaction. A practical rule: look at your path metrics (time lag) first, then choose a lookback window that covers most of your conversions rather than guessing.
Where to Find Attribution Reports in GA4, Google Ads and HubSpot
Google Analytics 4
- Go to Advertising, then under Attribution open Attribution models (model comparison) or Attribution paths (conversion paths), per Google’s GA4 attribution guide.
- All GA4 models exclude Direct visits from credit unless the whole path was Direct. So GA4’s last click behaves like last non-direct click.
- The reporting model and lookback windows live in Admin, under Attribution settings.
Google Ads
- Open the Goals menu, then Attribution. Tabs include Conversion paths, Path metrics, Assisted conversions and Model comparison, per Google Ads Help.
- Conversion tracking must be set up first, and path and credit data older than 2 years is deleted.
- These reports only see Google ad interactions. Organic search, email and other channels are not on the path.
HubSpot
- Go to Reporting > Reports, click Create report, choose Attribution report, then pick the Contacts, Deals or Revenue data source. You can also start from a template or an AI-generated report.
- Configure chart type, one or more attribution models, and dimensions, then add filters such as create date, campaign or interaction source.
- Contact create attribution needs Marketing Hub or Content Hub Professional or Enterprise. Deal create and deal revenue attribution need Marketing Hub Enterprise.
How to Build an Attribution Report in 7 Steps
Whatever the tool, the same steps decide whether the report is useful or decorative.
Step 1: Define the conversion and give it a value
Counting conversions treats a newsletter sign-up like a demo request. Give each conversion a dollar value so the report ranks channels by what they are worth. For leads, a simple version is:
Our guide on how to calculate conversion value walks through ecommerce, lead and sign-up cases.
Step 2: Make every touchpoint identifiable
Attribution can only credit what it can see. Add UTM parameters to every link you control (email, social, partners, QR codes), keep referrers intact through redirects, and record offline outcomes such as calls, meetings and closed deals in a CRM so they can be joined back to the original source.
Step 3: Choose the dimension
Channel is the usual start. For budget decisions inside paid media, use campaign or keyword. For SEO and content, use landing page: search engines hide most keyword data, so the page is the most precise organic unit you can attribute to.
Step 4: Pick a model, and a second one to compare
Use one model as your reporting standard and read a second one beside it. Last click with first touch is the most revealing pair: channels that gain under first touch open journeys, channels that gain under last click close them.
Step 5: Set the lookback window
Cover your typical time from first visit to conversion, based on path metrics, not habit.
Step 6: Add the metrics that drive decisions
At minimum: credited conversions and credited value per row. For paid channels add spend and value per dollar (return on ad spend). For CRM reports add lead-to-customer rate, so a channel that floods the funnel with poor-fit leads does not look like a winner.
Step 7: Visualize and decide
Bars for comparing channels, lines for trends, and a short note under each chart saying what you will do about it. A report that does not change a budget, a page or a campaign is a screenshot, not attribution.
Attribution Report Example, With the Math
The numbers below are illustrative, not data from a real company. A B2B software company tracks demo requests. It closes 20% of demos and its average first-year deal is $3,000, so each demo is worth 20% × $3,000 = $600. In one month it gets six demo requests, worth $3,600 in total.
| Demo | Path (first touch → last touch) |
|---|---|
| 1 | Organic search (/blog/guide) → Paid search (brand) |
| 2 | ChatGPT referral (/pricing) → Direct |
| 3 | Paid social → Organic search (/blog/guide) → Email |
| 4 | Paid search (non-brand) |
| 5 | Organic search (/compare) |
| 6 | Email → Direct |
Credited value by channel under three models:
| Channel | Last non-direct | First touch | Linear |
|---|---|---|---|
| Organic search | $600 | $1,200 | $1,100 |
| Paid search | $1,200 | $600 | $900 |
| $1,200 | $600 | $500 | |
| ChatGPT referral | $600 | $600 | $300 |
| Paid social | $0 | $600 | $200 |
| Direct | $0 | $0 | $600 |
| Total | $3,600 | $3,600 | $3,600 |
How each column is built:
- Last non-direct (GA4-style last click): Direct is skipped. Paid search takes demos 1 and 4 ($1,200). Email takes 3 and 6 ($1,200, demo 6 because Direct is skipped). ChatGPT takes 2 ($600). Organic takes 5 ($600).
- First touch: organic opened 1 and 5 ($1,200). ChatGPT, paid social, paid search and email each opened one ($600 each).
- Linear: two-touch paths give $300 per touch, the three-touch path gives $200 per touch. Organic: $300 (demo 1) + $200 (demo 3) + $600 (demo 5) = $1,100. Paid search: $300 + $600 = $900. Email: $200 + $300 = $500. Direct: $300 + $300 = $600.
Now add spend for the two paid channels (also illustrative): $900 on paid search and $500 on paid social.
| Paid channel | Spend | Value per $1, last non-direct | First touch | Linear |
|---|---|---|---|---|
| Paid search | $900 | $1.33 | $0.67 | $1.00 |
| Paid social | $500 | $0.00 | $1.20 | $0.40 |
Paid search is $1,200 / $900 = $1.33 per dollar under last non-direct and $600 / $900 = $0.67 under first touch. Paid social goes from $0 to $600 / $500 = $1.20. Read only the last-click column and you would cut paid social, which started a $600 demo. Read only first touch and you would trim branded paid search, which closed one. The model comparison is the decision, not either column alone.
The same data by landing page
The blog guide never closes a demo, so a last-click report says it is worth nothing. It opened one $600 journey and assisted another. The comparison page converts on the spot and earns the same credit under every model. Look for that pattern, guides as openers and comparison or pricing pages as closers, in your own data before pruning content.
How to Read an Attribution Report
Work through these questions in order:
- Which rows move most between models? Big gains under first touch mean an opener. Big gains under last click mean a closer. Rows that barely move are the only touch their buyers had.
- Where is the value, not the volume? Sort by credited value. A channel with fewer conversions can be worth more if its conversions close.
- Paid or earned? Separate paid search from organic search and paid social from organic social. Blended rows hide which tactic did the work.
- How much lands in Direct? A large Direct share means the report cannot see part of your marketing. Fix tracking before moving budget.
- Does it hold further down the funnel? Compare lead-stage attribution with revenue attribution. Channels that create leads but not revenue need a different fix than channels that create nothing.
Why Your Attribution Report Doesn’t Match Other Numbers
Mismatches are normal, but each one has a cause you can check. These are the ones that distort decisions most often:
| Symptom | Likely cause | Fix |
|---|---|---|
| Google Ads attribution reports show fewer conversions than the Campaigns page | Attribution reports count by time of conversion, exclude some networks and campaign types, and skip offline conversions uploaded more than 7 days late | Compare with “by conv. time” columns and upload offline conversions within 7 days |
| Ad platforms together claim more conversions than you had | Each platform credits its own clicks (and sometimes views) for the same conversion | Use one analytics tool or CRM as the referee; treat platform numbers as a per-platform view |
| Totals change when you switch models | You also switched data source, scope or lookback window | Change one setting at a time; a model change only moves credit |
| A payment provider is a top converting referral | Buyers return from checkout and start a new session credited to that domain | In GA4, add the domain to the unwanted referrals list for your web stream |
| Direct jumps after email sends | Email links lack UTM tags and some email apps drop the referrer | Tag every email link with utm_source, utm_medium=email and utm_campaign |
| AI assistant traffic is missing | When ChatGPT or another assistant sends no referrer, the visit arrives as Direct, and GA4 gives Direct no credit if anything else is on the path | Track identifiable AI referrals separately and treat the rest as unknown, not as zero |
| Contacts or deals have no source | The first visit happened before tracking loaded, on another device, or outside the lookback window | Check path length and time lag; extend the window or capture a self-reported source on forms |
The Google Ads differences come from Google’s own comparison of attribution reports and the Campaigns page. The rest are tracking problems that hurt every model, which is why it is worth fixing them before debating which model is right.
How Often Should You Check Your Attribution Report?
Check it as often as you make the decision it informs, and never on a window shorter than your time to convert. A rule of thumb:
| Decision | Cadence | Why |
|---|---|---|
| Bids, keywords and creatives in paid campaigns with short paths | Weekly | Enough conversions to act on, short enough to catch waste |
| Budget split between channels | Monthly | Smooths weekly noise; matches most budget cycles |
| Content and SEO investment by landing page | Monthly, judged on a quarter of data | Organic journeys are longer and pages take time to rank |
| Model choice, lookback window, tracking audit | Quarterly | Paths, platforms and privacy features change |
| B2B with a sales cycle of several months | Monthly for leads, quarterly for revenue | Revenue attribution lags lead attribution by the length of the cycle |
If the last 30 days look bad for a channel that usually takes 60 days to convert, you are looking at unfinished journeys, not a failing channel.
The Attribution Reporting API Is Something Else (and It Is Being Retired)
Several results for this search describe the Attribution Reporting API, a browser feature from Google’s Privacy Sandbox. It let an ad on one site register a “source,” let the advertiser’s site register a “trigger” when someone converted, and had the browser send either event-level reports or aggregated summary reports to an ad tech server, all without third-party cookies.
Some pages still call it the future of conversion reporting. That is out of date. Google announced on October 17, 2025 that it is retiring the Attribution Reporting API on Chrome and Android because of low adoption, and said feedback from it will inform work on an interoperable attribution web standard. Unless you build ad tech, you never configured it directly, and it does not affect the attribution reports in GA4, Google Ads or your CRM.
Attribution Reports for Organic Search and AI Assistants
Most attribution reports are built around ads, because ad platforms log every click. Organic search and AI assistants are harder: Google and Bing hide most keywords, and assistants such as ChatGPT sometimes pass a referrer and sometimes do not. Two habits keep these channels from being undercounted:
- Attribute to the landing page. The page that started the session is the most precise organic unit you have. Report conversions and value per organic landing page, as in the example above. Our guide to organic conversion attribution covers this report in detail, and SEO conversion tracking covers the setup.
- Separate what you can see from what you cannot. Count AI referrals you can identify, and treat referrer-less visits as Direct rather than guessing. The AI conversion tracking guide explains which assistants send referrers.
If you want this view without building it by hand, SEOConversion reports conversions and their value from Google, Bing and AI assistants at the landing-page level, and leaves visits with no referrer as Direct instead of inventing attribution.
A Copyable Attribution Report Template
Paste this header row into a spreadsheet. Fill one row per channel (or landing page) per model, and keep the settings columns so anyone reading it knows which rules produced the numbers.
Period,Conversion,Value per conversion,Model,Lookback (days),Dimension,Row,Credited conversions,Credited value,Spend,Value per $1,Assisted conversions,Decision 2026-09,Demo request,600,Last non-direct,90,Channel,Paid search,2,1200,900,1.33,0,Keep brand terms 2026-09,Demo request,600,First touch,90,Channel,Paid social,1,600,500,1.20,1,Hold budget; test again
The example rows reuse the illustrative numbers from the worked example. Three rules for the template:
- Credited value per model must add up to the same total. If it does not, a setting changed.
- Fill the Decision column. A row with no decision is a row you do not need.
- Keep one tab per conversion type. Mixing demos and newsletter sign-ups in one total hides which one drives value.
FAQ
What is an attribution report?
An attribution report shows which marketing touchpoints get credit for your conversions and their value. It takes the paths people followed before converting, applies an attribution model such as first touch, last click or data-driven, and totals the credit by channel, campaign, keyword or landing page. It answers how your channels work together, not just which one was last.
How often should you be checking your attribution report?
Match the cadence to the decision. Paid campaigns with short paths can be checked weekly, channel budget splits monthly, and the model and lookback window once a quarter. Never judge a channel on a window shorter than your typical time to convert, or recent journeys will look like they produced nothing.
What are the four types of attribution?
Sources group them differently, but the four rule-based models most guides list are first touch, last touch, linear and time decay. Many tools add position-based (U-shaped or W-shaped) and data-driven models. In HubSpot, the three attribution report types are something else: contact create, deal create and deal revenue.
How do you measure attribution?
Define the conversion and give it a value, tag every link you control with UTM parameters, and record offline outcomes in a CRM. Then pick a dimension and an attribution model, set a lookback window and read conversions and value by channel or landing page. Comparing two models on the same data shows which channels open journeys and which close them.
What is the purpose of contact create attribution reports?
In HubSpot, a contact create attribution report credits the interactions that led to new contacts being created, such as a form fill after an organic visit. It is the top-of-funnel view. Deal create attribution covers the middle of the funnel and deal revenue attribution covers closed revenue.
Can you give me an example of an attribution?
A buyer reads your guide from Google, clicks a paid search ad a week later and requests a demo. Last click gives the paid ad 100% of the demo, first touch gives the guide 100%, and linear gives each 50%. Same demo, same total value, three different stories about which channel earned it.
Put organic and AI channels in your attribution report.
SEOConversion tracks the conversions and value that Google, Bing and AI assistants bring to each landing page, with one script and no cookies, and leaves referrer-less visits as Direct instead of guessing.
Start free