All posts
·11 min read

GA4 attribution explained: which channel actually drove the conversion?

If your Google Ads and GA4 numbers don't match, or you're confused why 'Direct' makes up 40% of your traffic, attribution is the reason. Here's a plain-English explanation of how GA4 assigns credit, why it gets weird, and how to read the numbers honestly.

Founder, Plainly

Attribution is the most mathematically slippery and emotionally exhausting concept in web analytics. It is also, weirdly, the place where most marketers spend the least time understanding the basics. They ship campaigns, watch the GA4 numbers do something confusing, and assume either GA4 or Google Ads is broken. Usually neither is. Usually it's attribution.

Here is the plain-English version of how it works, why your numbers feel wrong, and how to read them in a way that's actually useful for decisions. No PhD math. No buzzwords. Real examples.

What attribution actually is

Attribution is the rule GA4 uses to decide which traffic source gets credit for a conversion when a customer touched your site multiple times before converting. That's it. The entire field of attribution is one question: who do we thank for the sale?

Most conversions don't happen on the first visit. A typical small-business customer journey looks like: sees a Facebook ad, doesn't click. Sees a follow-up retargeting ad three days later, clicks, browses, leaves. Searches your brand name on Google a week later, lands on your homepage. Types your URL directly two days after that and finally buys.

That's four touches across four different attribution sources (Paid Social, Paid Social again, Organic Search, Direct). Only one of them gets credit for the conversion in your reporting. Which one? It depends on which attribution model you're using.

The 5 attribution models you need to know

1. Last click

Whichever traffic source brought the user in for their final, converting visit gets 100% of the credit. In our example above, Direct wins. This is the simplest model and what GA4 used to default to before 2023. It's also extremely misleading because it ignores everything that built awareness and intent leading up to the final visit.

2. First click

Whichever traffic source brought the user to your site for the very first time gets 100% of the credit. In our example, the first Paid Social touch wins. Better for understanding what builds initial awareness. Worse for understanding what closes the sale.

3. Linear (equal credit)

Every touch in the customer journey gets equal credit. In our four-touch example, each source gets 25% of the conversion. Fair, but doesn't reflect reality — the first touch and the last touch usually matter more than the middle ones.

4. Time decay

Recent touches get more credit than older ones, on an exponential curve. The Direct visit just before the conversion might get 50%, the Organic Search a week earlier 25%, the two Paid Social touches splitting the remaining 25%. Closer to reality for high-consideration purchases.

