Conversion tracking guide

FBCLID, FBC, and FBP: the GoHighLevel attribution fields people keep mixing up.

These values are related, but they are not interchangeable. A reliable setup captures each one at the right point and does not invent values when they are unavailable.

Updated July 2026 8 min read Practical setup guide
Quick answer

What to do

FBCLID is the click identifier commonly found in the landing URL. FBC is Meta's formatted click-cookie value. FBP is the browser identifier from the Meta Pixel cookie. Capture them on the landing page when available, store them before redirects, and pass them into the server event.

What each value means

FBCLID usually arrives in the URL after a Meta ad click. FBC represents click information in the format Meta expects for matching. FBP identifies the browser through the Meta Pixel cookie.

Not every visitor will have all three. Organic traffic may have no FBCLID. Consent choices, browser settings, ad blockers, and redirects can also limit what is available.

  • FBCLID: click value from the landing URL
  • FBC: formatted click identifier used in Meta matching
  • FBP: browser identifier created by the Meta Pixel
  • UTMs: campaign labels for your reporting, not replacements for Meta identifiers

Where GoHighLevel setups lose the values

The most common loss happens before GoHighLevel receives the form. A redirect removes the query string, a button sends the visitor to another page, or an embedded form submits without carrying the parent page values.

Capture the information on the first landing page and store it in a controlled browser or contact field flow. Waiting until the workflow runs is too late if the values never reached the contact.

  • Redirects that drop query parameters
  • Forms hosted on another domain or iframe
  • Custom fields not included in the form or webhook
  • New contacts created without the original attribution
  • Workflows that overwrite an existing first-touch value

How to handle the fields without fabricating data

Send the values when they are present and valid. Do not create fake click IDs or copy identifiers between unrelated visitors. More fields do not improve tracking when the values are wrong.

Keep first-touch and latest-touch reporting separate if the business needs both. That prevents a later visit from erasing the original campaign history.

  • Capture early
  • Validate before sending
  • Store the original value
  • Do not overwrite with blanks
  • Do not use UTMs as fake Meta identifiers
Before you publish

GoHighLevel Meta CAPI check

01Confirm FBCLID is present on a real Meta ad click

02Confirm FBP is created when the Pixel is allowed to run

03Store values before any redirect

04Map fields through the form and workflow

05Inspect the final event in Meta Test Events

Frequently asked questions

Common questions about this setup

Is FBCLID always present?+

No. It is usually associated with a Meta ad click and can be absent for organic visits or when the URL value is removed.

Can UTMs replace FBC or FBP?+

No. UTMs are useful campaign labels, but they do not replace Meta's click and browser identifiers.

Should I generate FBC from FBCLID?+

A valid implementation can format and store FBC from a real FBCLID. Do not generate it when no real click identifier exists.

Why does GoHighLevel show attribution but Meta still says no attribution data?+

GoHighLevel attribution fields and Meta matching fields are related but not identical. Inspect the exact server payload Meta received.

Official references

Use these official references when checking the current Meta setup and account screens.

Keep learning

Related conversion tracking guides

Simple CAPI workspace

Turn the answer into a working Meta conversion.

Choose Lead or Schedule, paste one protected script on the intended page, and verify the real conversion.

Create your script