Why it happens
The touchpoint trail is incomplete
The touchpoint trail is incomplete
Stripped UTMs, blocked tags and cross-device journeys drop touches, and the model can only credit what it saw.
Views never reach your analytics
Ad impressions without a click never reach your site, so web-based multi-touch models miss them while Meta and LinkedIn count them.
Every platform claims the same conversion
Google, Meta and LinkedIn each attribute in their own walled garden, so their totals add up to more conversions than you had.
Rule-based weights are arbitrary
Linear, time decay and position-based models apply fixed weights. They describe a path; they do not prove a channel caused the sale.
How to line them up, step by step
Tag every ad the same way
Use one UTM convention for every channel: lowercase utm_source, a medium your analytics recognizes, and a campaign name that matches the ad platform.
Pick one source of truth
Use your analytics or CRM, not the ad platforms, as the place where touches are joined. In GA4 set the model under Admin, then Data display, then Attribution settings.
Compare models, do not average them
In GA4 open Advertising, then Attribution, then Model comparison, and see which channels move between data-driven and last click.
Test before you trust
Run a holdout or a geo test on the channel the model loves most before you move budget into it.
Steps checked against Google Analytics Help: Select attribution settings; Google Analytics Help: Get started with attribution; Meta Business Help Center: About Conversion Lift tests.
Sprites diagnoses this
Sprites diagnoses it
Sprites lines up what each ad platform claims against what your analytics and CRM actually recorded.
What Sprites does
- Puts Google Ads, Meta and LinkedIn reported conversions side by side for the same dates, so the overclaim is a number.
- Breaks PostHog signups down by first and latest UTM source, and builds funnels from first visit to activation by source.
- Reads HubSpot deals and contacts with their original source, so paid touches can be checked against revenue.
- Splits GA4 conversions by channel and by linked Google Ads campaign.
What it doesn't do
- It does not build a custom multi-touch model or change the model in GA4 or Google Ads.
- It does not run lift tests.
Questions
What is multi-touch attribution?
A way to split the credit for a conversion across every ad and channel the buyer touched, rather than giving it all to one touch. See the attribution glossary entry for the basics.
What are the main multi-touch attribution models?
Linear, time decay, position-based and data-driven. GA4 and Google Ads now offer only data-driven and last click.
Is multi-touch attribution dead?
It is weaker than it was. Click ID stripping, cookie limits and walled gardens leave gaps, so most teams pair it with incrementality tests or marketing mix modeling.
Multi-touch attribution or marketing mix modeling?
Multi-touch works on user paths and suits weekly optimization. Mix modeling works on spend and outcome totals and suits budget planning. Big accounts use both.
- Cross-channel attribution
- Google Ads and Meta both claim the same sale
- Attribution window
- Google Ads attribution model
- What is gclid?
- What is fbclid?
- gclid missing from your URLs
- UTM parameters being stripped
- UTM parameters not showing in GA4
- PostHog UTM tracking
- PostHog vs Google Analytics for paid ads
- Meta ads attribution settings
See where it breaks
Connect your accounts. Sprites reads them side by side and shows you exactly where the numbers split.