fbp and fbc ParametersThis guide explains Meta's ClickID and the _fbcand _fbp parameters. The _fbc and _fbp parameters represent browser cookie values and can be sent with your server events. See About Cookie Settings For Your Meta Pixel.
We recommend that you always send _fbc and _fbp browser cookie values in the fbc and fbp event parameters, respectively, when available. These values are subject to change over multiple browser sessions, so we recommend refreshing a user’s profile with the latest value whenever possible.
ClickID is a Meta-generated parameter that is passed with the URL of an advertiser's website when a user clicks an ad on Facebook and/or Instagram. Sharing ClickID can help you attribute more conversions and reach more people, which may drive better ad performance. ClickID auto-attachment does not impact other custom tracking parameters you may have enabled.
Example URL with ClickID: https://example.com/?fbclid=IwAR2F4-dbP0l7Mn1IawQQGCINEz7PYXQvwjNwB_qa2ofrHyiLjcbCRxTDGrc
fbclid URL query parameterWhenever present in the URL query parameters, try to obtain the parameter server-side by reading it from the HTTP request URL’s query string.
Example:
GET /?fbclid=IwAR2F4-dbP0l7Mn1IawQQGCINEz7PYXQvwjNwB_qa2ofrHyiLjcbCRxTDGrc HTTP/2.0 Host: www.example.org
Note: ClickID value is case sensitive - do not apply any modifications before using, such as lower or upper case.
_fbc cookieClickID value is available within _fbc cookie in 2 cases:
_fbc browser cookie once availableIn both these cases formatted ClickID can be obtained from the _fbc cookie by reading the Cookie headers of the HTTP request. See how to format ClickID correctly in the “Format ClickID” section below.
If the _fbc cookie is not available because there is no Meta Pixel running on the website, it is still possible to send the fbc event parameter with the Conversion API event if an fbclid query parameter is in the URL of the current page request.
The formatted ClickID value must be of the form
version.subdomainIndex.creationTime.<fbclid>, where:
_fbc was stored. If you don't save the _fbc cookie, use the timestamp when you first observed or received this fbclid value<fbclid> is the value for the fbclid query parameter in the page URL.Here’s an example of what the resulting fbc parameter value could look like (note that the <fbclid> portion is invalid):
fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890
Note: Before storing ClickID it is crucial to format it as described in the “Format ClickID” section above - it will ensure a valid value sent to Meta via the Conversions API.
_fbc cookie in the HTTP responseIt is highly recommended to set _fbc as:
once retrieved from the fbclid URL query parameter or the _fbc browser cookie.
Note, only set the cookie if:
fbclid URL query parameterfbclid in the URL query parameter isn’t equal to the corresponding value in the _fbc cookie value. In the cookie, fbclid corresponds to the string after the last “.” in cookie value.Example:
HTTP/2.0 200 OK Content-Type: text/html Set-Cookie: _fbc=fb.1.1709136167115.IwAR2F4-dbP0l7Mn1IawQQGCINEz7PYXQvwjNwB_qa2ofrHyiLjcbCRxTDGrc; Expires=Thu, 21 Oct 2021 07:28:00 GMT;
As an alternative to the cookie option above, you can store and manage the value of the formatted ClickID in your backend storage. In this case, you will need to ensure you store and send the most recent value obtained from the URL query parameter, if present.
fbc Parameter with Conversions API EventsAfter the value of the ClickID is obtained, it needs to be correctly formatted before sending it with an event via Conversions API - see instructions below. We recommend sending the fbc parameter with every event you send to the Conversions API.
Parameter name: fbc
Parameter value: must be of the form version.subdomainIndex.creationTime.fbclid, where:
fb_fbc cookie, use the value 1._fbc cookie was saved. If you don't save the _fbc cookie, use the timestamp when you first observed or received this fbclid value.fbclid is the value for the fbclid query parameter in the page URL.Value example:
fb.1.1554763741205.IwAR2F4-dbP0l7Mn1IawQQGCINEz7PYXQvwjNwB_qa2ofrHyiLjcbCRxTDGrc
Conversions API payload example:
{ "data": [ { "event_name": "Purchase", "event_time": 1712248396, "action_source": "website", "user_data": { "fbc": "fb.1.1554763741205.IwAR2F4-dbP0l7Mn1IawQQGCINEz7PYXQvwjNwB_qa2ofrHyiLjcbCRxTDGrc", "em": ["7b17fb0bd173f625b58636fb796407c22b3d16fc78302d79f0fd30c2fc2fc068"], "ph": ["6069d14bf122fdfd931dc7beb58e5dfbba395b1faf05bdcd42d12358d63d8599"], }, "custom_data": { "currency": "USD", "value": "142.52" } } ] }
Payload Helper is a tool that allows you to construct the Conversions API request payload to ensure correct format of the data sent to Meta. It also features Business SDK in multiple programming languages you can use to integrate with Conversions API. They are available upon clicking on the “Get Code” button within the “Generate Code” section.
fbpWhen the Meta Pixel is installed on a website, and the Pixel uses first-party cookies, the Pixel automatically saves a unique identifier to an _fbp cookie for the website domain if one does not already exist.
The fbp event parameter value must be of the form version.subdomainIndex.creationTime.randomnumber, where:
version is always this prefix: fbsubdomainIndex is which domain the cookie is defined on ('com' = 0, 'example.com' = 1, 'www.example.com' = 2). If you’re generating this field on a server, and not saving an _fbp cookie, use the value 1.creationTime is the UNIX time since epoch in milliseconds when the _fbp cookie was saved. If you don't save the _fbp cookie, use the timestamp when you first observed or received this fbp value.Randomnumber is generated by the Meta Pixel SDK to ensure every _fbp cookie is unique.Here’s an example of what the fbp value could look like:
fb.1.1596403881668.1116446470