Skip to main content
Contact Form 7 server-sidePlatform solution

Server-side tracking for Contact Form 7

There's a PHP action on mail sent, which gives a server-side event. Whether there's anything to reconcile it against depends on whether you've added entry storage — without it, your source of truth is an inbox, which is not a source of truth.

Free30 minutesNo obligation

Contact Form 7 server-side · what breaks

What goes wrong on Contact Form 7

  1. 01

    No entry storage by default

    It emails submissions. There's nothing to reconcile against without an add-on.

  2. 02

    AJAX submission

    So URL-bound triggers never fire.

  3. 03

    No native submission ID

    You have to generate one for deduplication.

  4. 04

    WordPress caching and plugin sprawl

    Inherited.

Contact Form 7 server-side · the fix

What changes — Contact Form 7 server-side

  • Conversions bound to wpcf7mailsent

    A real event.

  • Click IDs in the submitted data

    Hidden fields populated on landing.

  • A reconcilable record

    Where storage has been added.

Contact Form 7 server-side · architecture

What Contact Form 7 exposes to a server container

A PHP action exists; the reconciliation question is the real one.

  1. 1

    Events from the PHP mail-sent action

    Server-side, immune to caching.

  2. 2

    A generated lead ID as the deduplication key

    Contact Form 7 doesn't issue one.

  3. 3

    Hidden fields read server-side

    Click identifiers.

  4. 4

    Storage add-on strongly recommended

    Or there is nothing to reconcile against.

  5. 5

    Customer data from the submission

    Normalized then hashed.

Contact Form 7 server-side · diagnose

Where Contact Form 7 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, so no change.

  2. 02

    Check whether entries are stored anywhere

    Without an add-on, they aren't.

  3. 03

    Confirm hidden fields have values

    Not just that they exist.

  4. 04

    List tracking-adjacent plugins

    WordPress inventory.

  5. 05

    Establish what you can reconcile against

    Honestly.

Contact Form 7 server-side · prove

The QA evidence — Contact Form 7 server-side

Run on Contact Form 7 specifically, on a live conversion rather than in preview mode.

Source of truth

your Contact Form 7 mail or CRM records

  • Conversion confirmed firing on wpcf7mailsent for a real submission.
  • Click identifiers confirmed present in the submitted data.
  • A generated lead ID confirmed on both paths.
  • Entry storage confirmed, or the reconciliation limit documented.
  • Submissions reconciled against your CRM where possible.
  • Reconciled over a fully closed window, matched per record rather than on totals.
  • Re-checked 30 days later, and after any platform update.

Contact Form 7 server-side · free audit

What we check in the free audit

  • Submit a form and watch the URL
  • Check whether entries are stored anywhere
  • Confirm hidden fields have values
  • List tracking-adjacent plugins
  • Establish what you can reconcile against

Checked against

your Contact Form 7 mail or CRM records

Get my free conversion tracking audit

Free30 minutesNo obligation

Contact Form 7 server-side · when not to buy

When you don't need this on Contact Form 7

Worth reading before you buy anything, from us or anyone.

  • If your conversions fire on wpcf7mailsent and carry click IDs, the core work is done.
  • Binding to wpcf7mailsent is a few lines of JavaScript. Any developer can do it.
  • If you have no entry storage and no CRM, reconciliation isn't available to you — that's worth accepting rather than paying to work around.
  • Adding a storage add-on is usually cheaper than any tracking work and unlocks reconciliation. Consider that first.

Contact Form 7 server-side · what we deliver

What the server-side build gives you on Contact Form 7

  • Container on your own subdomain

    Your domain, your certificate, hosting in an account you control.

  • Money events from your own lead records

    The PHP mail-sent action, which runs server-side on every successful submission.

  • 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 Contact Form 7 mail or CRM 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

Contact Form 7 server-side questions, answered

Yes, a PHP action on mail sent. It's immune to caching and JavaScript deferral.

Free · 30 min

Move Contact Form 7 events off the browser

Free30 minutesNo obligation