Where do traffic sources actually live?

Every analysis starts with traffic sources: where users came from and how they found you. In GA4’s BigQuery export, this information lives in several different fields. At first glance, they all look similar - but in practice, they serve very different purposes.

Why is it confusing?

GA4 creates overlapping parameters:

• traffic_source.* shows the first touch a user ever had
• session_* describes the most recent session attribution
• and don't forget event-level details

Without knowing the difference, you risk mixing signals and drawing the wrong conclusions.

How do I untangle it?

Think of each parameter as telling a part of the story:

• First touch answers “How did they first discover us?”
• Session shows “What brought them back this time?”
• The source explains “Which campaign carried them here?”

Once you separate them, attribution stops feeling random.

What’s the practical next step?

• Map out each field and its meaning
• Choose the right level of attribution for each question
• Document and reuse this logic in every analysis

Want to get all my top Linkedin content? I regularly upload it to one Notion doc.

Go here to download it for FREE.