Meta Conversions API setup for Gravity Forms
It's WordPress, so count the pixels first. After that, Lead from the confirmation event and CAPI from the PHP hook, deduplicated on the entry ID.
Free30 minutesNo obligation
Gravity Forms + Meta CAPI · what breaks
What goes wrong on Gravity Forms
- 01
AJAX submission with no navigation
So URL-bound triggers never fire.
- 02
WordPress caching and optimisation
Inherited complications that break browser-side events.
- 03
Multi-page forms losing hidden values
Unless carried through each page.
- 04
Plugin duplication
The WordPress inventory problem.
Gravity Forms + Meta CAPI · the fix
What changes — Gravity Forms + Meta CAPI
Conversions on real submission
Browser event or PHP hook.
Click IDs in the entry
Hidden fields populated on landing.
Server-side events immune to caching
From the PHP hook.
Gravity Forms + Meta CAPI · architecture
How Meta tracking behaves on Gravity Forms
Pixel inventory, then a clean two-path setup.
- 1
Pixel inventory first
It's WordPress.
- 2
Lead on gform_confirmation_loaded
Browser-side.
- 3
CAPI from gform_after_submission
Server-side.
- 4
Entry ID as event_id
Shared by both paths.
- 5
Customer data from the entry
Normalized before hashing.
Gravity Forms + Meta CAPI · diagnose
Where Gravity Forms 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
Submit a form and watch the URL
AJAX submission means no change.
- 02
Check hidden fields have values in the entry
Not just that they exist.
- 03
Test multi-page forms end to end
Values can be lost between pages.
- 04
List tracking-adjacent plugins
WordPress inventory.
- 05
Reconcile entries against your CRM
For a closed month.
Gravity Forms + Meta CAPI · prove
The QA evidence — Gravity Forms + Meta CAPI
Run on Gravity Forms specifically, on a live conversion rather than in preview mode.
Source of truth
your Gravity Forms entry records
- Conversion confirmed firing on a real submission.
- Click identifiers confirmed present in the entry.
- Multi-page forms tested end to end.
- Entry ID confirmed as the deduplication key on both paths.
- Entries 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.
Gravity Forms + Meta CAPI · free audit
What we check in the free audit
- Submit a form and watch the URL
- Check hidden fields have values in the entry
- Test multi-page forms end to end
- List tracking-adjacent plugins
- Reconcile entries against your CRM
Checked against
your Gravity Forms entry records
Free30 minutesNo obligation
Gravity Forms + Meta CAPI · when not to buy
When you don't need this on Gravity Forms
Worth reading before you buy anything, from us or anyone.
- If your Gravity Forms conversions fire and entries carry click IDs, this is working.
- The PHP hook is straightforward WordPress development. Hand your developer gform_after_submission and this page.
- If you don't need server-side reliability, gform_confirmation_loaded alone is a legitimate browser-side setup.
- Check one entry for hidden field values first — it takes a minute.
Gravity Forms + Meta CAPI · what we deliver
What gets built for Meta on Gravity Forms
A shared event ID on both paths
The Gravity Forms entry ID, available to both the JavaScript event and the PHP hook.
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 Gravity Forms entry 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
Gravity Forms + Meta CAPI questions, answered
Bound to a navigation. Use gform_confirmation_loaded.
The Gravity Forms entry ID, available to both paths.
It's WordPress. Inventory the plugins before adding anything.
Capture fbclid on landing into a hidden field. It's then on the entry, server-side.
Free · 30 min
Get Pixel and CAPI counting once on Gravity Forms
Free30 minutesNo obligation
