A client sent me three GA4 screenshots:
• One said the source was Google
• Another said Facebook
• The third showed (not set)
All referred to the same user.
How is this possible? Where’s the consistency?
Well, it wasn’t a bug. It’s just how GA4 stores and displays traffic sources.
GA4 doesn’t use a single “source of truth.” Instead, there are multiple layers:
• First User Source — the first source ever recorded
• Session Source — the source for that session
• Source (literally) — tied to specific event context
GA4 won’t flag when the source changes — so the same user can show up under different sources across reports.
Because of this:
• The client misjudged performance.
• Meta campaigns looked “ineffective” — barely visible in summaries.
• Budgets were cut on high-performing ads.
GA4 didn’t lie — but the team didn’t know what level they were looking at.
Now, I always start by asking: “Which source are we talking about?”
Then I follow these rules:
• Use Session Source to measure last click ad campaigns
• Use First User Uource for LTV and cohort analysis
• Validate in BigQuery — only there can you fully compare users, sessions, and events
If you don’t understand the structure, it’s easy to credit the wrong winner.
Want to get all my top Linkedin content? I regularly upload it to one Notion doc.
Go here to download it for FREE.


