Vetraclix for Google Ads – Click Fraud Protection & GCLID Tracking

Vetraclix for Google Ads – Click Fraud Protection & GCLID Tracking

Details
View on WordPress

Every paid click that reaches your site carries a click identifier – gclid from Google Ads, msclkid from Microsoft Advertising, fbclid from Meta. Those identifiers are meant to be used once, by one visitor. In practice they get shared in messages, pasted into forums, replayed by bots, indexed by scrapers, and clicked again days later by people who never saw your ad.

Every one of those replays looks to your analytics exactly like a fresh paid click. Your conversion data drifts. Your cost-per-lead looks wrong. And your sales team calls leads that came from an ad click nobody paid for.

Vetraclix records every ad click the first time it arrives, then refuses to let it count twice.

How it works

  1. Capture. When a visitor arrives with an ad click identifier in the URL, it is recorded server-side, before your theme renders anything.
  2. Clean. The click identifier and campaign parameters are removed from the visible address bar, so they never land in browser history and never travel in a copied link.
  3. Score. If the same identifier comes back, it is scored 0-100 on how suspicious the repeat looks: a changed IP address, a changed device, a changed country, how quickly it was reused, how many times it has been seen, and how late in its lifetime it reappeared.
  4. Act. Depending on the resulting status, tracking scripts are withheld, form submissions are refused, and the visitor can be shown a branded notice or quietly redirected to a clean version of the page.

Genuine visitors are never affected. Organic and direct traffic carries no click identifier at all and is ignored completely.

What makes it different

  • It blocks before your page loads, not after. Most approaches hide something in the footer, long after the tracking script in your <head> has already fired and already counted the visit. Vetraclix intercepts on template_redirect, before your theme is loaded at all, so a bad click never reaches a single tracking tag.
  • It works with the tags you already have. There is no need to rip out Google Tag Manager or move your pixels. Wrap them in one function call and they are gated automatically.
  • It makes no external requests. No third-party fraud API, no geolocation service, no account to sign up for, no data leaves your server. Country data is read from headers your CDN already sends.
  • Nothing is hard-coded. Expiration windows, scoring weights, which networks to watch, what visitors see, which forms are protected, how long data is kept – all of it is configurable from the settings screen.

Ad networks supported

Google Ads (gclid, gbraid, wbraid), Microsoft Advertising (msclkid), Meta Ads (fbclid), TikTok (ttclid), X/Twitter (twclid), LinkedIn (li_fat_id), Pinterest (epik), and Impact/affiliate (irclickid). Enable only the networks you actually advertise on.

Form protection

Submissions made under an invalid click session are rejected and logged, with built-in integrations for Contact Form 7, Gravity Forms, WPForms, Fluent Forms, Elementor Forms, and Forminator. Each one can be switched on or off individually, and the rejection message is yours to write.

Gating your own tracking

In PHP:

if ( function_exists( 'click_guardian_can_track' ) && click_guardian_can_track() ) {
    // Print or enqueue your conversion tag here.
}

In JavaScript:

window.ClickGuardian.whenTrackable( function () {
    // Fire your conversion event here.
} );

Both answer “yes” when the plugin is deactivated, so a gated tag can never be silently lost.

Reporting

A dashboard with status counters and a 30-day activity chart; a searchable, filterable record of every click with its score and full visit history; a grouped event log; CSV export; and a diagnostics screen showing exactly what the plugin is configured to do and what it can see.

Privacy

IP addresses and user agents are stored as a salted, one-way SHA-256 hash – enough to recognise the same visitor reusing a click, impossible to reverse. Storing readable IP addresses alongside the hash is a separate setting you can leave switched off; if you turn it on, disclose it in your privacy policy. The plugin’s own click-fraud detection makes no external requests and sends no data anywhere outside your own site.

External services

This plugin’s own fraud-detection engine makes no external requests. It has one optional, off-by-default feature that does: Print Snippets For Me, under Settings Tracking IDs. It exists only for sites with no tag manager already installed; when enabled, it loads the tracking scripts for the ad network IDs you enter, gated behind the same click-validity check the rest of the plugin uses. No account is created and no data is sent to these services by the plugin itself beyond loading the script you asked for; whatever that script then does is between your site and the ad network, governed by that network’s own terms.

  • Google (Google Tag Manager, gtag.js, Google Analytics/GA4, Google Ads) – loads googletagmanager.com/gtm.js and/or googletagmanager.com/gtag/js when a GTM container ID, GA4 measurement ID, or Google Ads conversion ID is entered and this feature is enabled. Sent when: on every page load where tracking is allowed. Google Terms of Service, Google Privacy Policy.
  • Microsoft Advertising (Microsoft/Bing UET) – loads bat.bing.com/bat.js when a UET tag ID is entered and this feature is enabled. Sent when: on every page load where tracking is allowed. Microsoft Services Agreement, Microsoft Privacy Statement.
  • Meta (Meta Pixel) – loads connect.facebook.net/en_US/fbevents.js and sends a PageView event when a Pixel ID is entered and this feature is enabled. Sent when: on every page load where tracking is allowed. Meta Terms of Service, Meta Privacy Policy.

If you already have any of these tags installed through a tag manager or another plugin, leave Print Snippets For Me off and gate your existing tags with click_guardian_can_track() instead – see “Gating your own tracking” above.

Details

Plugin code:
vetraclix-for-google-ads
Plugin version:
1.0.2
Outdated:
No
WP version:
6.2 or higher
PHP version:
8.1 or higher
Test up to WP version:
7.0.4
Total installations:
0
Last updated:
2026-08-28
Rating:
Times rated:
0
click-fraud
conversion-tracking
gclid
google-ads
ppc