Server-side tracking for Gravity Forms
gform_after_submission is one of the cleanest form hooks available anywhere: PHP, once per entry, with the full entry object including hidden fields. That makes server-side conversions straightforward and immune to caching and JavaScript deferral.
Free30 minutesNo obligation
Gravity Forms server-side · 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 server-side · the fix
What changes — Gravity Forms server-side
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 server-side · architecture
What Gravity Forms exposes to a server container
One of the better form integrations available, because it's PHP.
- 1
Events from gform_after_submission
Server-side, immune to caching and deferral.
- 2
Entry ID as the deduplication key
Unique per submission.
- 3
Hidden fields read from the entry
Click identifiers, server-side.
- 4
Customer data from the entry
Normalized then hashed.
- 5
Browser event deduplicated against it
Both paths, one conversion.
Gravity Forms server-side · 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 server-side · prove
The QA evidence — Gravity Forms server-side
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 server-side · 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 server-side · 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 server-side · what we deliver
What the server-side build gives you on Gravity Forms
Container on your own subdomain
Your domain, your certificate, hosting in an account you control.
Money events from Gravity Forms entries
gform_after_submission, which runs in PHP once per entry with the full entry object.
Deduplicated at every destination
On a shared event ID, verified before any existing path is removed.
Consent enforced before dispatch
A denied destination receives nothing, verified by capture rather than configuration.
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 server-side questions, answered
gform_after_submission, PHP, once per entry.
It's immune to caching, JavaScript deferral and ad blockers — the three things that break WordPress browser-side tracking.
The Gravity Forms entry ID.
Yes. It's ordinary WordPress development and the hook is well documented.
Free · 30 min
Move Gravity Forms events off the browser
Free30 minutesNo obligation
