Title: Google Ads Conversion Tracking for WordPress Forms – TagFlux
Author: tagflux
Published: <strong>جُون 10, 2026</strong>
Last modified: اگست 15, 2026

---

Search plugins

![](https://ps.w.org/tagflux/assets/banner-772x250.png?rev=3567692)

![](https://ps.w.org/tagflux/assets/icon-256x256.png?rev=3567692)

# Google Ads Conversion Tracking for WordPress Forms – TagFlux

 By [tagflux](https://profiles.wordpress.org/tagflux/)

[Download](https://downloads.wordpress.org/plugin/tagflux.1.2.6.zip)

 * [Details](https://bcc.wordpress.org/plugins/tagflux/#description)
 * [Reviews](https://bcc.wordpress.org/plugins/tagflux/#reviews)
 *  [Installation](https://bcc.wordpress.org/plugins/tagflux/#installation)
 * [Development](https://bcc.wordpress.org/plugins/tagflux/#developers)

 [Support](https://wordpress.org/support/plugin/tagflux/)

## Description

TagFlux is a server-side Google Ads conversion tracking plugin for WordPress forms.
It auto-detects the forms already installed on your site, lets you choose which 
submissions count as conversions, and sends them to Google Ads through the TagFlux
backend using the Google Click Identifier (gclid) — no code, no Google Tag Manager,
no manual event setup.

#### Features

 * Server-side Google Ads conversion tracking for WordPress forms
 * Conversion submission through the TagFlux backend using the Google Ads API
 * Google Ads connection via OAuth
 * GCLID capture and first-party cookie storage
 * Auto-detection of supported WordPress forms
 * Support for Contact Form 7, WPForms, Elementor Pro Forms, Ninja Forms and Divi
   Forms
 * Choose which forms to track from the WordPress admin
 * Track form submissions from Google Ads traffic
 * Dashboard with clicks, CPC, conversions and total cost
 * Breakdowns by form, campaign and landing page
 * No Google Tag Manager setup required
 * No custom JavaScript required
 * Built for Google Ads lead generation campaigns
 * Consent Mode v2 aware: reads the visitor’s real consent state from your consent
   banner and forwards it with each server-side conversion
 * Optional Enhanced Conversions: email/phone sent as SHA-256 hashes, only if you
   enable it and the visitor granted consent
 * Compatible with consent managers (GDPR-friendly)
 * Available in English and Spanish

#### Server-side Google Ads conversion tracking for WordPress

TagFlux uses server-side conversion tracking to send WordPress form submissions 
to Google Ads through the TagFlux backend.

When a visitor arrives from a Google Ads click, TagFlux picks up the Google Click
Identifier (gclid) from the ad URL and, where consent allows it, keeps it in a first-
party cookie. If that visitor submits a tracked WordPress form, TagFlux sends the
conversion event to Google Ads through the backend instead of relying only on browser-
side tags — and if there is no cookie, it recovers the identifier from the submission
request itself, so declining cookies costs you the visit-to-visit bridge but not
the conversion.

This is useful for lead generation websites that want more reliable Google Ads conversion
tracking without maintaining a custom Google Tag Manager or gtag setup.

#### Why TagFlux instead of Google Tag Manager?

Setting up Google Ads conversion tracking by hand usually means editing gtag snippets,
configuring triggers in Google Tag Manager, and testing events one by one.

TagFlux skips the manual tag setup. It detects your WordPress forms, captures the
Google Click Identifier (gclid), and reports form submissions to Google Ads server-
side through the TagFlux backend using the Google Ads API.

That means no GTM container to maintain, no custom JavaScript, no manual event setup,
and fewer moving parts between your WordPress forms and Google Ads conversion actions.

#### Supported form plugins

TagFlux currently supports:

 * Contact Form 7
 * WPForms
 * Elementor Pro Forms
 * Ninja Forms
 * Divi Forms

If your Google Ads traffic lands on a WordPress page using one of these form plugins,
TagFlux can help track those form submissions as Google Ads conversions.

#### How it works

 1. Install and activate the plugin — activation contacts no external service.
 2. Click “Connect to TagFlux” and connect your Google Ads account via OAuth.
 3. Select which forms to track. From then on, every submission is sent to Google Ads
    as a conversion automatically.

### External services

This plugin connects to two external services to provide conversion tracking. It
does not work without them.

**1. TagFlux backend (api.tagflux.io)**

TagFlux relays conversion data to Google Ads through its own backend.

 * **When you connect the site:** activating the plugin sends nothing. Only after
   you explicitly click “Connect to TagFlux” on the plugin settings screen does 
   it send this site’s URL and name to `https://api.tagflux.io/api/auth/register`
   to register the site and obtain an API key. No personal data is sent at this 
   step.
 * **When you ask for setup help (optional):** while the plugin is not yet connected,
   an admin-only banner offers free help activating TagFlux. Nothing is sent unless
   you type an email address and explicitly click “Yes, help me” — then the plugin
   sends that email address plus your site URL and name, site language and WordPress/
   plugin versions to `https://api.tagflux.io/api/support/help-requests` so the 
   TagFlux team can contact you. Dismissing the banner sends nothing and it will
   not be shown again.
 * **When a tracked form is submitted:** it sends a Google Click Identifier (`gclid`/`
   wbraid`/`gbraid`, taken from the submission request, from a hidden form field,
   or from a first-party cookie tagged as `marketing` — which on a site with a consent
   banner is only written once advertising consent is granted), the visitor’s Consent
   Mode v2 state, an order ID used for deduplication, the form/campaign identifiers
   and the conversion event to `https://api.tagflux.io`. The contents of the form
   fields (names, emails, messages) are **not** sent — with one exception: if you
   enable the optional Enhanced Conversions setting **and** the visitor has granted
   ad consent, the email and/or phone number from the submitted form are sent as
   SHA-256 hashes (never in plain text).

TagFlux terms: https://tagflux.io/plugin-terms/ — privacy policy: https://tagflux.
io/plugin-privacy-policy/

**2. Google Ads / Google OAuth**

To connect your Google Ads account the plugin uses Google’s OAuth flow, and the 
backend reads/writes conversion data via the Google Ads API on your behalf.

Google terms: https://policies.google.com/terms — privacy policy: https://policies.
google.com/privacy

## Screenshots

[⌊Dashboard with Google Ads metrics (clicks, CPC, conversions, cost) and breakdowns
by form and campaign.⌉⌊Dashboard with Google Ads metrics (clicks, CPC, conversions,
cost) and breakdowns by form and campaign.⌉[

Dashboard with Google Ads metrics (clicks, CPC, conversions, cost) and breakdowns
by form and campaign.

[⌊Onboarding: the explicit "Connect to TagFlux" opt-in, disclosing exactly what 
data is sent before anything leaves your site.⌉⌊Onboarding: the explicit "Connect
to TagFlux" opt-in, disclosing exactly what data is sent before anything leaves 
your site.⌉[

Onboarding: the explicit “Connect to TagFlux” opt-in, disclosing exactly what data
is sent before anything leaves your site.

[⌊Settings: connect your Google Ads account, set the cookie consent mode, and disconnect
the site whenever you want.⌉⌊Settings: connect your Google Ads account, set the 
cookie consent mode, and disconnect the site whenever you want.⌉[

Settings: connect your Google Ads account, set the cookie consent mode, and disconnect
the site whenever you want.

## Installation

 1. Upload the `tagflux` folder to `/wp-content/plugins/`, or install it from the WordPress
    plugin repository.
 2. Activate the plugin from the WordPress “Plugins” menu. Activation does not contact
    any external service.
 3. Go to “TagFlux” in the admin sidebar and click “Connect to TagFlux”. This registers
    your site with the TagFlux service (api.tagflux.io) and is the first and only time
    the plugin sends anything (your site URL and name) — and only after you click. 
    See the “External services” section below.
 4. Connect your Google Ads account.
 5. Select the forms you want to track.

## FAQ

### Does TagFlux support server-side tracking?

Yes. TagFlux sends tracked WordPress form submissions to Google Ads through the 
TagFlux backend using the Google Ads API. It captures the Google Click Identifier(
gclid) from Google Ads traffic and uses it to report the conversion server-side.

### Is this the same as Google Tag Manager server-side tracking?

No. TagFlux does not require you to set up a server-side Google Tag Manager container.
It provides a simpler server-side tracking flow for WordPress form submissions and
Google Ads conversions.

### Do I still need Google Tag Manager?

No. TagFlux is designed to track Google Ads form conversions without Google Tag 
Manager, gtag snippets or custom JavaScript. It auto-detects supported WordPress
forms and sends conversions to Google Ads through the backend.

### Which WordPress form plugins does TagFlux support?

TagFlux currently supports Contact Form 7, WPForms, Elementor Pro Forms, Ninja Forms
and Divi Forms.

### What does TagFlux track?

TagFlux tracks WordPress form submissions that come from Google Ads traffic. It 
captures the gclid from the ad click, keeps it in a first-party cookie where consent
allows, and sends the conversion to Google Ads through the TagFlux backend when 
a tracked form is submitted. Without a cookie it falls back to the identifier carried
by the submission request.

### Do I need a Google Ads account?

Yes, you need an active Google Ads account to track conversions.

### How is it different from tracking Google Ads conversions with GTM or gtag?

With Google Tag Manager or gtag you build triggers and tags by hand and maintain
them over time. TagFlux auto-detects your forms, maps each one to a conversion action,
and sends submissions to Google Ads automatically — no container, no code.

### Can I track more than one conversion action?

Yes. You can choose multiple forms to track, and every submission of each tracked
form is reported to Google Ads.

### Does it work with WooCommerce?

Not yet. TagFlux currently tracks form submissions (contact, lead and quote forms).
WooCommerce checkout and purchase tracking is on the roadmap, not in this version.

### Which page builders and themes are supported?

Any theme. Form detection currently covers Contact Form 7, WPForms, Elementor Pro,
Ninja Forms and Divi forms — both the Divi 4 builder and Divi 5 — regardless of 
the theme you use.

### Is it GDPR compliant?

Yes. On a site where TagFlux detects a consent banner, the tracking cookie is not
written until the visitor grants advertising consent, and declining removes it; 
the cookie is also tagged as `marketing` so consent managers can control it themselves.
Server-side conversions carry the visitor’s real Consent Mode v2 state (read from
your consent banner), and Enhanced Conversions data is only sent when the visitor
has granted ad consent. See the “External services” section below for exactly what
data is sent and where.

### What is server-side (dual) conversion tracking?

In dual mode each tracked submission is reported twice: by the classic gtag script
in the browser and by your server through the TagFlux backend. Google Ads deduplicates
the two with a shared order ID, so conversions are never double-counted — but they
are recovered when an ad blocker or strict browser blocks the gtag script. You can
turn it off in Settings at any time.

### Does the plugin send any data when I activate it?

No. Activation only creates local options; no request is made to any external service.
Your site is registered with api.tagflux.io only after you explicitly click “Connect
to TagFlux” on the settings screen, where the data to be sent (your site URL and
name) and the links to our Terms and Privacy Policy are shown beforehand.

### How do I disconnect or remove my data?

Click “Disconnect site” on the TagFlux settings screen to clear the local registration
and the Google Ads connection stored in WordPress; you can connect again afterwards.
Deleting the plugin removes all TagFlux options from your database (via `uninstall.
php`).

## Reviews

![](https://secure.gravatar.com/avatar/e7d077aa88775f79b9e0bbd7a77b9374725c0f96a6902cd6d0cd576135f68712?
s=60&d=retro&r=g)

### 󠀁[Awesome Google Ads conversion tracking plugin for WordPress forms](https://wordpress.org/support/topic/awesome-google-ads-conversion-tracking-plugin-for-wordpress-forms/)󠁿

 [marimarbox](https://profiles.wordpress.org/marimarbox/) جُون 25, 2026

I use TagFlux on my WordPress site to track form submissions coming from Google 
Ads traffic, and the setup was really simple, less than 2 minutes and it worked 
straightaway!What I liked most is that it focuses on a very specific problem: tracking
WordPress form leads from Google Ads without needing custom code or a complicated
GTM setup.It’s a simple plugin which works amazing for those that have live Google
Ads campaigns and want to have a reliable conversion tracking plugin to feed Google
Ads bid strategies. I totally recommend using this plugin.

 [ Read all 1 review ](https://wordpress.org/support/plugin/tagflux/reviews/)

## Contributors & Developers

“Google Ads Conversion Tracking for WordPress Forms – TagFlux” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ tagflux ](https://profiles.wordpress.org/tagflux/)

[Translate “Google Ads Conversion Tracking for WordPress Forms – TagFlux” into your language.](https://translate.wordpress.org/projects/wp-plugins/tagflux)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/tagflux/), check out
the [SVN repository](https://plugins.svn.wordpress.org/tagflux/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/tagflux/) by [RSS](https://plugins.trac.wordpress.org/log/tagflux/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.6

 * Fix: Ninja Forms conversions were counted twice in dual mode. Ninja Forms submits
   its own field model instead of the page form, so the shared order ID never reached
   the server and Google saw two different transactions for the same lead. The order
   ID now travels through Ninja Forms’ own extra-data channel and both paths deduplicate
   again.
 * New: Complianz support without extra setup. Complianz only emits Google Consent
   Mode v2 when a Google service is configured in its wizard; without one, the visitor’s
   choice never reached TagFlux and conversions were uploaded without a real consent
   signal (no Enhanced Conversions data, ever). TagFlux now also listens to Complianz’s
   public consent API, so accepting or declining the banner works out of the box.
   A real Consent Mode v2 signal, when present, always takes precedence.
 * New: a settings notice when a consent banner has been active for a week but no
   consent signal has ever reached the site — the case where a site believes it 
   is measuring consent and is not. The existing “your consent manager does not 
   emit Consent Mode v2” notice now also stands down when the site demonstrably 
   does receive the signal.

#### 1.2.5

 * Fix: declining consent after having accepted it now releases the click identifier
   everywhere — the value already painted in the hidden field, and carried by links
   clicked afterwards, stops travelling; not just the cookie. A click identifier
   arriving in the URL of the current request is kept, as it reads nothing from 
   the visitor’s device.
 * Fix: forms that appear after the page loads (popups, modals, AJAX tabs) now receive
   the click identifier and the shared order ID at submit time, so dual-mode conversions
   keep deduplicating instead of counting the same lead twice.
 * New: TagFlux now obeys the Google Consent Mode v2 signal even when the consent
   banner is not one of the recognised plugins — a custom banner that emits Consent
   Mode is honoured automatically. `ad_storage` governs the cookie, the visitor’s
   choice survives navigation between pages, and region-scoped consent defaults 
   are no longer misread as global.
 * New: `tagflux_consent_managed` filter so custom banners can declare themselves
   in code, and a settings notice when the detected consent manager does not emit
   Consent Mode v2 — on those sites the attribution cookie waits for a signal that
   never arrives, which was working as designed but silently.

#### 1.2.4

 * New: conversions are no longer lost when a visitor declines cookies. The click
   identifier is now also read from the submission request itself — the query string
   or the referring URL — which reads nothing from, and stores nothing on, the visitor’s
   device. Measured against real submissions: WPForms posts to the page itself, 
   Contact Form 7 and Ninja Forms only carry the referrer.
 * New: internal links carry the click identifier while no cookie is available, 
   so the attribution survives a visit that lands on one page and submits on another.
   Links to other domains, `mailto:`, `tel:` and anchors are left alone, and nothing
   is added once the cookie is in place.
 * Privacy: on sites with a consent banner, the click identifier cookie now waits
   for advertising consent, and is written as soon as consent is granted — including
   later in the same visit. Declining removes it and stops it being read. Sites 
   without a banner are unaffected. Visitors who never accept keep their attribution
   through the URL, the referrer and the decorated links; only the bridge between
   separate visits is lost.
 * Fix: the click identifier is validated and length-limited whatever its source,
   so a crafted link or a tampered form field cannot inject arbitrary content into
   the conversion upload.
 * Fix: a site served both with and without `www` no longer discards its own referrer
   and loses the conversion.
 * Fix: links added to the page after it loads are now handled too, and relative
   links stay relative instead of being frozen to one scheme and host.

#### 1.2.3

 * New: Divi 5 support. Divi 5 builds its contact forms as blocks instead of shortcodes,
   so on a Divi 5 site no form was detected at all — nothing to select, nothing 
   to track. Divi 4 and Divi 5 forms are now detected side by side, which is what
   a site migrated to Divi 5 actually looks like.
 * Fix: pages embedding a WPForms block did not load the tracking script, so the
   browser-side conversion was never fired. With server-side tracking enabled the
   conversion still reached Google Ads; without it, the submission was lost entirely.
 * Fix: the “used on these pages” list of a form no longer misses block embeds, 
   and no longer confuses one form with another whose ID starts with the same digits(
   form 2 was matched by form 23).
 * Fix: Divi form identifiers are now resolved on the server in document order, 
   so a page holding more than one Divi form reports the right one.
 * Internal: every form-detection pattern now lives in a single place and is validated
   every night against the real form builders, including Divi 4 and Divi 5.

#### 1.2.2

 * New: the Google Ads account list is now shown as a hierarchy. Manager accounts(
   MCC) head their own group and the client accounts underneath are listed indented,
   so it is clear where conversions are actually recorded.
 * Fix: the “Link” button is only offered for accounts that can record conversions.
   Manager accounts and cancelled or suspended accounts now explain why they cannot
   be linked, instead of offering a button that fails afterwards.
 * Fix: auto-linking now only considers linkable accounts. A site whose only visible
   account was a manager could end up linked to it, which silently records nothing.
 * i18n: new strings translated (es_ES).

#### 1.2.1

 * Fix: uninstalling the plugin now removes every setting it created. Four options
   survived deletion (server-side tracking mode, Enhanced Conversions, and the setup-
   help opt-in state and email), so reinstalling inherited the old configuration
   instead of starting clean.
 * i18n: plugin headers are now translatable and the Spanish (es_ES) catalogue has
   been updated.

#### 1.2.0

 * New: optional setup-help banner for administrators while the plugin is not connected(
   Dashboard, Plugins and TagFlux screens). Leave your email and the TagFlux team
   contacts you to set everything up, free of charge.
 * Privacy: the banner is strictly opt-in — nothing is sent unless you explicitly
   submit it; dismissing it is permanent and sends nothing. Disclosure added to 
   the External services section.
 * i18n: banner fully translated (es_ES).

#### 1.1.0

 * New: server-side conversion tracking (dual mode). Submissions are also reported
   through the TagFlux backend using the Google Click Identifier, recovering conversions
   lost when the gtag script is blocked. Google Ads deduplicates both paths via 
   a shared order ID.
 * New: first-party capture of `gclid`/`wbraid`/`gbraid` in a cookie and a hidden
   form field (cookieless fallback).
 * New: Consent Mode v2 support — reads the visitor’s real consent state from the
   consent banner (dataLayer) and forwards it with each server-side conversion.
 * New: optional Enhanced Conversions — email/phone are SHA-256-hashed before leaving
   the site, and only sent if you enable the setting and the visitor granted ad 
   consent.
 * New: “Server-side conversions” dashboard card with upload status (sent/failed/
   pending) and failure reasons, including a notice when the Enhanced Conversions
   terms are pending acceptance in Google Ads.
 * New: non-blocking configuration warnings in Settings when server-side tracking
   is misconfigured (no Google account connected, no forms selected, or Enhanced
   Conversions without a consent manager).
 * Fix: the admin now displays in Spanish on Spanish sites — the plugin never loaded
   its textdomain; all strings extracted and translated (es_ES).

#### 1.0.2

 * Docs: clearer setup guide and an expanded FAQ for Google Ads conversion tracking
   with Contact Form 7, WPForms, Elementor, Ninja Forms and Divi.
 * No functional changes.

#### 1.0.1

 * Fix: Google connection errors (e.g. missing permissions) are now shown in the
   admin panel instead of failing silently.

#### 1.0.0

 * Initial release on WordPress.org
 * Google Ads OAuth
 * Form detection: WPForms, Divi 4, Contact Form 7, Elementor Pro, Ninja Forms
 * Metrics dashboard (clicks, CPC, conversions, cost)
 * Breakdowns by form, campaign and landing page
 * Site ownership verification via REST API
 * Privacy: explicit opt-in (“Connect to TagFlux”) before any data leaves the site;
   activation makes no remote calls. “Disconnect site” button and uninstall cleanup
 * Privacy: external-services disclosure + suggested privacy policy content
 * Upgrade routine (version-gated migrations via plugins_loaded)
 * Available in English and Spanish

## Meta

 *  Version **1.2.6**
 *  Last updated **59 minutes ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/tagflux/)
 * Tags
 * [contact form 7](https://bcc.wordpress.org/plugins/tags/contact-form-7/)[conversion tracking](https://bcc.wordpress.org/plugins/tags/conversion-tracking/)
   [form tracking](https://bcc.wordpress.org/plugins/tags/form-tracking/)[google ads](https://bcc.wordpress.org/plugins/tags/google-ads/)
   [Server Side Tracking](https://bcc.wordpress.org/plugins/tags/server-side-tracking/)
 *  [Advanced View](https://bcc.wordpress.org/plugins/tagflux/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/tagflux/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/tagflux/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/tagflux/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/tagflux/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/tagflux/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/tagflux/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tagflux/reviews/)

## Contributors

 *   [ tagflux ](https://profiles.wordpress.org/tagflux/)

## Support

Issues resolved in last two months:

     1 out of 1

 [View support forum](https://wordpress.org/support/plugin/tagflux/)