Analytics and Tracking

_fbp and _fbc

Also called Meta browser ID cookie, Facebook click ID cookie

Two first-party cookies Meta uses to identify a browser and to remember which ad click brought it to your site.

Quick facts: _fbp and _fbc

Category
Analytics and Tracking
Also called
Meta browser ID cookie, Facebook click ID cookie
Level
Advanced
Affects
Event match quality, conversion attribution, campaign optimisation
Where to see it
Browser developer tools storage panel, Meta Events Manager, Meta Pixel Helper
In this article4
  1. How _fbp and _fbc work
  2. Why _fbp and _fbc matter
  3. Where _fbp and _fbc go wrong
  4. What to do about it

How _fbp and _fbc work

When the Meta Pixel loads on your site it writes a cookie called _fbp under your own domain. The value is a random browser identifier — not a name, not a Facebook account — generated on your site and stored there. It is what allows a page view and a later purchase from the same browser to be recognised as one visit rather than two strangers.

The second cookie, _fbc, only appears when someone arrives from a Meta ad. The ad link carries a click identifier in the URL, and the pixel copies that value into _fbc so it survives once the parameter has gone from the address bar. One cookie says which browser; the other says which ad click. Both are first-party, which is why they behave far better than the cross-site cookies advertisers used to depend on.

Why _fbp and _fbc matter

They are the two strongest signals Meta has for matching a conversion back to an ad without needing anything personal. When you send events from your server through the Pixel and Conversions API, these cookie values are the parameters that let the browser event and the server event be recognised as the same action rather than counted twice.

Where they are missing, matching quality falls, conversions go unattributed, and the optimisation the campaign is doing gets worse — because the system is learning from a thinner and more biased sample of what actually happened. That effect is quiet. Nothing in Ads Manager announces that a signal is absent; results simply drift.

Where _fbp and _fbc go wrong

The first failure is a server-side setup that forgets to pass them. A developer builds Conversions API events from the order record, sends name and email, and never reads the cookies from the request — so every server event arrives without the two parameters that would have matched it cleanly to the click.

The second is a redirect that strips the click identifier before the pixel can read it. Link shorteners, tracking templates and marketing plugins all do this, and once the parameter is gone from the URL, _fbc is never written at all.

The third is expecting them where they cannot exist. In-app browsers, strict privacy settings and refused consent all mean no cookie, so a share of your traffic will always arrive unidentified. Plan for that gap rather than treating it as a bug to be eliminated.

What to do about it

Click one of your own live ads on a phone, land on the site, and check both cookies in the browser’s storage panel. If _fbc is missing, follow the URL through every redirect until you find the step that removed the click identifier. This is the single most common cause of poor matching I see, and it is usually a plugin nobody remembers installing.

Then confirm your server events actually include both values. In Meta’s Events Manager, the event match quality indicator and the deduplication warnings will tell you whether browser and server events are being joined correctly. Fix the plumbing before you touch bids, budgets or the click identifier settings — no amount of campaign tuning compensates for signals that never arrive.

Do and do not

Do

  • Pass both cookie values with every server-side event
  • Click your own ad and check both cookies appear
  • Trace redirects that strip the click identifier

Do not

  • Build Conversions API events from order data alone
  • Send ad traffic through link shorteners that drop parameters
  • Expect every visitor to arrive with these cookies set

Questions people ask about this

Are _fbp and _fbc first-party or third-party cookies?

Both are first-party. They are written under your own domain by code running on your site, so browsers that block cross-site cookies do not remove them. That is exactly why Meta moved to this approach, and why matching quality now depends far more on your own site being set up correctly than on anything happening in Ads Manager.

Why is my event match quality low?

Most often because server events are being sent without the cookie values attached, or because a redirect stripped the click identifier before the pixel could store it. Missing consent also plays a part. Check that your Conversions API integration reads both cookies from the incoming request rather than building events from order data alone.

Do these cookies need consent?

Yes, where consent rules apply. They exist for advertising measurement rather than to make the page work, so they belong behind your consent banner and in your cookie table. If a visitor declines, the pixel should not write them, and you should expect a share of conversions to arrive unmatched as a result.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.