Attribution reports look precise. They assign revenue to campaigns, ad sets, and keywords down to the cent, which makes them easy to act on. But the credit they hand out is only as reliable as the events, identities, and revenue records underneath.
It's tempting to ask which channel drove revenue before asking whether your data can answer that. This guide shows how to judge readiness, what SaaS and e-commerce setups need, and when blended metrics or tests work better than a model.
What attribution can and can't tell you
Every attribution model splits credit for a conversion across the touchpoints before it. Rule-based models, such as last click, follow a fixed rule. Algorithmic models in GA4 and the ad platforms estimate credit from observed paths. Neither measures cause and effect. Both describe which touchpoints came before a conversion, not which ones made it happen.
Each system also sees a different slice of the journey. Ad platforms see their own impressions and clicks. Analytics tools see only sessions they can identify and that consent allows. Your CRM or store records who paid. Each view is partial and tends to favor what it can observe.
Attribution is still useful for a few jobs:
- Comparing campaigns, keywords, or ad sets within one channel
- Finding broken journeys, such as clicks that never become qualified conversions
- Describing the paths buyers take before they convert
It is weaker at the question budget owners care about most: what would happen to revenue if spend in a channel went up or down. That is a question about incrementality, meaning revenue that would not have happened without the spend. Controlled tests answer it more directly than any model.
Where your setup sits today
Readiness is not a yes-or-no question. Use the levels below to place your current setup honestly, then let that level decide how much weight attribution gets in budget decisions.
| Level | What's true | What it can support | Next step |
|---|---|---|---|
| Level 0: Unreliable tracking | Conversions fire inconsistently, count twice, or track actions not tied to revenue. Totals can't be reconciled. | Little beyond rough traffic trends. | Fix conversion definitions and tag firing before any analysis. |
| Level 1: Consistent events | Key conversions fire once, with clean naming and UTMs. Gaps against backend totals are measured. | Comparisons of volume and cost per conversion within a channel. | Connect conversions to pipeline stages or order records. |
| Level 2: Revenue-connected | Conversions link to CRM stages, orders, refunds, or subscriptions. Offline conversions flow back to ad platforms. | Channel and campaign comparisons based on revenue quality, not volume alone. | Reconcile on a schedule and plan a first incrementality test. |
| Level 3: Revenue-connected with incrementality checks | Revenue-connected tracking, plus regular holdout or geo tests and blended metrics used as cross-checks. | Budget shifts between channels, with model output checked against test results. | Repeat tests as spend, channel mix, and privacy rules change. |
Be strict when you place yourself. If conversions connect to orders but refunds are ignored, you are not yet revenue-connected for budget purposes, because the gap sits exactly where the money is.
Prerequisites for any business model
Conversions tied to revenue events
List every conversion action in GA4 and each ad platform, and name the revenue event behind each one. A newsletter signup is not a revenue event, but a qualified opportunity or a paid order is. Mark which conversions are primary, used for bidding and reporting, and which are secondary signals.
Event deduplication
The same lead or purchase can be counted twice when a browser tag and a server event both fire, or when a confirmation page reloads. Send a shared event or transaction ID with every conversion so platforms can deduplicate, and check your raw data for repeated IDs.
Consent-aware measurement
Where privacy laws or your own policy require consent, some visitors will decline tracking. Respect that choice and send only what each visitor allowed. Analytics can undercount as a result, so track consent rates by region to tell consent gaps apart from broken tags.
Server-side tagging where it helps
Server-side tagging, for example through a Google Tag Manager server container, can make collection more reliable and gives you control over what each platform receives. It is not a way around consent, and it adds cost and maintenance. Use it where browser tracking loses events you are allowed to collect.
UTM and naming governance
Reports group traffic by source, medium, and campaign. If one team uses “paid-social” as a medium and another uses “Paid_Social” for the same channel, reports split it in two. Keep a written naming convention and a shared UTM template, and review new values each month.
Identity and cross-device limits
No setup follows every buyer. People research on a phone and buy on a laptop, clear cookies, block scripts, or forward links to colleagues. Each break makes a journey look shorter and moves credit toward the last visible touch. Logged-in experiences and consented first-party data can narrow the gap, but they won't close it.
Prerequisites by business model
SaaS: connect CRM stages to conversions
In SaaS, the conversion a platform sees, such as a demo request or trial start, happens weeks or months before revenue. Readiness depends on connecting that early event to what happens next in HubSpot or Salesforce.
- Capture UTMs and click IDs on every form and store them on the lead record, so the source survives the handoff to sales.
- Map CRM stages to a short list of conversions, such as qualified lead, sales-accepted opportunity, and closed-won.
- Import offline conversions for those stages into Google Ads, Microsoft Ads, LinkedIn, or Meta, with values based on expected pipeline or contract value.
- Decide how to credit deals with several contacts, since one opportunity can have many first touches.
Check the lag between click and stage. If deals reach a stage after a platform's conversion window closes, those conversions may never match the original click. Import an earlier qualified stage for bidding, and report closed-won revenue separately. For more on pipeline-led measurement, see SaaS growth marketing.
E-commerce: reconcile orders and refunds
In e-commerce, the purchase happens fast, so the risk is different. Ad platforms and analytics tools record the sale at checkout, before cancellations, returns, and chargebacks. Revenue that looked real at checkout can shrink later.
- Treat Shopify or Stripe as the revenue source of record, and compare it with GA4 and each ad platform for the same period.
- Report net revenue after refunds, cancellations, and discounts, next to the gross figures platforms receive.
- Match order IDs between your store and analytics to find orders tracked twice or not at all.
- Separate new and returning customers, because attribution can credit paid media for repeat orders that might have happened anyway.
- Align tax and shipping treatment so every system counts revenue the same way.
Once net revenue is reliable, blended efficiency becomes a useful cross-check on platform numbers. The MER vs ROAS guide explains how to use both, and e-commerce growth marketing covers how this fits margin-led acquisition.
Checks to run before you trust the numbers
Run these checks before a budget decision relies on attribution, and repeat them on a schedule. The aim is not a perfect match between systems. It is a gap you can measure and explain.
(Platform-reported conversions − Backend conversions) ÷ Backend conversions
Calculate it per platform and for all platforms combined. Set your own threshold for when a change in the gap needs investigation.
- Pick a closed period, such as last month, so late refunds and CRM updates have settled.
- Pull conversions and revenue from each ad platform, GA4, and your backend: HubSpot or Salesforce for SaaS, Shopify or Stripe for e-commerce.
- Compare each platform's total, and the sum of all platforms, with the backend total.
- Trace a sample of backend orders or opportunities to their recorded source.
- List the explained causes of each gap, such as consent, attribution windows, or view-through credit, and investigate the rest.
- Repeat the check after any site release, tag change, or form or checkout update.
- Orders recorded in Shopify: 1,000
- Purchases reported by Google Ads: 610
- Purchases reported by Meta: 530
- Sum of platform-reported purchases: 1,140, a gap of (1,140 − 1,000) ÷ 1,000 = +14%
- Purchases recorded in GA4: 880, a gap of (880 − 1,000) ÷ 1,000 = −12%
Both platforms can credit the same order, so together they claim more than the store recorded. The lower GA4 count could reflect consent choices or blocked scripts. Explain each gap before comparing channels.
When to use blended metrics and tests instead
Some questions stay hard to answer at any readiness level. Would revenue fall if you paused brand search? Does prospecting on Meta create demand, or claim sales that would have happened anyway? For questions like these, step back from user-level credit.
| Method | What it answers | When to use it |
|---|---|---|
| MER (e-commerce) | Is total marketing spend producing enough total revenue? | Platforms disagree, or several channels claim the same orders. |
| Blended CAC (SaaS) | What does a new customer cost across all channels combined? | Sources are hard to separate, or sales cycles outlast conversion windows. |
| Holdout test | How do conversions differ between a group that sees ads and a similar group that doesn't? | You need the incremental effect of a campaign type or channel. |
| Geo test | How does revenue change where spend changes, compared with similar regions where it doesn't? | User-level tracking is limited, and spend can be controlled by location. |
Tests have costs. A holdout withholds ads from some potential buyers, and a geo test needs comparable regions and enough volume to separate a real effect from noise. Set the test length and decision rule before launch, and use the result to calibrate how much you trust the model.
Next steps
Work upward from the lowest unmet prerequisite. Conversion definitions and deduplication come first, because every later check depends on them.
- List every conversion action and the revenue event it represents.
- Run the reconciliation check for one closed month and record the explained gaps.
- Connect CRM stages or net order data to your reporting and ad platforms.
- Pick one budget question attribution can't answer, and design a holdout or geo test for it.
For how we handle this work with SaaS and e-commerce teams, see analytics and attribution.



