When sending both CAPI and client-side events to the Facebook Pixel, the event_id parameter is required for event de-duplication.
Hubspot’s native Facebook Pixel integration sends an external_id parameter (for both client and server-side events) which tells Facebook who the user is, but no event_id is sent.
This is resulting in duplication of Lead events when a form is submitted.
1. User submits form
2. Client-side ‘Lead’ event is sent with external_id identifying the user
3. Server-side ‘Lead’ event is sent with external_id identifying the user
Outcome: Facebook Pixel records 2 Lead events.
This was mentioned by several users during the beta testing of this feature circa 2021, but it isn’t clear whether this was ever fixed.
Is there something I’m missing here?
Hi @HCarless,
You’re not missing anything. This is a known limitation with HubSpot’s native Facebook Pixel integration. Currently, HubSpot sends the external_id for both CAPI events, but does not include the event_id parameter. The event_id is what Facebook uses to de-duplicate events, so without it, you’ll see duplicate Lead events when both client and server events are triggered by the same form submission.
This issue has been raised by users since the feature’s beta, but as of now, HubSpot hasn’t updated its integration to support event_id for de-duplication.
If accurate reporting is important for you, you have a couple of options:
- Use a custom implementation of the Facebook Pixel and CAPI outside of HubSpot, where you can control and sync the event_id parameter yourself.
- Consider using a third-party integration or middleware that supports event_id mapping for both client and server events.
If you stick with the native HubSpot integration, unfortunately, there’s no built-in fix at the moment. I recommend upvoting or commenting on related HubSpot Ideas or threads to help push this feature request forward.
Let me know if you need tips on custom setup or tools that can help!
WE NEED THAT! HubSpot too often doesn’t think its features through completely.