Meta Conversions API setup for Typeform
Same mechanism. fbclid in as a hidden field, out on the webhook, used for the CAPI event with the response ID as event_id.
Free30 minutesNo obligation
Typeform + Meta CAPI · what breaks
What goes wrong on Typeform
- 01
Embedded in an iframe
It can't read your page's URL, so the click ID never arrives by itself.
- 02
Completion happens inside the frame
Observable only through Typeform's own events.
- 03
Hidden fields declared but not populated
The field exists and nothing writes to it.
- 04
Partial responses
A started form is not a submission.
Typeform + Meta CAPI · the fix
What changes — Typeform + Meta CAPI
Click IDs passed in and returned
Via hidden fields and the webhook.
Conversions on real completion
Bound to Typeform's event, not a navigation.
Server-side submissions
From the webhook.
Typeform + Meta CAPI · architecture
How Meta tracking behaves on Typeform
In as a hidden field, out on the webhook.
- 1
fbclid as a hidden field
The only way it reaches the response.
- 2
Lead from the submit event
Browser-side.
- 3
CAPI from the webhook
Server-side, deduplicated.
- 4
Response ID as event_id
Shared by both paths.
- 5
Customer data from the response
Normalized before hashing.
Typeform + Meta CAPI · diagnose
Where Typeform tracking breaks, in diagnostic order
Each check rules out a class of cause, so by the last one there is usually a single explanation standing.
- 01
Check whether hidden fields are declared
And whether anything writes to them.
- 02
Submit a test response from a tagged click
Check the hidden fields in the response.
- 03
Confirm the embed SDK events are bound
Rather than a navigation.
- 04
Check whether the webhook is configured
Often not.
- 05
Reconcile responses against your CRM
For a closed month.
Typeform + Meta CAPI · prove
The QA evidence — Typeform + Meta CAPI
Run on Typeform specifically, on a live conversion rather than in preview mode.
Source of truth
your Typeform response records
- Click identifiers confirmed present in a live Typeform response.
- Conversion confirmed firing on the submit event.
- Webhook confirmed delivering the response with hidden fields.
- Response ID confirmed as the deduplication key on both paths.
- Responses reconciled against CRM records for a closed month.
- Reconciled over a fully closed window, matched per record rather than on totals.
- Re-checked 30 days later, and after any platform update.
Typeform + Meta CAPI · free audit
What we check in the free audit
- Check whether hidden fields are declared
- Submit a test response from a tagged click
- Confirm the embed SDK events are bound
- Check whether the webhook is configured
- Reconcile responses against your CRM
Checked against
your Typeform response records
Free30 minutesNo obligation
Typeform + Meta CAPI · when not to buy
When you don't need this on Typeform
Worth reading before you buy anything, from us or anyone.
- If your Typeform responses already carry click IDs, the hard part is done.
- Declaring hidden fields and populating them on embed is a small piece of code. A developer can do it in under an hour.
- If you don't need offline import, the browser-side submit event alone may be sufficient.
- Check one live response for hidden field values before assuming anything is broken.
Typeform + Meta CAPI · what we deliver
What gets built for Meta on Typeform
A shared event ID on both paths
The Typeform response ID, present on both the submit event and the webhook.
Standard event names, exactly cased
Meta matches on name and ID together, so a case difference alone produces two events.
Customer data normalized then hashed
Lowercase and trimmed email, phone in E.164. This is where nearly every low match quality score comes from.
fbc and fbp forwarded from the browser
fbc only exists if fbclid was captured on landing — a very common gap.
Written guarantee
95%+ tracking accuracy
Measured against your Typeform response records. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.
- Root cause fixed, not worked around
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring on every destination
FAQ
Typeform + Meta CAPI questions, answered
As a hidden field, populated when the embed loads. There's no other route from an iframe.
The Typeform response ID, shared by the browser event and the webhook.
If you want offline outcomes or blocker resistance, yes. The webhook makes it straightforward.
On hashed customer data, at lower quality. The click ID is materially better.
Free · 30 min
Get Pixel and CAPI counting once on Typeform
Free30 minutesNo obligation
