GA4 Session-Scoped Traffic Dimensions to BigQuery Mapping

Here’s a breakdown of GA4 Session-Scoped Traffic Dimensions and their corresponding BigQuery fields:

GA4 Session-Scoped Traffic DimensionsWhat it isBigQuery Field Name (Formula)
Session campaignThe campaign associated with the beginning of a session.SELECT traffic_source.campaign AS session_campaign FROM your_dataset.your_table_name
Session campaign IDThe ID of the campaign associated with the start of a session.SELECT traffic_source.campaign_id AS session_campaign_id FROM your_dataset.your_table_name
Session default channel groupThe default channel group linked to the start of a session.SELECT CASE WHEN traffic_source.medium = 'organic' THEN 'Organic Search' WHEN traffic_source.medium = 'none' THEN 'Direct' ELSE 'Other' END AS session_default_channel_group FROM your_dataset.your_table_name
Session manual ad contentThe ad content tied to the session’s start.SELECT (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'ad_content') AS session_manual_ad_content FROM your_dataset.your_table_name
Session manual campaign IDThe ID of the campaign associated with the session’s start.SELECT (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'campaign_id') AS session_manual_campaign_id FROM your_dataset.your_table_name
Session manual campaign nameThe campaign name associated with the session’s start.SELECT (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'campaign') AS session_manual_campaign_name FROM your_dataset.your_table_name
Session manual mediumThe medium associated with the session’s start.SELECT (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'medium') AS session_manual_medium FROM your_dataset.your_table_name
Session manual sourceThe source tied to the session’s start.SELECT (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'source') AS session_manual_source FROM your_dataset.your_table_name
Session manual source / mediumThe source and medium associated with the session’s start.SELECT CONCAT((SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'source'), ' / ', (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'medium')) AS session_manual_source_medium FROM your_dataset.your_table_name
Session manual source platformThe platform responsible for the session’s start.SELECT (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'source_platform') AS session_manual_source_platform FROM your_dataset.your_table_name
Session manual termThe term associated with the session’s start.SELECT (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'term') AS session_manual_term FROM your_dataset.your_table_name
Session mediumThe medium associated with the session’s start.SELECT traffic_source.medium AS session_medium FROM your_dataset.your_table_name

Adjust the dataset and table references (your_dataset.your_table_name) based on your specific setup.

Points to consider

BigQuery exports of GA4 data primarily handle traffic dimensions at the user and event levels rather than session levels.

For now, if you need to analyze data at the session level in BigQuery, you might consider the following:

Custom Implementations: Tagging each event with session-specific parameters using Google Tag Manager. These parameters could include session ID, timestamp, or any relevant details about the session.

Using Start of Session Events: Identifying the start of new sessions using ‘session_start’ events and associating custom parameters with these events to simulate session-scoped dimensions. This method is limited to data captured at the session start. You won’t have information about user behaviour throughout the session.

Session manual ad content, session_manual_campaign_name, session_manual_source, session_manual_medium, session_manual_source_medium, session_manual_term: 

These fields all utilize UNNEST to extract values from event_params.

This approach is accurate, but remember that these parameters might not be present in every session event within GA4.

Their presence depends on whether the specific details (ad content, campaign name, etc.) were included in the initial user acquisition event.

My best selling books on Digital Analytics and Conversion Optimization

Maths and Stats for Web Analytics and Conversion Optimization
This expert guide will teach you how to leverage the knowledge of maths and statistics in order to accurately interpret data and take actions, which can quickly improve the bottom-line of your online business.

Master the Essentials of Email Marketing Analytics
This book focuses solely on the ‘analytics’ that power your email marketing optimization program and will help you dramatically reduce your cost per acquisition and increase marketing ROI by tracking the performance of the various KPIs and metrics used for email marketing.

Attribution Modelling in Google Analytics and BeyondSECOND EDITION OUT NOW!
Attribution modelling is the process of determining the most effective marketing channels for investment. This book has been written to help you implement attribution modelling. It will teach you how to leverage the knowledge of attribution modelling in order to allocate marketing budget and understand buying behaviour.

Attribution Modelling in Google Ads and Facebook
This book has been written to help you implement attribution modelling in Google Ads (Google AdWords) and Facebook. It will teach you, how to leverage the knowledge of attribution modelling in order to understand the customer purchasing journey and determine the most effective marketing channels for investment.

About the Author

Himanshu Sharma

  • Founder, OptimizeSmart.com
  • Over 15 years of experience in digital analytics and marketing
  • Author of four best-selling books on digital analytics and conversion optimization
  • Nominated for Digital Analytics Association Awards for Excellence
  • Runs one of the most popular blogs in the world on digital analytics
  • Consultant to countless small and big businesses over the decade