Track webhook events to GA4

Hi,

I’m encountering a challenge with implementing GA4 tracking when the data source is a webhook. I’m passing all the required data, including client and session IDs, via the webhook payload. However, despite testing both standard and advanced GA4 tags (mapping all parameters correctly), the resulting events are missing key insights, such as device information, session attribution, and more (used GA4 BigQuery Export data for comparison).

I’ve previously been using the Measurement Protocol, but this was an attempt to consolidate all tracking within sGTM.

How would you recommend proceeding? Is it viable to try using the Measurement Protocol within sGTM by calling https://www.google-analytics.com/mp/collect via an HTTP request tag?

It is extremely difficult to achieve complete data volume for GA4 events via webhooks. This is because a lot of tech data, including device data, is collected and sent automatically by Google tag.
To achieve this, you need to look at the payload event data on the incoming GA4 event from web on the server container and replicate it in your webhook.

The device is detected by user_agent and client_hints.

session attribution

Probably you are passing an incorrect session id (you can find it in part of cookie ga_[measurement_id]) or webhook event comes later than the session length specified in your GA4 settings (30 minutes by default).