Descrizione
TrackFormPro sends every form submission (Gravity Forms, WPForms, Contact Form 7, Fluent Forms, Formidable Forms and Elementor Forms) to Meta as a Conversions API (CAPI) server event, and can also fire the matching Meta Pixel event in the browser using the same event ID so Meta counts the conversion once.
Built for lead generation businesses: sites whose sales start with a form, such as quote and estimate requests, bookings and consultations, callbacks, contact forms, free inspections and demos. Typical users are local services, agencies, clinics, B2B, real estate and education.
TrackFormPro is an independent plugin. It is not affiliated with, endorsed by or sponsored by Meta Platforms, Inc. “Meta”, “Facebook” and “Meta Pixel” are trademarks of their owner and are used only to describe what the plugin connects to.
Not for online stores: it doesn’t track WooCommerce orders, checkouts or product events. For a shop, use a WooCommerce tracking plugin.
Key Features:
– Works with Gravity Forms, WPForms, Contact Form 7, Fluent Forms, Formidable Forms and Elementor Forms, free and paid versions.
– Every form found and filled in for you: forms from all six form plugins are listed on their own, and the email, phone, name and address fields are filled in from each form’s field types. Change any of them from dropdowns: email, phone, first/last name, city, state, ZIP, country, gender, date of birth, external ID.
– Normalization and SHA-256 hashing of customer data on your server, following Meta’s formatting rules (e.g. phone numbers with country code, 2-letter state and country codes).
– Browser + server deduplication with a shared event_id.
– Meta click and browser IDs (_fbc, _fbp, and fbclid from the landing page URL) forwarded with server events.
– Event per form (Lead, Contact, Schedule, Purchase…) and a Track switch for forms you don’t advertise for.
– Value and currency from form fields, with a per-form default value.
– Ad click and UTM tracking: the fbclid and UTMs from the landing page are kept and sent with the lead.
– Privacy: a consent option that works with the WP Consent API (Complianz, CookieYes, Cookiebot and other banners) or a consent cookie, and starts tracking as soon as the visitor accepts; Limited Data Use for US state privacy laws, following Global Privacy Control and Do Not Track.
– Bot filtering: search engines, crawlers, uptime monitors and automated browsers don’t load the Pixel and their form submissions aren’t sent, keeping fake leads out of your ad results.
– Calls and WhatsApp: taps on phone links (tel:) and WhatsApp links (wa.me, api.whatsapp.com) are sent to Meta as Contact events, from the browser and the server with one event ID, so ads learn from leads who call or message too.
– Lead source in your form emails: “Where this lead came from” (the Facebook or Instagram ad, campaign, ad set and landing page) is added to the notification emails your form plugin sends you. Emails to the person who filled in the form are never changed.
– Tracking Monitor: a daily check that the pixel is on your pages (and not loaded twice), that your forms still send leads, and that Meta accepts your events. You get one email per new problem.
– Dashboard box: leads sent to Meta today, this week and this month, calls and WhatsApp taps, and any problems, on the WordPress Dashboard.
– Setup wizard: connect the pixel, send a test event and choose your forms in four short steps. Setup checklist, health check with plain-language fixes, help tips and a guide.
– Activity log, automatic retries and a test-event button in the admin.
TrackFormPro Premium (paid plans with a 14-day free trial, available from the plugin’s Upgrade menu or trackformpro.com) adds a leads list where you mark leads Qualified or Won, so Meta gets a follow-up event and learns which leads become customers; CRM stage sync (GoHighLevel, HubSpot, Zoho, or any CRM through Zapier); cost per lead and per won lead from your Meta ad account; a junk filter for fake phone numbers, throwaway emails and test names; instant lead alerts in Slack or Telegram; an attribution report (leads, conversion rate and lead value per campaign, ad set and ad), form abandonment (which forms visitors start but don’t finish, and the field where they leave), a weekly email report, URL triggers, duplicate-lead blocking, direct CookieYes / Complianz / Cookiebot consent, waiting for values from lead routers, CRMs or Zapier, average lead values, trigger rules and custom events, several pixels, funnel events, Event Match Quality from Meta, email alerts and double-counting detection. The free plugin is complete without it.
Privacy
What is sent: when a tracked form is submitted, your site sends an event directly to the Meta Conversions API (graph.facebook.com). No other service is involved. The event includes:
– Mapped customer fields (email, phone, names, city, state, ZIP, country, gender, date of birth, external ID), normalized and SHA-256 hashed on your server before sending.
– Unhashed technical data Meta requires: visitor IP address, browser user agent, the _fbp/_fbc Meta cookie values, the page URL and referrer, UTM parameters, the form entry ID, and any mapped value/currency.
The browser Pixel (loaded from connect.facebook.net) also sends page views and form conversion events directly from the visitor’s browser to Meta. With “Advanced matching” on (default), the browser conversion event also carries the same SHA-256-hashed customer fields as the server event.
Cookie: when a visitor arrives from an ad or a campaign link, the plugin stores the Meta click ID (fbclid) and UTM parameters in a first-party cookie, track_form_pro_attr, for up to 90 days, so a later form submission can be attributed to that click. With the consent option on, the cookie is only set after consent. These values are also saved on the form entry.
US privacy laws: the “US state privacy laws” setting can send Meta’s Limited Data Use flag either only for visitors who opted out (the browser’s Global Privacy Control or Do Not Track signal, or a track_form_pro_do_not_sell=1 cookie set by your consent tool) or for all visitors; Meta then applies it to visitors from US states with privacy laws.
What is stored on your site: your pixel IDs and access tokens (in the WordPress options table; tokens are never printed back into admin pages). When logging is enabled, event payloads (hashed customer data, IP address, user agent, page URLs) and Meta’s responses are stored in a database table on your site; access tokens are never logged. Logs older than 30 days are deleted automatically, and you can clear them at any time. Events that fail to send are kept in a retry table for up to 6 days.
Your responsibility: as the site owner, you must disclose this data sharing in your privacy policy and obtain consent where the law requires it (e.g. GDPR, CCPA). Enable the plugin’s GDPR option if tracking must wait for consent.
External Services
This plugin connects to the following external services:
Meta Conversions API (graph.facebook.com)
– What it is: Meta’s server-side API for advertising measurement.
– Data sent: the event data listed in the Privacy section, sent with your pixel ID and access token.
– When: every time a tracked form is submitted, when a visitor taps a phone or WhatsApp link (if you turned that on in General Calls and WhatsApp), and when you click “Send test event”.
– Terms of Service: https://www.facebook.com/legal/terms/businesstools
– Privacy Policy: https://www.facebook.com/privacy/policy/
Meta Pixel (connect.facebook.net)
– What it is: Meta’s browser tracking script.
– Data sent: page views and form conversion events from the visitor’s browser, including Meta cookies.
– When: on every page view (unless the GDPR option is on and consent is missing) and after a tracked form is submitted.
– Terms of Service: https://www.facebook.com/legal/terms/businesstools
– Privacy Policy: https://www.facebook.com/privacy/policy/
Premium only, when you turn them on: Slack (hooks.slack.com) and Telegram (api.telegram.org) for instant lead alerts, which receive the lead’s name, phone, email and source; and the Meta Marketing API (graph.facebook.com) to read your ad spend. Slack: https://slack.com/terms-of-service and https://slack.com/privacy-policy. Telegram: https://telegram.org/tos and https://telegram.org/privacy.
Your own site
– The Tracking Monitor loads your home page once a day (a request from your server to itself) to check the pixel code. Nothing is sent anywhere else.
Bundled font
– The admin pages use the Archivo font, included in the plugin (assets/fonts, SIL Open Font License 1.1). It is loaded from your own site; no font service is contacted.
Freemius
– What it is: plugin SDK for opt-in usage statistics, support, and the optional Premium upgrade (pricing page, free trial, checkout and licence activation).
– Data sent: only if you opt in: site URL, WordPress/PHP versions, plugin version and admin email. No form or visitor data.
– When: on activation (opt-in screen), periodically after opting in, and when you open the Upgrade page, start a trial or activate a licence.
– Terms of Service: https://freemius.com/terms/
– Privacy Policy: https://freemius.com/privacy/
Screenshot






