So the situation is I'm using custom events and parameters in my GA4 (new Google Analytics) setup. Specifically, I add a parameter for my A/B tests that goes on all events including the default ones like page_view. I then go to the reports and organize them to compare the various values of the parameter.

This works fine, GA4 is amazing overall, except that for some reason, all the "engagement" related metrics end up empty/zero when I configure a report to compare my custom parameter values. Engaged sessions, Engaged sessions per user, Engagement rate, and Bounce Rate are all zeroed out (bounce rate is 100%, but that just indicates the 0% engagement rate).

For some reason User engagement and Average engagement time do work, and show times in minutes/seconds, so it seems the actual "how long were they engaged" does work, but the metrics that rely on the binary "engaged or not" value are totally empty! Super weird.

Here's an example WORKING report, with Device Category:

Screenshot of GA4 feeform exploration with Device Category as the main rows, with valid values for engagement metrics

Here's the same report, but with my custom parameter as the row:

Screenshot of GA4 feeform exploration with a custom parameter as the main rows, showing empty values for engagement metrics

So the question is: Why is this happening? Why would it show valid values for "Engagement time" but not for "Engaged sessions"??? Any help appreciated!

For what it's worth, the examples above use the "Free Form Exploration" system, but the same thing happens if I use the default reports. Going to e.g. REPORTS > ENGAGEMENT > OVERVIEW, then adding "Comparisons" that reference my custom parameter, results in zeroing out of the data that relies on Engaged sessions.


Browse other questions tagged or ask your own question.