You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: src/connections/destinations/catalog/facebook-pixel-server-side/index.md
+12-13
Original file line number
Diff line number
Diff line change
@@ -76,8 +76,7 @@ This approach provides a redundancy that ensures maximum signal reliability. Eve
76
76
77
77
#### Match rate considerations
78
78
79
-
For this option to work best, you must pass the same `external_id` from both the browser and the server sources.
80
-
To do this, go to your Facebook Pixel destination settings in Segment, and enable **Use UserId or Anonymous Id as External Id**. By default the Facebook Conversions API destination uses the `userId` (or `anonymousId` if not present) to set the External Id, so when you set up Facebook Pixel to use the same settings, Facebook can then match the users.
79
+
For this option to work best, pass the same `external_id` from the browser and the server. To achieve this, go to the Facebook Pixel destination settings in Segment and enable the **Enable Advanced Matching** and **Use User ID or Anonymous ID as External ID** settings. By default, the Facebook Conversions API destination uses the `userId` (or `anonymousId` if not present) to set the `external_id`, so when you configure Facebook Pixel to use the same settings, Facebook matches users by those IDs.
81
80
82
81
You can also increase the match rate for events from a server source by sending [user traits in the context object of the track events](#default-mappings-to-facebook-properties). You can also collect other fields from the browser, such as `userAgent`, `ip` address, and [Facebook's parameters (fbp, fbc)](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc) and pass them to the server, and manually add them to the events.
83
82
@@ -91,9 +90,9 @@ Use this approach if you want to separate tracking events completed on a user's
91
90
92
91
#### Match rate considerations
93
92
94
-
For this option to work best, the same `external_id` needs to be passed from the browser and from the server. To easily achieve this go to your Segment destination settings for Facebook Pixel and toggle on the setting called **Use UserId or Anonymous Id as External Id**. The Facebook Conversions API destination uses the userId (or anonymousId if not present) to set the External Id by default. Therefore enabling this on Facebook Pixel will allow Facebook to match the users.
93
+
For this option to work best, the same `external_id` needs to be passed from the browser and the server. To achieve this, go to your Facebook Pixel destination settings in Segment and enable the **Enable Advanced Matching** and **Use User ID or Anonymous ID as External ID** settings. By default the Facebook Conversions API destination uses the `userId` (or `anonymousId` if not present) to set the `external_id`, so when you set up Facebook Pixel to use the same settings, Facebook can then match the users.
95
94
96
-
You can also increase the match rate for events from a server source by sending [user traits in the context object of the track events](#default-mappings-to-facebook-properties). You can also collect other fields from the browser, such as `userAgent`, `ip` address, and [Facebook's parameters (fbp, fbc)](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc) and pass them to the server, and manually add them to the events.
95
+
You can also send [user traits in the context object of the track events](#default-mappings-to-facebook-properties)to increase the match rate for events from a server source. Collect other fields from the browser, like `userAgent`, `ip` address, and [Facebook's parameters (fbp, fbc)](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc){:target="_blank"}, pass them to the server, and manually add them to the events.
97
96
98
97
#### Deduplication considerations
99
98
@@ -124,7 +123,7 @@ For more information about Track calls, see the [Track method](/docs/connections
124
123
125
124
Beginning February 15th 2021, Facebook requires the `action_source` server event parameter for all events sent to the Conversions API. This parameter is used to specify where the conversions occurred. If `action_source` is set to 'website' then the `client_user_agent` and the `event_source_url` parameters are also required. Events sent to the Conversions API after February 15th that do not meet the requirements may not be available for optimization, targeting, or measurement.
126
125
127
-
| Server Event Parameter | Requirement | Implementation |
126
+
| Server Event Parameter | Requirement | Implementation p|
|`action_source`| Always required | It is set automatically but it can be set manually. |
130
129
|`client_user_agent`| Only required if `action_source` = "website" | It must be set manually if using a server library. It is set automatically if using the Segment web library. |
@@ -139,7 +138,7 @@ You can set `action_source` manually by passing it as a property of a Track even
Any properties you send that aren't listed above are sent in the 'Custom Data' part of the Segment payload to Facebook.
267
+
Any properties you send that aren't listed above are sent in the `custom_data` part of the Segment payload to Facebook.
269
268
270
269
### Alternative External IDs
271
270
272
-
By default, Segment sends the `userID` as `externalID`, and if `userID` is absent falls back to `anonymousID`. To use a different field in your payload as the External ID, use the "Alternative External ID Field". An example value for this setting would be `properties.externalId`.
271
+
By default, Segment sends the `userId` as `external_id`, and if `userId` is absent falls back to `anonymousId`. To use a different field in your payload as the `external_id`, use the **Alternative External ID Field** setting. An example value for this setting would be `properties.externalId`.
273
272
274
-
### Alternative "Value" Properties
273
+
### Alternative Value Properties
275
274
276
275
For most events Segment sends revenue for the Pixel value field, but for
277
-
the pre-purchase events "Product Viewed" and "Product Added", Segment
278
-
uses the value of the "Value Field Identifier" setting to determine which
279
-
property to use for the "value" field. This field defaults to
276
+
the pre-purchase events `Product Viewed` and `Product Added`, Segment
277
+
uses the value of the **Value Field Identifier** setting to determine which
278
+
property to use for the `value` field. This field defaults to
280
279
`price`.
281
280
282
281
## Limited Data Use
@@ -313,7 +312,7 @@ minutes. You can confirm that Facebook received them:
313
312
314
313
1. Go to the Events Manager.
315
314
2. Click on the corresponding pixel.
316
-
3. In the **Overview** tab, look for events where the "Connection Mode" is `Server`.
315
+
3. In the **Overview** tab, look for events where the "Connection Method" is `Server`.
317
316
318
317
> info ""
319
318
> **Note**: It might take a few minutes before events appear in the Events Manager.
Copy file name to clipboardexpand all lines: src/connections/destinations/catalog/facebook-pixel/index.md
+13-9
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,10 @@ strat: facebook
6
6
7
7
[Facebook Pixel](https://developers.facebook.com/docs/facebook-pixel) lets you measure and optimize the performance of your Facebook Ads. It makes conversion tracking, optimization and remarketing easier than ever. The Facebook Pixel Destination is open-source. You can browse the code [on GitHub](https://github.com/segment-integrations/analytics.js-integration-facebook-pixel).
8
8
9
-
_**NOTE:** Facebook has deprecated their modular "Ads For Websites" suite, which previously comprised Facebook Custom Audiences and Facebook Conversion Tracking. We've consolidated those two destinations into this new and improved "Facebook Pixel" destination._
9
+
> warning ""
10
+
> Facebook has deprecated the modular "Ads For Websites" suite, which previously comprised Facebook Custom Audiences and Facebook Conversion Tracking. We've consolidated those two destinations into this new and improved "Facebook Pixel" destination.
11
+
10
12
11
-
This document was last updated on 31st October, 2018. If you notice any gaps, out-dated information or simply want to leave some feedback to help us improve our documentation, [let us know](https://segment.com/help/contact)!
12
13
13
14
**Use Cases**
14
15
@@ -39,7 +40,7 @@ Segment automatically initializes Facebook's pixel with your `pixelId` upon load
39
40
40
41
## Page
41
42
42
-
If you're not familiar with the Segment Specs, take a look to understand what the [Page method](https://segment.com/docs/connections/spec/page/) does. An example call would look like:
43
+
If you're not familiar with the Segment Specs, take a look to understand what the [Page method](/docs/connections/spec/page/) does. An example call would look like:
If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](https://segment.com/docs/connections/spec/identify/) does. An example call would look like:
53
+
If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/connections/spec/identify/) does. An example call would look like:
53
54
54
55
```javascript
55
56
analytics.identify('ze8rt1u89', {
@@ -69,7 +70,7 @@ When you make an Identify call with Segment, it will update Facebook Pixel the n
69
70
70
71
## Track
71
72
72
-
If you're not familiar with the Segment Specs, take a look to understand what the [Track method](https://segment.com/docs/connections/spec/track/) does. An example call would look like:
73
+
If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/connections/spec/track/) does. An example call would look like:
73
74
74
75
```javascript
75
76
analytics.track("My Custom Event", {
@@ -159,9 +160,12 @@ Facebook accepts the following properties:
159
160
- State
160
161
- Zip code
161
162
162
-
If you follow Segment's [spec](/docs/connections/spec/identify/#traits), these would automatically be sent correctly.
163
+
If you follow Segment's [spec](/docs/connections/spec/identify/#traits), these properties send in the correct format.
164
+
165
+
When you use Advanced Matching, Facebook also accepts an External ID. This can be any unique ID from the advertiser, like loyalty membership IDs, user IDs, and external cookie IDs. To send an `external_id` to Facebook you can either:
163
166
164
-
Facebook also accepts an External ID. This can be any unique ID from the advertiser, such as loyalty membership IDs, user IDs, and external cookie IDs. In order to send an `external_id` to Facebook you can indicate which user trait you would like Segment to map to `external_id` using the **Client-Side Only: Advanced Match Trait Key for External ID** setting.
167
+
- Send the Segment `userId` or `anonymousId` as `external_id` using the **Use User ID or Anonymous ID as External ID** setting
168
+
- Indicate which user trait you would like Segment to map to `external_id` using the **Advanced Match Trait Key for External ID** setting
165
169
166
170
## Limited Data Use
167
171
@@ -174,7 +178,7 @@ Facebook also accepts an External ID. This can be any unique ID from the adverti
174
178
175
179
Facebook uses the `context.ip` to determine the geolocation of the event.
176
180
177
-
You can manually change the Data Processing parameters by adding settings to the `integrations` object. For Facebook Pixel, you must store these settings in the [Load object](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#load-options) so that Segment can set them *before* it calls `init`. The example below shows how you might set custom Data Processing parameters in Analytics.js.
181
+
You can manually change the Data Processing parameters by adding settings to the `integrations` object. For Facebook Pixel, you must store these settings in the [Load object](/docs/connections/sources/catalog/libraries/website/javascript/#load-options) so that Segment can set them *before* it calls `init`. The example below shows how you might set custom Data Processing parameters in Analytics.js.
Any `track` events with properties containing those keys will be sent to Facebook with those properties omitted.
215
219
216
-
If you have events that use any of those keys for non-PII properties, you can manually whitelist them using the **Allowlist PII Properties** setting. You may also add to this list and/or optionally hash blocklisted properties with the **Blocklist PII Properties** setting.
220
+
If you have events that use any of those keys for non-PII properties, you can manually allowlist them using the **Allowlist PII Properties** setting. You may also add to this list and/or optionally hash blocklisted properties with the **Blocklist PII Properties** setting.
0 commit comments