Skip to main content
Gravity Forms trackingPlatform solution

Conversion tracking for Gravity Forms

Gravity Forms is a WordPress plugin with a proper PHP hook system, which puts it in a much better position than any hosted form tool. Submissions are usually AJAX, so a navigation-bound trigger won't fire — but gform_after_submission runs server-side on every entry regardless of what the browser did, and that's the reliable event.

Free30 minutesNo obligation

Gravity Forms tracking · what breaks

What goes wrong on Gravity Forms

  1. 01

    AJAX submission with no navigation

    So URL-bound triggers never fire.

  2. 02

    WordPress caching and optimisation

    Inherited complications that break browser-side events.

  3. 03

    Multi-page forms losing hidden values

    Unless carried through each page.

  4. 04

    Plugin duplication

    The WordPress inventory problem.

Gravity Forms tracking · the fix

What changes — Gravity Forms tracking

  • 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 tracking · architecture

What Gravity Forms actually lets you do

A WordPress plugin with a genuinely good hook system.

  1. 1

    gform_after_submission

    PHP, once per entry, with the full entry object.

  2. 2

    gform_confirmation_loaded

    A JavaScript event for browser-side binding.

  3. 3

    Hidden fields

    Populated on landing, stored on the entry.

  4. 4

    Multi-page forms

    Values need carrying between pages.

  5. 5

    WordPress underneath

    Caching, optimisation and plugin sprawl.

Gravity Forms tracking · 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.

  1. 01

    Submit a form and watch the URL

    AJAX submission means no change.

  2. 02

    Check hidden fields have values in the entry

    Not just that they exist.

  3. 03

    Test multi-page forms end to end

    Values can be lost between pages.

  4. 04

    List tracking-adjacent plugins

    WordPress inventory.

  5. 05

    Reconcile entries against your CRM

    For a closed month.

Gravity Forms tracking · prove

The QA evidence — Gravity Forms tracking

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 tracking · 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

Get my free conversion tracking audit

Free30 minutesNo obligation

Gravity Forms tracking · 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 tracking · what we deliver

The event map on Gravity Forms

  • Form view

    Browser-side.

  • Confirmation loaded

    Gravity Forms' own JavaScript event, for browser-side conversions.

  • Entry created

    gform_after_submission, PHP, once per entry.

  • Hidden fields

    Click identifiers, populated on landing.

  • Qualified lead

    From your CRM.

Written guarantee

95%+ tracking accuracy

Measured against your Gravity Forms entry records. Miss it and we keep working at no cost.

Get my free conversion tracking audit

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
Fix what I have

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
Rebuild it server-side

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
Get the full stack

FAQ

Gravity Forms tracking questions, answered

The trigger is waiting for a navigation that AJAX submission doesn't produce. Bind to gform_confirmation_loaded instead.

Free · 30 min

Get Gravity Forms tracking done properly

Free30 minutesNo obligation