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
- 01
No entry storage by default
It emails submissions. There's nothing to reconcile against without an add-on.
- 02
AJAX submission
So URL-bound triggers never fire.
- 03
No native submission ID
You have to generate one for deduplication.
- 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
Events from the PHP mail-sent action
Server-side, immune to caching.
- 2
A generated lead ID as the deduplication key
Contact Form 7 doesn't issue one.
- 3
Hidden fields read server-side
Click identifiers.
- 4
Storage add-on strongly recommended
Or there is nothing to reconcile against.
- 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.
- 01
Submit a form and watch the URL
AJAX, so no change.
- 02
Check whether entries are stored anywhere
Without an add-on, they aren't.
- 03
Confirm hidden fields have values
Not just that they exist.
- 04
List tracking-adjacent plugins
WordPress inventory.
- 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
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.
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
Contact Form 7 server-side questions, answered
Yes, a PHP action on mail sent. It's immune to caching and JavaScript deferral.
A lead ID you generate at submission and write to both paths.
Not meaningfully. An inbox is not a source of truth.
For tracking specifically, yes — it stores entries and issues IDs. That's a real difference.
Free · 30 min
Move Contact Form 7 events off the browser
Free30 minutesNo obligation