Installazione
- Upload the plugin files to
/wp-content/plugins/track-form-proor install via the Plugins screen, then activate it. - In Meta Events Manager, generate a Conversions API access token for your dataset (pixel).
- Go to TrackFormPro Settings General and add the pixel ID and access token. Recommended settings (browser events, deduplication, advanced matching) are already on; the Get started checklist guides you through the rest.
- In Status & Test, send a test event with a Test Event Code from Events Manager to confirm the connection.
- In Forms, choose the event for each form and map at least the email and phone fields. Switch off Track on forms you don’t advertise for.
- Check Status & Test Health check for anything that still needs attention.
Setup guides: Meta Conversions API for WordPress forms, and step by step for Gravity Forms, Contact Form 7, WPForms, Fluent Forms, Formidable Forms and Elementor Forms.
FAQ
-
Does this plugin add the Meta Pixel code?
-
Yes. It adds the Meta Pixel base code and a PageView in the page
<head>for the pixels you configure. Remove any other copy of the same pixel (theme, tag manager or another plugin) to avoid double counting. -
Which form plugins are supported?
-
Gravity Forms, WPForms, Contact Form 7, Fluent Forms, Formidable Forms and Elementor Forms (Elementor Pro), free and paid versions. Server events work with AJAX and non-AJAX forms, and browser events use the same event ID. Premium’s “wait for the value” needs a form plugin that saves entries on your site; when entries aren’t saved (Contact Form 7, Elementor, WPForms without entries), leads are sent right away.
-
Does it work with Gravity Forms?
-
Yes, with any Gravity Forms licence. Each entry is sent to Meta when Gravity Forms creates it, for AJAX and normal page submissions. Gravity Forms saves entries, so Premium can also wait for a value added after the submission, such as a lead score. Setup guide: Gravity Forms + Meta Conversions API.
-
Does it work with WPForms?
-
Yes, with the free and paid versions of WPForms. Leads are sent when WPForms finishes processing the form, and the browser event is added to the confirmation message. The free version of WPForms doesn’t save entries, so its leads are always sent right away. Setup guide: WPForms + Meta Conversions API.
-
Does it work with Contact Form 7?
-
Yes. Leads are sent from your server when Contact Form 7 handles the submission, and messages it marks as spam are never sent. The browser event fires on Contact Form 7’s own “mail sent” event. Contact Form 7 doesn’t save entries, so leads are always sent right away. Setup guide: Contact Form 7 + Meta Conversions API.
-
Does it work with Fluent Forms?
-
Yes, with the free and Pro versions. Each entry is sent when Fluent Forms saves it, and the browser event is added to the confirmation message. Fluent Forms saves entries, so Premium can also wait for a value added after the submission. Setup guide: Fluent Forms + Meta Conversions API.
-
Does it work with Formidable Forms?
-
Yes, with the free and paid versions of Formidable Forms. Each entry is sent when Formidable creates it; saved drafts are skipped until they are submitted. Formidable saves entries, so Premium can also wait for a value added after the submission. Setup guide: Formidable Forms + Meta Conversions API.
-
Does it work with Elementor Forms?
-
Yes, with the Form widget of Elementor Pro (the free Elementor has no form widget). Leads are sent when Elementor Pro records the submission, and the browser event fires on Elementor’s own success event. Leads are always sent right away. Setup guide: Elementor Forms + Meta Conversions API.
-
Does it work with caching plugins?
-
Yes. Leads are sent from your server when the form is submitted, so page caching (WP Rocket, LiteSpeed Cache, W3 Total Cache, Cloudflare and others) doesn’t stop them. The browser event uses a token created in each visitor’s browser, so cached pages don’t mix visitors up. Don’t combine or delay the TrackFormPro script if your optimization plugin lets you exclude scripts, so the browser event fires right away.
-
Does data go through a third-party server?
-
No. Events go straight from your site to Meta’s Conversions API. Your access token and customer data are not sent anywhere else.
-
Is customer data hashed?
-
Mapped customer fields are normalized and SHA-256 hashed on your server before they leave it. IP address, user agent and Meta cookie values are sent unhashed because Meta requires them that way.
-
What happens if Meta is unreachable?
-
The event is retried automatically after 1, 5 and 15 minutes, 1 hour and 6 hours, with the same event ID, so it is never counted twice. Network errors, timeouts and “Meta is busy” answers are retried; an invalid token or event is reported instead, because it would fail the same way again. TrackFormPro Activity Logs shows what is waiting, with a Retry now button, and whether each failed event was delivered later. Events older than 6 days are dropped because Meta rejects them.
-
How do I test the connection?
-
Open TrackFormPro Settings Status & Test, enter the Test Event Code from Meta Events Manager Test events, and click “Send test event”. Meta’s response is shown immediately.
-
Can I use more than one pixel?
-
Yes. Add as many pixels as you need in General Meta pixels; every lead is sent to each of them. TrackFormPro Premium adds choosing a pixel per form.
-
Meta shows double or missing leads, or a low Event Match Quality?
-
See the troubleshooting guides: double or missing leads (deduplication), Event Match Quality for lead forms and Pixel not firing on form submit.
-
A leads list where you mark leads Qualified or Won, so Meta gets a follow-up event and learns which leads become customers; CRM stage sync; cost per lead and per won lead from your Meta ad account; a junk filter; instant lead alerts in Slack or Telegram; waiting for values filled in by lead routers, CRMs or Zapier; average lead values; trigger rules and custom events; a pixel per form; funnel events; Event Match Quality from Meta; email alerts; and double-counting detection. You can start a 14-day free trial from TrackFormPro Upgrade; the free plugin works fully on its own.
Recensioni
Non ci sono recensioni per questo plugin.
Contributi e sviluppo
“TrackFormPro – Lead Form Tracking for Facebook Pixel & Meta Conversions API” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.
CollaboratoriTi interessa lo sviluppo?
Esplora il codice segui il repository SVN, segui il log delle modifiche tramite RSS.
Changelog
1.5.3
- Premium: an emptied Qualified or Won event stays empty and means “send nothing for this stage” (it used to come back after saving). A lead marked while its event was empty shows “Send to Meta” once the event has a name.
- Premium: Qualified and Won can’t share one event name, and a warning shows when the Qualified event is one your forms already send (such as Lead), as it already did for Won.
- Premium: a lead is never moved back down (a CRM sending “open” for a won lead leaves it Won), since Meta can’t take an event back.
- Premium: the Won currency shows exactly what you typed, and a mistyped currency keeps the saved one.
- Premium: a saved Slack webhook URL or Telegram bot token can be removed; CRM stage lines that can’t be used are reported after Save; the “Replace the key” option explains when to use it.
- The email address for Tracking Monitor problems: a mistyped address is reported after Save and the saved one kept.
- Premium Report: a campaign, ad set or ad that spent but brought no leads now has its own row (it was only in the total), and a campaign that shows up by both name and ID has its spend counted once.
- “Where this lead came from” in form emails is on for new installs only; sites updating from 1.4 turn it on in General Emails (form emails can go to clients or lead buyers).
- Setup wizard: typing a pixel that is already saved updates it instead of replacing your first pixel, and a new pixel no longer takes over the old pixel’s test event code.
- Premium: changing a form’s event on the Forms tab updates the Qualified/Won warning straight away.
- Premium: “Not junk” on a lead from a form set to send no lead event, or a lead older than 7 days, moves it back to New without sending anything (it used to send a Lead event, or refuse).
- Premium CRM sync: Lost stages (Lost, Closed lost, Abandoned …) are accepted and change nothing, instead of answering with an error; map your own with “= ignore”.
- Premium ad spend: an ad account with more spend rows than one sync reads keeps its synced spend and shows why, instead of saving part of it.
- Premium: Slack and Telegram alerts wait up to 15 seconds for an answer (it was 4, so an alert that arrived could be reported as failed), and a slow “Send a test” explains that the message may still have arrived.
- Settings: a “Saved, except …” message clears as soon as you change a field, so it never describes an older save.
- Premium CRM sync reads the messages CRMs really send: GoHighLevel’s Webhook action (its pipeline stage field, with “open” and a stage both given, the key in the URL or in custom data, and never the assigned user’s email), HubSpot’s wrapped properties (an unrelated field is never taken as the Won value) and default deal stages, Pipedrive’s old values (ignored) and Zoho’s lead statuses. A request without an email or phone says so. New: Copy URL with key.
- Settings: checkboxes redesigned: options that belong to a switch sit under it (dimmed while it is off), long lists use columns, and boxes line up with their text.
1.5.2
- Premium: the leads settings (follow-up events, junk filter, Slack and Telegram alerts, CRM sync, ad spend) are now a “Leads & alerts” tab in TrackFormPro Settings, saved like the other tabs. The Leads page keeps the list, with a Settings button.
- Premium: a value that isn’t saved (for example a Slack URL or bot token in the wrong format) is now explained after Save, instead of being left out silently.
- Premium: the Won currency follows the currency your leads report; the CRM key is hidden on screen.
- Premium: campaigns, ad sets and ads whose URL parameters carry only IDs are shown with their names (from the ad spend sync) in the Report and in Leads.
- How to Configure: every 1.5 feature, where its setting is, and how-tos for Slack, Telegram, CRMs and ad spend.
- FAQ: the free plugin sends to as many pixels as you add (it said one).
- Calls and WhatsApp: the limit of 10 taps an hour now applies per visitor (IP address and browser), with up to 100 per IP address, so visitors who share a mobile network’s address are all counted.
1.5.1
- Dashboard box and Tracking Monitor: the lead counts of the 30 days before updating are filled in from the activity log, instead of starting at zero.
- Premium, Leads: a lead shows only its next step (Qualified Won); a Qualified or Won already sent to Meta isn’t undone, as Meta can’t take events back. A send that failed can be sent again.
- Premium, Leads: a warning when your forms already send the Won event (e.g. Purchase from a lead router), so purchases aren’t counted twice. Use another name for Won, like ConvertedLead.
- Premium, Leads Settings: links to each section at the top; tab spacing fixed.
1.5.0
- New: Tracking Monitor. Once a day TrackFormPro checks that the pixel is on your home page (and isn’t loaded twice by another plugin or your theme), that forms which usually send leads haven’t stopped, and the health check’s problems. It emails you once about each new problem (General Emails).
- New: the TrackFormPro box on the WordPress Dashboard: leads sent to Meta today, in 7 and 30 days, a 14-day chart, call and WhatsApp taps, and problems.
- New: calls and WhatsApp. Taps on phone links and WhatsApp links are sent to Meta as Contact events (browser and server, one event ID). On for new sites; turn it on in General Calls and WhatsApp.
- New: “Where this lead came from” (ad, campaign, ad set, landing page) at the end of your form’s notification emails. Turn it off in General Emails.
- New: setup wizard (TrackFormPro Setup): connect the pixel, send a test event and choose your forms.
- Premium, new: Leads. Every lead in one list with its source; mark leads Qualified or Won (with the value) and Meta gets a follow-up event for the same person. Also CRM stage sync, cost per lead and per won lead in the report, a junk filter, and instant lead alerts in Slack or Telegram.
- Spam submissions are now recognized before the consent check (nothing changes in what is sent to Meta).
- Fixed: “Don’t send submissions from logged-in admins” now also recognizes admins on Contact Form 7, which submits forms through the REST API.
- Suggested privacy policy text in Settings Privacy (Policy Guide).
1.4.13
- The plugin is now listed as “TrackFormPro – Lead Form Tracking for Facebook Pixel & Meta Conversions API”. Nothing changes in how it works.
- The plugin now calls itself TrackFormPro everywhere (admin menu, page titles, messages and alert emails), matching its name on WordPress.org.
- Corrected the test event code wording: Meta still counts events sent with a test code, so the setting, the health check and the FAQ now say to use it only while testing.
- Fixed: after updating, the plugin pages could keep showing the old logo from the browser’s cache. The logo now has a new file name.
1.4.12
- New TrackFormPro logo: the yellow arrow on the plugin’s pages and Freemius screens, and as the admin menu icon.
1.4.11
- New “Default phone country” setting (General Customer data). Phone numbers typed without a country code, like 98765 43210 or 07700 900123, now get the right country calling code before they’re hashed, so Meta can match them. “Automatic” uses your site’s timezone and language. Before, every 10-digit number was treated as a US or Canada number.
- ZIP codes follow the same country: only US ZIP codes are shortened to 5 digits, so 6-digit postcodes such as Indian PIN codes are sent whole.
- A form’s Country field still takes priority, and numbers typed with + or 00 are left as they are.
- Elementor Forms is no longer labelled beta: tested with Elementor 4.3.2 and Elementor Pro 3.24.4 on a live site sending events to Meta.
- The plugin’s FAQ and readme now say plainly that the free and paid versions of every supported form plugin work.
1.4.10
- The “Support Forum” link in the plugin menu now opens the TrackFormPro forum on WordPress.org.
- No more trial notice on every admin screen: the Premium trial is offered on the plugin’s own pages only.
- After 10 leads sent to Meta, TrackFormPro asks once for a WordPress.org review on its own pages (“Maybe later” asks again in 30 days; “Don’t ask again” stops it).
- Forms tab: when a form plugin is active but has no forms yet, it now says so instead of “No supported form plugin is active”.
1.4.9
- The plugin is now listed as “TrackFormPro – Lead Form Tracking for Meta Conversions API & Pixel” (WordPress.org naming rules). Nothing changes in how it works.
1.4.8
- Several Meta pixels in the free version: add as many pixels as you need, and every lead is sent to each of them. Premium adds choosing a pixel per form.
- Premium, sites that already have several pixels: your existing forms keep sending to the first pixel, as before. New forms send to all pixels until you choose one.
- The plugin is now called “Track Form Pro – Lead Form Tracking for Meta Conversions API & Pixel”. Track Form Pro is not affiliated with Meta.
1.4.7
- Plugin header: the author address is no longer a copy of the plugin address (a WordPress.org requirement). No change in how the plugin works.
1.4.6
- Security hardening: request data is read together with its nonce check, a signed-in user’s browser-events request needs a valid nonce, and the hidden form fields are escaped where they are printed.
- Internal names (transients, query arguments) all use the track_form_pro_ prefix.
1.4.5
- Free version: fewer upgrade prompts on the General tab. Premium features are listed once, in the summary at the bottom of the page.
1.4.4
- Multisite: every site of a network gets the recommended settings and its own tables, also sites added later; deleting the plugin cleans up every site.
- Deactivating the plugin removes its scheduled jobs (they are scheduled again when it is activated).
1.4.3
- Premium: Meta’s Event Match Quality is shown in the header of the settings page (for example “Match quality 9.3/10”) and kept up to date in the background.
1.4.2
- Report (Premium): new Placement and Platform breakdowns. Add placement={{placement}} and site_source_name={{site_source_name}} to your ad URL parameters to see leads per Feed, Reels, Stories, and per Facebook or Instagram.
- Report: campaign_id, adset_id and ad_id are read too, and are shown when no name is passed. All campaign parameters are now remembered when the visitor moves to another page before submitting.
- Report: “ig”, “an”, “msg” and “th” as utm_source are counted as Meta traffic.
- Form abandonment is easier to read on phones.
- Fixed: Contact Form 7 forms were shown as “#cf7_10” instead of “#10” in the activity log; the Status tab shows the form’s name for the last event.
1.4.1
- Activity Logs: events from older versions that failed and were then delivered are now shown as retried (not failed), with the right attempt numbers.
- Premium report: sources written as facebook_ad, fb, meta_ads and similar are reported as “facebook”, and placeholders Meta didn’t fill in (such as {{ad.id}}) as “(none)”. Earlier report data is renamed on update.
- Premium report: lead values show their currency, and the conversion rate says “new” when there is no earlier period to compare with.
- Premium form abandonment: multi-step forms (e.g. Gravity Forms pages) and forms with validation errors now report the field where visitors left on later steps too.
1.4.0
- Customer data is filled in for you: the email, phone, name and address fields of each form are found from the form plugin’s field types (and their labels), and used until you change them. A field with the whole name is sent as first and last name. Forms whose fields were saved as “Not mapped” earlier show “Email/phone fields found” and a “Use the fields found” button.
- Premium: Form abandonment in the report: which forms visitors start but don’t submit, how many, and the field they were in when they left. Only the field is recorded, never what visitors type; consent and bot filtering apply as for the rest of the report.
- Premium: Weekly email report: leads and lead value, what reached Meta, top forms and campaigns, forms visitors give up on and anything in your setup that needs a look, on the day you choose. “Send one now” shows you the email.
- Premium: the Double-counting check is now shown under General Lead quality & reports, with what it found.
- New look for the admin pages, matching trackformpro.com: a navy header, clearer type (Archivo, bundled), a white canvas, and the forms as one list.
- Report counters only accept forms that exist on the site.
1.3.1
- Activity Logs redesigned: results by day, filters (sent, retried, failed), customer data at a glance, a 7-day chart, and details with what was sent, Meta’s answer and every delivery attempt. Works on phones.
- Failed events that are being retried now show as “Retrying” instead of “Failed”, and a failed event shows “Delivered later” once a retry gets through.
- New “Waiting to retry” panel with a Retry now button.
- Failure alert emails redesigned: they explain what is wrong and how to fix it, name the form, and come from “Track Form Pro”.
- Tested with Elementor 4.3.2 (Elementor Forms are still labelled beta), and with Autoptimize, LiteSpeed Cache (combine, defer and delay JavaScript), Complianz, CookieYes and WP Consent API.
- Fix: with “Require consent” on, a visitor who accepts the consent banner and then submits a form on the same page now also gets the browser event. Before, browser tracking only started on the next page.
- Fix: WP Consent API with consent banners that only tell the browser their consent model (e.g. CookieYes): server events now wait for the visitor’s explicit consent, like browser events.
- Retries keep the time of the first failure, so an event is never sent after Meta’s 7-day limit.
- Report: same header as the other pages, fits on phones, and conversion rates are hidden when fewer form views than leads were recorded (instead of showing more than 100%). In the free version, the Report page now previews the real report with example numbers.
- Clearer Premium badge (gold, with a crown) on locked features in the free version.
- Removed “Send only when paid” for Gravity Forms payment forms, so every form plugin works the same way: the event is sent when the form is submitted. Events still waiting for a payment when you update are sent right away.
1.3.0
- Under the hood: the code is reorganised for easier maintenance (every function now uses the plugin’s own prefix, and lead sending and the settings and log pages are classes). Nothing changes in how the plugin works or what it sends.
- Fix: a PHP 8.4 notice in the Premium report’s CSV export.
1.2.3
- First release on WordPress.org.
- Form plugins: Gravity Forms, WPForms (free and paid), Contact Form 7, Fluent Forms, Formidable Forms and Elementor Forms (beta), all on one shared engine.
- Meta Conversions API server events (Graph API v25.0) sent directly from your site, with the matching browser Pixel event and a shared event ID for deduplication.
- Customer data normalized to Meta’s format and SHA-256 hashed on your server; fbclid, _fbc, _fbp and UTMs kept from the landing page.
- Event, value, currency and default value per form, and a Track switch for forms you don’t advertise for.
- Privacy: WP Consent API or consent cookie, Limited Data Use following Global Privacy Control and Do Not Track, and bot filtering.
- Get started checklist, health check with plain-language fixes, test-event button, activity log and automatic retries.
- Works with page caching (WP Rocket, LiteSpeed Cache, W3 Total Cache, Cloudflare and others): every visitor gets their own submission token, and leads from cached pages are still counted once.
- Forms that redirect to a thank-you page also fire the browser event, on the thank-you page, with the server’s event ID.
- Optional Track Form Pro Premium with a 14-day free trial from the Upgrade menu.
