With Universal Analytics (UA), the way the collected hits are sent to your Google Analytics property is different in GA4. In GA3 for Web, the hits were sent, more or less, not more time later than the tracking functions generating such events resulting in a ratio 1:1 between event and hit sent.
What is GA4 batching and when does it happen?
Event batching is a practice already used in App Tracking with the former GA version and it consists of grouping a certain amount of events and sending them in one HTTP request only. In this way, GA also reduces the number of requests sent to GA servers. One important addition GA4 brings with the Event batching is a higher degree of data quality even for users with scarce internet connection. GA stores on your device all the not sent hits because of missing internet connection and send them later in batch when it is restored. However, there are cases where this batching doesn’t happen. And the Google documentation has an exact list of cases below reported:
- Conversion events are transmitted immediately, although they may be part of a batch
- Containers loaded in debug mode never batch events to provide you with real-time data
- If any events are still held client-side when the user leaves the page (e.g. by navigating to another page), those events are sent immediately
- In browser environments that don’t support the sendBeacon API, all events are sent immediately
Technically speaking “GA4 batching” is a matter of queuing close-in-time transmitted events in a unique HTTP request. At this point, maybe a question started to arise in your mind:
Do I lose some tracking points or whole hits with too many batched events at once?
To answer this question, we performed tests on an environment with both GA3 (UA) and GA4 collection in parallel. The tests showed that with UA, the event collection process starts as soon as the tracking function fires. With GA4, one hit contains different events and holds more information than the UA hit. The limit for a GA4 request is 1600-1800 for the Request Payload and around 500 for the Request URL. If the limit is reached, another “batched hits” is sent with the remaining information and no tracking points or hits are lost. Furthermore, an event cannot hold more than 25 custom parameters (in addition to the automatically collected ones).
Hey! Feel free to schedule a 15-min free consultation call to discuss how we work together to boost your Digital Analytics implementations