5. Data-driven attribution (GA4's default since 2023)

GA4 uses machine learning to model what would have happened if a particular touch hadn't existed. If removing the Paid Social touch from the simulation drops the conversion probability by 40%, Paid Social gets 40% credit. This is statistically the most defensible model, but the math is opaque — you can't easily explain to a CFO why a particular channel got the credit it did.

Important context: data-driven attribution requires a minimum of 300 conversions and 3,000 interactions per channel per month for GA4 to have enough data. Most small businesses don't hit that bar, in which case GA4 quietly falls back to last-click without telling you. If you don't have data-driven attribution running, GA4 is essentially doing last-click anyway.

Why your GA4 and Google Ads numbers don't match

This is the #1 attribution-related support ticket every analytics consultant gets. You launch a Google Ads campaign. Google Ads says you got 100 conversions. GA4 says you got 35. WHAT.

The reason: Google Ads and GA4 attribute conversions completely differently.

  • Google Ads uses last-click within its own ecosystem. If the user clicked any Google Ads ad within 30 days of conversion, Ads claims credit, even if the user came back via a completely different channel for the final visit. Ads has every motivation to over-claim.
  • GA4 uses cross-channel data-driven (or last-click). GA4 looks at the entire journey including non-Google sources. If the final touch was actually Direct or Organic, that's who gets credit in GA4 — even if a Google ad was clicked earlier in the journey.
  • Different conversion windows. Google Ads defaults to a 30-day click attribution window. GA4 defaults can vary. Different windows = different numbers.
  • View-through conversions. Google Ads counts conversions where the user SAW your ad but didn't click. GA4 (and most other tools) only count clicks. This alone causes 20-40% gaps.

There's no 'right' number. Both are showing you different views of the same journey. The most useful thing you can do is pick ONE source of truth for any decision — and for most small businesses, that should be GA4, because it sees the full cross-channel picture.

Why 'Direct' is 40% of your traffic

If you look at GA4 → Acquisition → Traffic acquisition and 'Direct' is the biggest channel — bigger than Organic Search, bigger than your paid campaigns — you have what's known as a 'dark traffic' problem. Direct in GA4 means 'GA4 couldn't figure out where this visitor came from.' That's it. Some genuine direct traffic exists (people typing your URL or using bookmarks), but it's usually 5-15% of total. If you're seeing 40%+, something is misattributing.

The most common causes:

  • Email and SMS links without UTM parameters. When someone clicks a link in your newsletter, that traffic gets bucketed as 'Direct' unless you tagged the link with ?utm_source=email or similar. Same with SMS, transactional emails, and in-app links.
  • Mobile apps that strip the referrer. iOS Safari, Instagram, TikTok, and Twitter mobile apps often don't pass the referring URL when users tap an external link. GA4 sees a referrer-less visit and labels it Direct.
  • HTTPS-to-HTTP redirects. If your site uses HTTP anywhere in the chain (it shouldn't, but it happens), browsers strip the referrer header. GA4 then labels the visit Direct. Make sure you're 100% HTTPS site-wide.
  • Privacy-conscious users and ad blockers. Some users actively block referrer headers. That traffic shows up as Direct. There's nothing you can do about this except be aware it inflates your Direct numbers.

How to actually use attribution data

Three practical rules for not losing your mind:

  • Pick one model, stick with it, and only compare apples to apples. Don't switch between attribution models when comparing periods. If you're tracking month-over-month using data-driven, do the whole comparison in data-driven. Switching models will produce 'changes' that are pure measurement artifacts.
  • Use UTM parameters religiously on EVERYTHING you send out. Every email link, every social post, every paid ad, every QR code, every podcast sponsor link — UTM-tag it. This single discipline reduces Direct traffic to its true 5-15% level and makes attribution dramatically more accurate.
  • Run the 'channel-off' thought experiment. Imagine you killed your Facebook ads tomorrow. Would total conversions drop by 30% (Facebook is doing real work) or by 3% (Facebook is mostly catching people who would have converted anyway)? Last-click won't answer this. Data-driven attribution will. If you don't have data-driven running, run small holdouts — pause one channel for two weeks and see what happens to total conversions.

What to do when attribution makes a decision unclear

Attribution will sometimes give you contradictory signals. Last-click says channel A is winning; first-click says channel B; data-driven says they're roughly tied. When that happens, default to incrementality testing — temporarily pause a channel and measure the actual change in conversions. It's slower and costlier than analytics, but it's the only honest test of whether a marketing dollar drives real revenue.

For most small businesses, the practical rule is: use last-click for tactical (campaign-level) decisions, use data-driven for strategic (channel mix) decisions, and use incrementality testing when the answer really matters.

Attribution isn't math you solve once and forget. It's a lens you choose deliberately for each decision. The mistake is forgetting which lens you picked.

How Plainly handles attribution

Plainly reads whatever attribution model your GA4 property is configured with — we don't override Google's choice. What we do is translate the attribution-driven numbers into plain English: 'Sessions from Organic Search dropped 18% week-over-week, which directly explains why total conversions fell 12%.' Connections like that are easy to lose in a dashboard and easy to surface in a written summary. If you've ever stared at GA4 wondering 'why the heck did conversions drop?' — that's exactly the question Plainly is designed to answer in two paragraphs. The free demo on the homepage shows you exactly the format.

Try Plainly

Read your GA4 in two paragraphs, not two hours.

We do exactly what this post describes — automatically, every Monday morning. Try the demo for free, no credit card.

Try the demo

Made with Emergent