You've successfully subscribed to GA4BigQuery
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

How to deal with string, integer and float GA4 event parameter values in BigQuery using the coalesce function

How to deal with string, integer and float GA4 event parameter values in BigQuery using the coalesce function

Join 2,600+ other professionals and receive a monthly newsletter packed with GA4 & BigQuery news, tips & tricks

Great! Check your inbox and click the link to confirm your subscription
Please enter a valid email address!
Already have an account? Sign in

If you are wondering why the ga_session_id in the field event_params.value.string_value is missing: welcome to the club. It is one of the most asked questions regarding the GA4 BigQuery export. The answer? Scroll to the right.

Depending on its data type, every event parameter value in the GA4 export data is placed in one of these four columns:

  • event_params.value.string_value: text values
  • event_params.value.int_value: non-decimal numeric values
  • event_params.value.float_value: decimal numeric values
  • event_params.value.double_value: decimal numeric values with more precision

All other data types will most likely end up in the string column.

Get an overview of all event_params value types

To see the data types of your the GA4 event_params values you can use a query like this:

    params.key as event_parameter_key,
    case when params.value.string_value is not null then 'string'
        when params.value.int_value is not null then 'int'
        when params.value.double_value is not null then 'double'
        when params.value.float_value is not null then 'float'
        else null end as event_parameter_value
    -- change this to your google analytics 4 export location in bigquery
    unnest(event_params) as params
group by
order by

Let's say we need multiple parameter values from the page_view event, but we are not sure which column to select. Of course we can look up our event using the query above or open the preview tab:

If those two options don't work for you and you want to deal with these values in a more scalable way: consider using the coalesce function. In this tutorial I will show you how to do that.