Facebook Pixel
Chord’s Facebook integration works best when both browser and server events are sent to Facebook. We recommend configuring two Facebook Segment destinations:
Alternatively, you can connect a second Facebook Conversions API destination to your website front-end Segment source and omit the Facebook Pixel destination.
This setup results in pre-checkout events (ex. Product Added) and one post-checkout event, Order Completed, being sent to Facebook from your website front end source, and post-checkout events (ex. Order Completed) being sent to Facebook from your server source.
Order Completed is duplicated from both sources for maximum reliability. For Chord tracking events, Facebook handles duplicate events by comparing the event name and the external_id property, which should be set to Segment’suserId (or anonymousId if not present). See instructions below for how to configure your Facebook Pixel and Conversions API destinations to use userId/anonymousId as Facebook’s external_id.
This destination loads the Facebook Pixel Javascript library in the browser and sends Chord events to it client-side, without hitting Segment’s servers first.
First, configure the Facebook Pixel destination according to Segment documentation.
To map Chord Segment events to standard Facebook events, create the mappings in the destination setting “Map Your Events to Standard FB Events”. The following mapping is recommended as a minimum:
- Order Completed, which Segment sends to Facebook as Purchase
- Product Added, which Segment sends as AddToCart
- Product List Viewed, which Segment sends as ViewContent
- Product Viewed, which Segment sends as ViewContent
- Products Searched, which Segment sends as Search
- Checkout Started, which Segment sends as InitiateCheckout
In Segment, this should look like:
You can add additional mappings here if you need them, too.
Enable two settings under Advanced Settings: “Enable Advanced Matching” and “Use User ID or Anonymous ID as External ID”. Enabling both of these sends the Segment userId (or anonymousId if not present) as the external_id to Facebook, which improves Facebook’s ability to connect Segment events from various sources to the same user.
Connect Facebook Pixel destination to website front-end source
Create event mappings in the destination setting “Map Your Events to Standard FB Events”
Enable the destination settings “Enable Advanced Matching” and “Use User ID or Anonymous ID as External ID”
The Facebook Conversions API destination sends Chord events to Facebook via Facebook’s Conversions API. Chord events are sent to Segment, and then Segment sends the events to Facebook.
This destination can be connected to either browser or server event sources. If connected to a browser event source, the Facebook Pixel destination should not be used for that same browser event source, because that will gather duplicate data.
First, configure the Facebook Conversions API destination according to Segment documentation.
Next, the Facebook Conversions API destination requires you to map Chord Segment events to Facebook standard events.
Using with Chord’s server source
At a minimum, we recommend mapping the following Chord server source events to Facebook standard events:
- Order Completed, which Segment sends as Purchase
When you’re creating event mappings, you’re required to provide a value for the Action Source property in the Select mappings section. Select “SYSTEM GENERATED” as the action source. See Facebook’s documentation of the action_source property for descriptions of the different options.
Using with Chord’s website front-end source
At a minimum, we recommend mapping the following Chord website front-end events to Facebook standard events:
- Order Completed, which Segment sends as Purchase
- Product Added, which Segment sends as AddToCart
- Product List Viewed, which Segment sends as ViewContent
- Product Viewed, which Segment sends as ViewContent
- Products Searched, which Segment sends as Search
- Checkout Started, which Segment sends as InitiateCheckout
When you’re creating event mappings, you’re required to provide a value for the Action Source property in the Select mappings section. Select “WEBSITE” as the action source. See Facebook’s documentation of the action_source property for descriptions of the different options.
By default, the Conversions API destination correctly maps Facebook’s external_id property to Segment’s userId (or anonymousId if not present). Don’t make changes to this configuration.
Connect the Facebook Conversions API destination to the server source
If not using the Facebook Pixel destination, connect the Facebook Conversions API destination to the website front-end source as well
Create event mappings, following the minimum recommended mapping listed above, and remember to specify the correct “Action Source” property for each mapping