Follow me on LinkedIn - AI, GA4, BigQuery

GA4 BigQuery Attribution refers to how traffic sources and conversion credit are assigned to user interactions and events within GA4’s BigQuery export.

Unlike the GA4 UI, where attribution is based on predefined models (e.g., last click or data-driven attribution), the GA4 BigQuery export provides raw event-level data that enables analysts to create custom attribution models using SQL queries.

GA4 BigQuery provides multiple traffic source fields, which represent different attribution scopes:

Field Name

Attribution Scope

Description

traffic_source

User-level (First-touch)

Captures the first traffic source that acquired the user.

session_traffic_source_last_click

Session-level (Last-touch)

Captures the last non-direct traffic source that initiated the session.

collected_traffic_source

Event-level (Last-touch)

Captures the last traffic source at the event level.

traffic_source (First-Touch Attribution)

The ‘traffic_source’ fields in BigQuery represent user-level first-touch attribution.

traffic source fields

These fields capture the first campaign, source, and medium that brought the user to the website or app.

For example, if a user first visits your website via Google Ads, the traffic_source fields will always show google / cpc, even if the user returns later via different traffic sources (e.g., email, direct).

The ‘traffic_source’ fields are Ideal for analyzing long-term acquisition channels and identifying which campaigns drive new users.

session_traffic_source_last_click (Session-Level Last-Touch Attribution)

The ‘session_traffic_source_last_click’ fields represent last-touch attribution at the session level.

session traffic source last click

These fields capture the last non-direct traffic source that initiated the session.

For example, if a user first visits your website via Google Ads and later clicks an Email Newsletter link within the same session, the session is attributed to the Email Newsletter.

The ‘session_traffic_source_last_click’ fields are ideal for analyzing session-based reporting, such as sessions by traffic source or engaged sessions by traffic source.

collected_traffic_source (Event-Level Last-Touch Attribution)