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
[Facebook Conversions API](https://developers.facebook.com/docs/marketing-api/conversions-api) allows advertisers to send events from their servers directly to Facebook. Server-Side events are linked to a pixel and are processed like browser pixel events. This means that Server-Side events are used in measurement, reporting, and optimization in the same way as browser pixel events.
10
10
11
11
> warning "Server Event Parameter Requirements"
12
-
> Starting February 15thFacebook will be enforcing new requirements for server event parameters. Events sent to the Conversions API after February 15th that do not meet the requirements will be dropped by Facebook. For details on how implement these requirements see [Server Event Parameter Requirements](/docs/connections/destinations/catalog/facebook-pixel-server-side/#server-event-parameter-requirements)
12
+
> Beginning February 15th, 2021, Facebook will enforce new requirements for server event parameters. After February 15th, 2021, Facebook will drop events sent to the Conversions API that do not meet the new requirements. For details on how implement these requirements see [Server Event Parameter Requirements](/docs/connections/destinations/catalog/facebook-pixel-server-side/#server-event-parameter-requirements)
13
13
14
14
> info "Destination name change"
15
15
> Facebook Conversions API was renamed from Facebook Pixel Server-Side.
@@ -42,12 +42,12 @@ This page is about the **Facebook Conversions**. For documentation on other Face
42
42
43
43
## Use Cases
44
44
45
-
Facebook Conversions API satisfies multiple use cases. It can be used a complement to [Facebook Pixel](/docs/connections/destinations/catalog/facebook-pixel/), or it can be used as a stand-alone alternative.
45
+
Facebook Conversions API satisfies multiple use cases. You can use it as a compliment to [Facebook Pixel](/docs/connections/destinations/catalog/facebook-pixel/), or as a stand-alone alternative.
46
46
47
47
Implementation Options:
48
-
1.[Send the same events from both the browser and the server](/docs/connections/destinations/catalog/facebook-pixel-server-side/#send-the-same-events-from-both-the-browser-and-the-server).
49
-
2.[Send different events; some from the browser others from the server](/docs/connections/destinations/catalog/facebook-pixel-server-side/#send-different-events-some-from-the-browser-others-from-the-server).
50
-
3.[Only send events from the server](/docs/connections/destinations/catalog/facebook-pixel-server-side/#only-send-events-from-the-server).
48
+
1.[Send the same events from both the browser and the server](#send-the-same-events-from-both-the-browser-and-the-server).
49
+
2.[Send different events; some from the browser others from the server](#send-different-events-some-from-the-browser-others-from-the-server).
50
+
3.[Only send events from the server](#only-send-events-from-the-server).
51
51
52
52
### Send the same events from both the browser and the server
53
53
@@ -57,7 +57,7 @@ This approach provides a redundancy that ensures maximum signal reliability. Eve
57
57
#### Match rate considerations
58
58
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. There are some additional steps you can take to increase the match rate for server-side events. [User traits can be passed into the context object of the track events](/docs/connections/destinations/catalog/facebook-conversions-api/#default-mappings-to-facebook-properties). Other fields such as `userAgent`, `ip` address, and [Facebook's parameters (fbp, fbc)](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc) can all be collected from the browser and passed to the server and then manually entered into the events.
59
59
60
-
#### Dedupliation considerations
60
+
#### Deduplication considerations
61
61
Events will only be deduplicated if the same event is sent first from the browser and then from the server. When this sequence occurs the server event will be discarded. If you send two consecutive browser events with the same information, neither will be discarded. If you send two consecutive server events with the same information, neither will be discarded.
62
62
63
63
### Send different events; some from the browser others from the server
@@ -89,50 +89,51 @@ If you choose this option, you do not need to worry about event deduplication.
89
89
90
90
Currently, Facebook Conversions only supports Track calls.
91
91
92
-
If you're not familiar with the Segment Specs, take a look to understand what the [Track method](/docs/connections/spec/track/)does.
92
+
For more information about Track calls, see the [Track method](/docs/connections/spec/track/)in the Segment Spec.
93
93
94
94
## Server Event Parameter Requirements
95
95
96
-
Starting February 15th Facebook will require 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 will be dropped by Facebook.
96
+
Beginning February 15th, 2021, Facebook will require 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 will be dropped by Facebook.
97
97
98
-
| Server Event Parameter | Requirement | Implementation |
|`action_source`| Always required | It is set automatically but it can be set manually. |
101
-
|`event_source_url`| Only required if `action_source` = “website | It must be set manually if using a server library. It is set automatically if using our web library. |
102
-
|`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 our web library. |
98
+
| Server Event Parameter | Requirement | Implementation|
|`action_source`| Always required | It is set automatically but it can be set manually.|
101
+
|`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. |
102
+
|`event_source_url`| 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. |
103
103
104
104
105
-
###Action Source
105
+
###Action Source
106
106
107
-
`action_source`will automatically be set to "website" as a default value. If a mobile library is used then `action_source`will default to “app”.
107
+
`action_source`is set to "website" as a default value. If a mobile library is used then `action_source`defaults to “app”.
108
108
109
-
`action_source` can also be set manually by passing it in as a property of a Track event. Either snake case or camel case can be used to include `action_source` as a property in Track events.
109
+
You can set `action_source`manually by passing it as a property of a Track event. You can use either snake case or camel case to include `action_source` as a property in Track events.
|`website`| Conversion was made on your website. |
115
113
|`app`| Conversion was made using your app. |
116
-
|`phone_call`| Conversion was made over the phone. |
117
114
|`chat`| Conversion was made via a messaging app, SMS, or online messaging feature. |
115
+
|`email`| Conversion happened over email. |
116
+
|`other`| Conversion happened in a way that is not listed. |
117
+
|`phone_call`| Conversion was made over the phone. |
118
118
|`physical_store`| Conversion was made in person at your physical store. |
119
119
|`system_generated`| Conversion happened automatically, for example, a subscription renewal that’s set on auto-pay each month. |
120
-
|`other`| Conversion happened in a way that is not listed.|
120
+
|`website`| Conversion was made on your website. |
121
121
122
122
123
-
###Client User Agent
123
+
###Client User Agent
124
124
125
-
`client_user_agent` is set by including `context.userAgent` in the track event. The value used should be the user agent of the browser where the conversion event occurred. It must be set manually if using a server library. It is set automatically if using our web library.
125
+
`client_user_agent` is set by including `context.userAgent` in the track event. The value used should be the user agent of the browser where the conversion event occurred. If you're using a server library, set `client_user_agent` manually. If you're using the Segment web library, `client_user_agent` is set automatically.
126
126
127
-
###Event Source URL
127
+
###Event Source URL
128
128
129
-
`event_source_url`is set by including `context.page.url` in the track event. The value used should be the browser URL where the conversion event occurred. It must be set manually if using a server library. It is set automatically if using our web library.
129
+
`event_source_url` is set by including `context.page.url` in the track event. The value used should be the browser URL where the conversion event occurred. If you're using a server library, set `event_source_url` manually. If you're using the Segment web library, `event_source_url` is set automatically.
130
130
131
-
###Implementating Server Event Parameter Requirements
131
+
###Implementing Server Event Parameter Requirements
132
132
133
-
If `action_source` = 'website' then the `context.userAgent` and the `context.page.url` fields are required. Segment server-side libraries do not automatically collect the `context.userAgent` or the `context.page.url`. This data will need to be manually grabbed from the client and passed to the server.
133
+
If `action_source` is set to 'website', the `context.userAgent` and the `context.page.url` fields are required. Segment server-side libraries do not collect `context.userAgent` or `context.page.url` by default. This data must be retrieved manually from the client and passed to the server.
134
+
135
+
The snippet below provides an example of a [`Product Added`](/docs/connections/spec/ecommerce/v2/#product-added) event using Node.js.
134
136
135
-
Example of a [`Product Added`](/docs/connections/spec/ecommerce/v2/#product-added) event using Node.js
136
137
```javascript
137
138
analytics.track({
138
139
context: {
@@ -165,7 +166,7 @@ analytics.track({
165
166
166
167
The following mappings are automatic and require no additional set up. Any of the Segment Ecommerce Events in the table below will be sent as the corresponding Facebook Standard Event. You learn more about these in the Facebook pixel [standard events documentation](https://developers.facebook.com/docs/facebook-pixel/implementation/conversion-tracking#standard-events).
167
168
168
-
| Segment Ecommerce Event | Facebook Standard Event |
169
+
| Segment E-commerce Event | Facebook Standard Event |
0 commit comments