Event deduplication

I have a case where FB and TikTok complain about identical events with different event IDs.

I use the same trigger for DATA, FB, and TikTok tags on the client and pass the same value to all 3 tags. When I test, I see the same event IDs are sent from pixel and the server. And yes, I removed the TEST_CODE value from server tags.

Any ideas on how to debug such things?

Look into events sent outside of your setup, a lot of the time that is the reason - some other source of reporting is watering down your stats.

@Dan could you provide more details how it works in your opinion? (‘events sent outside of your setup’)
The screenshot provided by @DigitalPartner should be for one event (page_view, purchase, etc.). I have similar situation 100% of events sent from both Pixel and CAPI but only partial overlap. I also tested multiple scenarios and there was always the same event name and event ID sent from Pixel and CAPI. Facebook refuses to provide raw data that they base their calculation on, so it’s difficult to debug.

I think what is meant here is that you may have events from a third party source. For example you may have an active plugin that also sends events, these events will have event id different from those configured in your GTM and because of this overlap will be lower.

I’m quite sure that nothing sends events besides the cGTM (pixel) and sGTM (Event API). I can verify that the pixel fires only once (via TikTok browser extensions).

These can be server events, not web events. Check in events manager to see if you have a lot more server events than web events?

Here is what I see in the event manager. The TikTok pixel complains specifically about the InitiateCheckout event.


@kufer one common reason is tag sequencing, particularly with ga4, it pretty much breaks the consistency of event ids.

Like you said yourself, platforms are not in a hurry to comment on this. I did have a case were we debugged a similar issue with a platform technical rep. and we found no evidence of event_id mismatch. This is simply to suggest that the fault on destination is sometimes possible. But of course should be considered a last resort sort of conclusion.

You could log your requests for a while and analyze that dataset for event_id consistency, perhaps it would shed some light on your particular situation.

hey @DigitalPartner most practical advice (assuming you’ve done your due diligence with tests) would be to log this specific event for a while and analyze that dataset.

Thanks @Dan
Do you mean to log requests using Logs functionality in Stape account?

@kufer precisely, yes

1 Like