Why it happens
A redirect drops it
A redirect drops it
Link shorteners, vanity URLs and forced https or www hops that lose the query string take fbclid with them.
The in-app browser opens a different URL
Instagram and Facebook open links in their own browser. If your site bounces that browser to an app or a login wall, the parameter rarely survives.
Privacy features remove it
Safari strips fbclid in Private Browsing, Mail and Messages, and several browsers and extensions strip it everywhere.
The site cleans the URL on load
Some frameworks and consent tools rewrite the URL to a clean path before the pixel reads it, so _fbc never gets set.
How to line them up, step by step
Click your own ad and check the URL
Open the ad preview in Ads Manager on a phone, tap through, and check fbclid is still in the address bar on the final page.
Add UTMs to every ad
In Ads Manager open the ad, go to Tracking, then URL parameters, and use Build a URL parameter to add utm_source, utm_medium and utm_campaign. fbclid tells Meta about the click; UTMs tell your analytics.
Check the pixel sets _fbc
Open your browser developer tools on the landing page and look for the _fbc cookie after arriving with fbclid. If it is missing, the pixel loads too late or the parameter was stripped.
Compare in Events Manager
In Events Manager open your pixel, then Overview, and check event match quality for click ID coverage.
Steps checked against Meta Business Help Center: About URL parameters; Meta for Developers: fbp and fbc parameters; Meta Business Help Center: About event match quality.
Sprites diagnoses this
Sprites diagnoses it
Sprites shows how much Meta traffic reaches your analytics untagged, and how far the counts drift apart.
What Sprites does
- Breaks PostHog visits and signups down by utm_source and by whether an fbclid arrived, so untagged Meta clicks show up.
- Breaks GA4 sessions down by source and medium, so Meta clicks filed as referral or direct stand out.
- Puts Meta-reported conversions next to your analytics conversions for the same days.
What it doesn't do
- It does not edit ad URL parameters, your site or the Meta pixel.
- It does not send events through the Conversions API.
Questions
What does fbclid stand for?
Facebook Click Identifier. Meta appends it to outbound links clicked on Facebook and Instagram.
Can I remove fbclid from my URLs?
You can strip it after the pixel has read it, but strip it before and Meta loses the click match. Never strip it in a redirect before the page loads.
Does fbclid mean the visitor came from an ad?
No. Meta adds it to organic link clicks too. Only UTMs or the ad ID in your URL parameters tell an ad click from a shared post.
Why does GA4 show facebook.com referral instead of my campaign?
GA4 ignores fbclid. Without UTMs, Meta clicks land as a referral from facebook.com or as direct traffic.
- What is gclid?
- UTM parameters being stripped
- GA4 vs Meta Ads conversions: why Meta reports more
- PostHog vs Meta Ads: why Meta claims more conversions
- gclid missing from your URLs
- UTM parameters not showing in GA4
- PostHog UTM tracking
- Multi-touch attribution
- PostHog vs Google Analytics for paid ads
- Attribution window
- Cross-channel attribution
- Google Ads attribution model
- Meta ads attribution settings
See where it breaks
Connect your accounts. Sprites reads them side by side and shows you exactly where the numbers split.