Why it happens
Lead forms not synced
Lead forms not synced
Meta instant form leads only reach HubSpot when that form is connected in HubSpot. A new form launched without the connection collects leads HubSpot never sees.
Existing contacts
A lead who is already in HubSpot keeps their original source. Meta counts a new lead; HubSpot adds activity to an old contact.
View and engage credit
For website leads Meta credits people who saw or engaged with an ad in the last day. HubSpot has no record of that view and files them by the visit it tracked.
Missing UTMs on website ads
Website traffic from Meta without URL parameters lands as Social Media or Direct Traffic in HubSpot, not Paid Social. See UTM parameters stripped.
How to line them up, step by step
Connect every lead form
In HubSpot go to Marketing, Ads, open the Meta account and check Lead syncing lists every active lead form as connected.
Count new vs existing contacts
Build a HubSpot contacts report for the same 30 days on Create date, broken down by Original Source, and a second one on Recent conversion to catch existing contacts.
Compare click-only
In Ads Manager use Compare attribution settings and add 7-day click. Compare that with HubSpot Paid Social contacts.
Tag website ads
Set URL parameters on every Meta ad that sends traffic to your site, with a paid utm_medium so HubSpot files it as Paid Social.
Steps checked against HubSpot Knowledge Base: Sync leads from Facebook lead ads; HubSpot Knowledge Base: Understand the original source and latest source properties; Meta Business Help Center: About attribution settings.
Sprites diagnoses this
Sprites diagnoses it
Sprites lines up your HubSpot contacts and Meta leads and shows where they split.
What Sprites does
- Reads HubSpot contacts, deals and lifecycle stages by source for any date window, read-only.
- Pulls Meta leads and cost per lead per campaign on the same basis as Ads Manager.
- Follows Meta leads into the pipeline, to MQL, SQL and closed deals, so campaigns are judged on revenue.
What it doesn't do
- It does not connect lead forms or write anything to HubSpot.
- It does not send HubSpot stages back to Meta.
Questions
Why are my Facebook leads not showing up in HubSpot?
The lead form is not synced, or the person was already a contact and HubSpot added the submission to their record instead of creating a new one.
Why does HubSpot file Meta leads as Social Media instead of Paid Social?
The visit had no paid UTM. HubSpot read the facebook.com referrer and filed it as organic social.
Which number should I trust for Meta?
HubSpot for pipeline and revenue. Meta for optimizing inside Meta. Judge campaigns on cost per SQL, not cost per lead.
Do Meta lead form leads have a gclid or UTMs?
No. Instant form leads never visit your site, so HubSpot sources them from the sync, not from tracking parameters.
- HubSpot vs Google Ads: why your lead counts differ
- GA4 vs Meta Ads conversions: why Meta reports more
- Meta ads attribution settings
- Multi-touch attribution
- GA4 vs Google Ads conversions: why the numbers don't match
- GA4 vs LinkedIn Ads conversions: why they never match
- PostHog vs Google Ads: why your signups don't match
- PostHog vs Meta Ads: why Meta claims more conversions
- PostHog shows fewer LinkedIn signups than Campaign Manager
- HubSpot vs LinkedIn Ads: why the leads don't match
- Google Ads and Meta both claim the same sale
See where it breaks
Connect your accounts. Sprites reads them side by side and shows you exactly where the numbers split.