Advertising cookie · Meta Pixel
_fbp Cookie: What It Is, Who Sets It, and Consent Rules
Last verified 2026-10-16 · Updated 2026-10-16
On this page
What the _fbp Cookie Does on Your Site
The _fbp cookie is a first-party advertising cookie that Meta Pixel sets to tell one browser apart from another for ad delivery and measurement. Meta Pixel "automatically saves a unique identifier to an _fbp cookie for the website domain", according to the Meta developer documentation on the fbp and fbc parameters. Meta Pixel sends the identifier with every page view and conversion. Meta uses the identifier to match the visit to an ad, build Custom Audiences for retargeting, and measure the results in Meta Ads Manager.
The Meta Conversions API accepts the same value as the fbp parameter, so a server-side setup reads the _fbp cookie and sends the value from your server to Meta.
The value of the _fbp cookie looks like fb.1.1596403881668.1116446470. The table explains each part.
| Part of the value | Meaning |
|---|---|
fb | The version prefix that every Meta value starts with. |
1 | The subdomain index, which says on which domain level the cookie sits. |
1596403881668 | The time the cookie was created, as a Unix timestamp in milliseconds (2 August 2020 in the example). |
1116446470 | A random number that Meta Pixel generates so that every _fbp cookie is unique. |
| Cookie name | _fbp |
|---|---|
| Vendor | Meta Pixel |
| Company | Meta Platforms, Inc. (Meta Platforms Ireland Limited for visitors in the EU) |
| Category | Advertising |
| Party | First-party |
| Domain | Your own root domain, for example .example.com |
| Set by | JavaScript, through the Meta Pixel library (fbevents.js) from connect.facebook.net |
| Retention | 90 days (3 months) |
| Value example | fb.1.1596403881668.1116446470 |
| HttpOnly | No |
| Secure | No |
| SameSite | Not set by Meta Pixel, so browsers apply Lax |
| Cookie Consent category | targeting |
| Privacy Consent vendor category | Advertising (advertising) |
Who Sets the _fbp Cookie
Meta Pixel sets the _fbp cookie through the Meta Pixel base code, which loads fbevents.js from connect.facebook.net. Platform integrations add the same base code, for example the Facebook and Instagram app on Shopify and the Meta plugin for WooCommerce. The _fbp cookie then appears without any code edit.
The base code writes the _fbp cookie with JavaScript on your domain, so the _fbp cookie counts as a first-party cookie. Meta still receives the identifier with every request to facebook.com/tr.
Read how Meta Platforms, Inc. handles the data in the Meta Pixel privacy policy, and sign the Meta Data Processing Terms before you collect data from visitors in the EU or the UK. Both documents appear in the sources at the end of this page.
Does the _fbp Cookie Need Consent?
Yes, the _fbp cookie needs consent in the EU and the UK, and needs no prior opt-in in California. The table gives the rule for each law.
| Law | Consent before the cookie is set | Opt-out right | Source |
|---|---|---|---|
| EU ePrivacy Directive + GDPR | Required | Withdraw at any time | Article 5(3), ePrivacy Directive |
| UK PECR | Required | Withdraw at any time | Regulation 6 and Schedule A1, PECR |
| California CCPA | No general opt-in | Opt out of sale and sharing | Cal. Civ. Code 1798.120 |
The consent table describes what each law requires and is not legal advice. Whether a law applies to your site depends on where your visitors are, where your business is based, and how you set up Meta Pixel, such as Limited Data Use.
The ePrivacy Directive requires consent before a site sets the _fbp cookie. The General Data Protection Regulation (GDPR) sets the standard for that consent: freely given, specific, informed, and unambiguous.
The UK Privacy and Electronic Communications Regulations (PECR) require consent before a site sets the _fbp cookie.
The California Consumer Privacy Act (CCPA) sets no general opt-in requirement before a site sets the _fbp cookie. The CCPA treats the data the _fbp cookie collects for cross-context behavioral advertising as sharing. Offer visitors a way to opt out of sale and sharing, such as a "Do Not Sell or Share My Personal Information" link or the alternative opt-out link the CCPA regulations allow. Honor Global Privacy Control (GPC) signals as opt-out requests. Sharing the data of a consumer under 16 needs opt-in consent instead: from the consumer from 13 to 15 years, and from a parent under 13. The Meta Pixel template of TermsFeed Privacy Consent turns on Limited Data Use, which limits how Meta uses the data of visitors in the US states that require it.
Read how each law decides which cookies need consent in the EU ePrivacy Directive + GDPR guide, the UK PECR guide, and the California CCPA guide.
How to Block the _fbp Cookie Until Visitors Accept
Block the _fbp cookie by holding back the Meta Pixel base code until the visitor accepts advertising cookies. TermsFeed Free Cookie Consent and TermsFeed Privacy Consent place Meta Pixel in the advertising category. Check whether an exemption applies to your own use of Meta Pixel in the consent rules for the _fbp cookie.
Meta Pixel writes no _fbp cookie while the base code waits as a tagged script, so a visitor who declines sends no request to Meta.
Block the _fbp Cookie With TermsFeed Free Cookie Consent
TermsFeed Free Cookie Consent runs a tagged script only after the visitor accepts its category. Change type="text/javascript" to type="text/plain" and add data-cookie-consent="targeting", the Cookie Consent category for advertising cookies. The tagged the Meta Pixel base code looks like this.
<script type="text/plain" data-cookie-consent="targeting">
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
Cookie Consent runs the tagged code after the visitor clicks "I agree" or accepts the targeting category in the Preferences Center. The illustration shows the consent banner and the script it releases.
targeting. Illustration of the consent banner.Cookie Consent is free and needs no account. Build your free consent banner with TermsFeed Free Cookie Consent.
Block the _fbp Cookie With TermsFeed Privacy Consent
Add Meta Pixel from its template in TermsFeed Privacy Consent, and the pixel loads only after the visitor accepts the Meta Pixel vendor. The template holds the base code in an Advertising vendor, turns on Limited Data Use, and sends the Meta Pixel consent signal for you.
A visitor who withdraws consent in the Preferences Center stops the pixel at once, because Privacy Consent calls fbq('consent', 'revoke') on the same page. Remove the old base code and its <noscript> image from your site, so the pixel never loads twice.
The Meta Pixel template asks for the Pixel ID and fills every other field of the vendor. Pick the "Meta Pixel" card under Advertising, enter the Pixel ID, and click "Add Meta Pixel". Find the Pixel ID in Meta Events Manager under Data sources › your pixel › Settings. The illustration shows the template form in the TermsFeed app.
Privacy Consent detects the location of each visitor and records every answer in a consent log. Set up Meta Pixel from its template with TermsFeed Privacy Consent.
Block the _fbp Cookie With the Meta Pixel Consent API
Call fbq('consent', 'revoke') before fbq('init', ...) on every page, and call fbq('consent', 'grant') once the visitor accepts advertising cookies. The Meta Pixel GDPR documentation describes the revoke call as a way to "pause sending Pixel fires to Facebook".
Hold back the whole base code instead of relying on the consent API alone. With the consent API alone, the browser of a visitor who declined still downloads fbevents.js from Meta, so the visitor still contacts Meta.
<script>
fbq('consent', 'revoke'); // add before fbq('init', ...) in the base code
</script>
<script type="text/plain" data-cookie-consent="targeting">
fbq('consent', 'grant');
</script>
How to Verify That the _fbp Cookie Waits for Consent
Verify the setup in a private window. Open Chrome DevTools, select the Application tab, and open Cookies. Click "I decline" on the consent banner and reload the page. The _fbp cookie must not appear in the list until you accept advertising cookies.
How Long the _fbp Cookie Lasts
The _fbp cookie lasts 90 days (3 months). Safari caps the cookies that JavaScript sets at 7 days of Safari use without an interaction with your site, according to the WebKit team behind Safari.
Expect a 90-day expiry. A scan by the TermsFeed website auditor on 25 September 2026 found the _fbp cookie with a 90-day expiry. The TermsFeed Privacy Consent guide for Meta Pixel lists the same 90 days.
Scripts and Requests of Meta Pixel That Come With the _fbp Cookie
The catalog lists 4 scripts, pixels, and data endpoints of Meta Pixel, which a cookie scanner or the Network tab of Chrome DevTools shows next to the _fbp cookie. Block the main script, and the requests in the table stop with the main script.
| Type | Resource | Host | What it does |
|---|---|---|---|
| Script | Meta Pixel library (fbevents.js) | connect.facebook.net | The Meta Pixel library loads from connect.facebook.net and writes the _fbp and _fbc cookies. |
| Script | Meta Pixel configuration (signals/config) | connect.facebook.net | The configuration script loads the settings of your pixel ID, such as automatic events and advanced matching. |
| Pixel | Meta Pixel image pixel (noscript) | www.facebook.com | The image pixel in the <noscript> part of the base code reports a page view from browsers without JavaScript. |
| Data endpoint | Meta Pixel event endpoint (facebook.com/tr) | www.facebook.com | The event endpoint receives every page view and conversion, with the identifier from the _fbp cookie. |
_fbp Cookie FAQs
Is _fbp a necessary cookie?
No, the _fbp cookie is not a strictly necessary cookie. Firstly, your site works the same for a visitor who refuses the _fbp cookie. Secondly, Meta uses the _fbp cookie for ad delivery and measurement, purposes the ePrivacy Directive exemption does not cover. Thirdly, Meta itself offers the fbq('consent', 'revoke') call to pause the pixel until the visitor agrees.
What is the difference between _fbp and _fbc?
The _fbp cookie identifies the browser on every visit, and the _fbc cookie stores the click ID of a Meta ad. Meta adds the click ID to the landing page URL as the fbclid parameter, and Meta Pixel saves the click ID in the _fbc cookie. A visitor who never clicks a Meta ad gets no _fbc cookie.
Does the _fbp cookie contain personal data?
Yes, the _fbp cookie holds personal data under the GDPR. Firstly, the identifier is unique to a single browser. Secondly, Meta links the identifier to the visits and conversions of that browser. Thirdly, Recital 30 of the GDPR names cookie identifiers among the online identifiers that make a person identifiable.
How long does the _fbp cookie last?
The _fbp cookie lasts 90 days (3 months). A scan by the TermsFeed website auditor on 25 September 2026 measured the 90-day expiry. Safari deletes the cookie earlier, after 7 days of Safari use without an interaction with your site.
Sources for the _fbp Cookie
The facts on this page come from the documentation Meta publishes, checked on 2026-10-16. The catalog lists every source so you check each fact yourself.
- Meta for Developers, fbp and fbc parameters
- Meta for Developers, Meta Pixel and the GDPR
- GDPR, Recital 30
- TermsFeed website auditor scan, 25 September 2026 (internal)
- Meta Pixel privacy policy
- Meta Data Processing Terms