---
title: 'fbclid: meaning, missing IDs and removal'
description: 'What fbclid means in a URL, why it can be missing, when to remove it, and how a captured Meta click ID becomes fbc for the Conversions API.'
canonical: 'https://plainrouter.com/library/fbclid'
format: Explainer
published_at: '2026-10-29'
last_updated: '2026-10-29'
---

# fbclid: what it means and when to remove it

fbclid is Meta's click identifier in a website's landing URL after a Facebook or Instagram ad click. Keep fbclid intact until your permitted measurement setup can read it; remove it from a copy of the link when you only want to share the destination.

## Key facts

- Meta documents ` fbclid ` as a case-sensitive click ID, not a campaign label you choose. [Meta's ClickID guide, checked 29 October 2026](<https://developers.facebook.com/documentation/ads-commerce/conversions-api/parameters/fbp-and-fbc>).
- The URL value is only the click-ID portion of ` fbc `; Meta documents a prefix, domain index and timestamp around it. [Meta's fbc format, checked 29 October 2026](<https://developers.facebook.com/documentation/ads-commerce/conversions-api/parameters/fbp-and-fbc#2-format-clickid>).
- Browser privacy protection can remove ` fbclid ` before a site receives it: Mozilla lists it among the parameters stripped in Firefox's Strict Enhanced Tracking Protection. [Mozilla's query-stripping documentation, checked 29 October 2026](<https://firefox-source-docs.mozilla.org/toolkit/components/antitracking/anti-tracking/query-stripping/index.html>).

## What does fbclid look like in a URL?

It is a query parameter: the name is ` fbclid `, and the value follows the equals sign. This example uses a fictional value, not a real ad click:

```text
https://shop.example/pricing?utm_source=facebook&utm_medium=paid_social&fbclid=FBCLID_EXAMPLE_123
```

The path selects ` /pricing `. The UTMs are campaign labels; ` fbclid=FBCLID_EXAMPLE_123 ` is the click-ID parameter. They can appear together, but one cannot replace the other. Use [Facebook UTM parameters](</library/facebook-utm-parameters>) for labels you control.

Meta generates real click IDs. Adding the fictional string to a URL can test whether your redirects preserve it; it cannot create an attributable Meta ad click.

## Can you decode fbclid into an ad or campaign?

Treat fbclid as an opaque identifier in your integration, rather than a readable campaign report. Meta's [documented contract](<https://developers.facebook.com/documentation/ads-commerce/conversions-api/parameters/fbp-and-fbc>) explains how to capture and format it; it does not provide a supported decoder for extracting campaign names, audiences or a person's identity.

That is different from claiming the string contains no information. A reverse-engineered decoder may make assumptions about particular formats; those assumptions are not the interface Meta documents for conversion measurement. Use authorized reporting for campaign details, and preserve the original click ID rather than changing its case or guessing a replacement.

A URL containing fbclid is not proof of a purchase, consent or an attributed conversion. Someone can also copy and share a URL with its query string intact, so its presence alone does not prove a fresh ad click by the person opening it.

## Why is fbclid sometimes missing?

A missing fbclid does not identify the cause by itself. The URL may never have carried it, a privacy feature may have removed it, or your own navigation may have dropped it.

Check these separately:

- \*\*The link:\*\* a direct visit, bookmark or cleaned shared link may have no click ID to preserve.
- \*\*The browser:\*\* Mozilla documents [query-parameter stripping](<https://firefox-source-docs.mozilla.org/toolkit/components/antitracking/anti-tracking/query-stripping/index.html>) that includes fbclid in Firefox's Strict protection. Do not assume every browser or mode behaves alike.
- \*\*The route to the page:\*\* a short link, hostname redirect, locale redirect or client-side router can discard the query string.
- \*\*The point you inspect:\*\* the initial request and the address bar after navigation may differ. Find the first point where the value disappears.

A missing ` _fbc ` cookie is a different observation. The URL can contain fbclid even when consent does not permit storing it. Do not manufacture a click ID or bypass a visitor's privacy choice to fill that gap.

## Should you remove fbclid?

Remove it from a shared copy when you want a cleaner link. If you operate the destination site and use Meta click matching, do not strip it before your permitted collection flow has read it.

For example, a shared copy of the URL above can be:

```text
https://shop.example/pricing?utm_source=facebook&utm_medium=paid_social
```

Keep other parameters that the destination needs. Removing fbclid from the address does not delete existing cookies or undo information already sent, and it does not disable every other form of measurement.

For site owners, the order matters. A redirect that removes the only available click ID before collection loses the source value used to form fbc. That can remove click-matching context; it does not mean the order or conversion itself never happened. A query-sensitive cache is a separate configuration question: [Cloudflare includes the query string in its default cache key](<https://developers.cloudflare.com/cache/how-to/cache-keys/>). Review caching without silently discarding permitted click context.

## How does fbclid become fbc?

fbclid supplies the final part of the formatted fbc value. Meta documents this structure:

```text
fb.<domain index>.<creation time in milliseconds>.<fbclid>
```

For example, this entire value is synthetic:

```text
fb.1.1790000000123.FBCLID_EXAMPLE_123
```

Meta defines the time as when ` _fbc ` was stored; without a cookie, use when you first observed or received the click ID. It is not the later purchase time. Meta's [formatting instructions](<https://developers.facebook.com/documentation/ads-commerce/conversions-api/parameters/fbp-and-fbc#2-format-clickid>) also describe the domain index and the parameter-builder library's additional suffix.

` _fbc ` is the cookie name; ` fbc ` is the Conversions API field. Send the complete fbc value unhashed, not the raw fbclid alone. If no permitted current or retained click identifier is available, omit fbc rather than inventing one. For cookie formats and the browser identifier, compare [fbp vs fbc vs fbclid](</library/fbp-fbc>).

## Where does Plainrouter fit?

The Plainrouter TypeScript SDK accepts advertising identifiers under ` click_ids `. During eligible Meta delivery, valid ` fbp ` and ` fbc ` values become Meta ` user_data ` fields. The consent object must come from the site's real consent workflow; copying ` granted ` into a request does not establish permission.

Use the existing [example for sending fbp and fbc through Plainrouter](</library/fbp-fbc#send-the-values-through-plainrouter>) for the request shape. Passing a raw fbclid as a complete fbc value is not a substitute for formatting it correctly.

## Frequently asked questions

### Is fbclid a cookie?

No. It is a URL query parameter. ` _fbc ` is the cookie that can hold the formatted click context, while ` fbc ` is the corresponding field sent with a Conversions API event.

### Can I generate fbclid myself?

You can make a fictional value to test URL handling, but it is not a real Meta click identifier. Do not replace missing values with placeholders in advertising events.

### Does removing fbclid stop tracking?

Removing it removes that parameter from the URL you edit. It does not clear cookies, reverse earlier requests or remove other identifiers and campaign labels.

### Is fbclid the same as gclid?

No. fbclid belongs to Meta's click-ID flow; [GCLID](</library/gclid>) belongs to Google Ads. Keep each under its own name instead of treating all advertising parameters as interchangeable.
