GA4 Measurement Protocol Frequently Asked Questions

Google Analytics BCS 4 years ago (2023-01-29) 3998 Views 0 Comments
文章目录[隐藏]

Update time: April 7, 2026

In this article, I’ll walk through some of the most common issues encountered when using the GA4 Measurement Protocol, along with their causes.

No Events Showing in GA4

You may notice that requests are sent successfully (returning a 204 status code), but no events appear in GA4’s Realtime report.

Common reasons include:

  • Invalid or missing api_secret: such as missing api_secret, or api_secret error, invalid.
  • Events sent after 72 hours: GA4 only processes events within a 72-hour window. Any data sent beyond this timeframe will be ignored.

 

 

Missing engagement_time_msec

Some people may find that events appear in Realtime, but engagement-related metrics are always 0.

This is because the engagement_time_msec parameter is missing.

Measurement Protocol does not automatically calculate engagement time, so if it is not sent, GA4 will treat the session as having no engagement.

Duplicate Events

Some people may encounter duplicated events, especially in setups that use both:

This can cause the same event (e.g., purchase) to be sent twice.

Incorrect Timestamp

Some events may appear at the wrong time, or not appear at all.

This is usually caused by an incorrect timestamp_micros value.

There are the following common issues:

  • Using seconds instead of microseconds
  • Using milliseconds instead of microseconds
  • Incorrect timestamp format

GA4 requires timestamps in microseconds, otherwise the event may be ignored or misaligned.

Missing Geo or Device Information

Some people may notice that dimensions such as country, city, or device category are (not set).

This is because Measurement Protocol does not automatically collect:

  • IP-based location
  • Device or browser information

If these values are not provided, GA4 cannot populate the related dimensions.

Traffic Assigned to “Unassigned” Channels

In some cases, events sent via Measurement Protocol are grouped under “Unassigned” in GA4’s traffic acquisition reports, as follows:

GA4 Measurement Protocol Frequently Asked Questions

 

This usually happens because: Missing ga_session_id parameter

If ga_session_id is not included in the Measurement Protocol request, GA4 cannot properly attribute the session, and the traffic will default to Unassigned.

The ga_session_id is typically stored in the _ga_<container-id> cookie. Make sure to extract and pass this value correctly when sending events. learn more: Explanation of Cookie Values ​​used by Google Analytics 4

 

Missing or Unset Dimensions

If certain dimensions appear as (not set) in GA4, it usually means:

To fix this, ensure that all required event parameters and custom dimensions are explicitly sent with each request.

 

Like (1)
Post my comment
Cancel comment
Expression Bold Strikethrough Center Italic

Hi, you need to fill in your nickname and email!

  • Nickname (required)
  • Email (required)
  • Website