Data Client shows incomplete event data

Hello,

I am using the GTM Server with GCP. I setup Data Tag in web container and Data Client in server container.

I followed the guide here:

The result:
User data like email becomes available in add to cart (when the user fills up the form and clicks the confirm signals as an add to cart event)

In the meta event tag in web container it uses eventName_eventID
In GA4 event tag and data client event id is just event id

Then in server container, the meta capi tag fires when custom is client name = dataclient and custom is client name = ga4 + fb allowed events

while ga4 tag fires when custom is client name = ga4

fire event #10 - add_to_cart
claimed by ga4 under event data tab
tags fired ga4 tag and meta capi tag
userDataList has undefined value for email but fbp and page id has value

fire event #11 - add_to_cart
claimed by dataclient under event data tab
tags fired meta capi tag
userDataList has value for email but fbp and page id undefined

I need to make sure that the event fires and deduplicated in meta
but also the user data has all the details
also should be sending the same data with ga4

can someone help if I am on the right path? or I need to fix something?

thank you

From your description, it looks like you are currently using the Data Client for both GA4 and Facebook events. Please let us know if this understanding is correct.

If so, the recommended approach would be to separate the event flows by platform:

  • GA4 events should be handled only by the GA4 Client. This is the most efficient and stable setup, as the GA4 Client is designed to natively process GA4 requests and does not require additional customization.

  • Facebook (Meta) events should be handled independently, and they can technically work with either the GA4 Client or the Data Client. However, we recommend using the Data Client for Facebook CAPI, as it natively supports Meta’s event structure and allows you to pass user data without adding extra custom parameters, which would otherwise be required when adapting GA4 web events as a transfer mechanism to server.

With this separation GA4 receives clean, platform-native events via the GA4 Client and Meta CAPI receives events optimized for Facebook via the Data Client. While deduplication is handled by using a consistent event_id between browser and server events.

This structure aligns best with server-side tracking best practices and keeps both platforms easier to maintain. You can search