{"id":385829,"date":"2026-10-12T12:45:47","date_gmt":"2026-10-12T12:45:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/stopfakeclicks-bot-blocker-for-google-ads\/"},"modified":"2026-10-17T11:27:10","modified_gmt":"2026-10-17T11:27:10","slug":"stopfakeclicks-bot-blocker","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/stopfakeclicks-bot-blocker\/","author":23584975,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.1.3","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"stopfakeclicks \u2013 Bot Blocker for Google Ads","header_author":"stopfakeclicks","header_description":"Spots bots and repeat clickers that arrive from your Google Ads and blocks them in Google Ads. Real shoppers who add to cart or buy are never blocked.","assets_banners_color":"ffa67f","last_updated":"2026-10-17 11:27:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/stopfakeclicks.com\/setup\/woocommerce","header_author_uri":"https:\/\/stopfakeclicks.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":195,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"stopfakeclicks","date":"2026-10-12 12:45:25","revision":3741552},"1.0.1":{"tag":"1.0.1","author":"stopfakeclicks","date":"2026-10-13 16:26:16","revision":3744445},"1.0.2":{"tag":"1.0.2","author":"stopfakeclicks","date":"2026-10-14 14:35:54","revision":3746623},"1.1.0":{"tag":"1.1.0","author":"stopfakeclicks","date":"2026-10-16 09:39:03","revision":3750067},"1.1.1":{"tag":"1.1.1","author":"stopfakeclicks","date":"2026-10-16 21:50:34","revision":3751177},"1.2.0":{"tag":"1.2.0","author":"stopfakeclicks","date":"2026-10-17 11:27:10","revision":3751857}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3741552,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3741552,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3741552,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3741552,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.1.0","1.1.1","1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[166108,4270,985,322,286],"plugin_category":[45],"plugin_contributors":[286154],"plugin_business_model":[],"class_list":["post-385829","plugin","type-plugin","status-publish","hentry","plugin_tags-bot-protection","plugin_tags-click-fraud","plugin_tags-google-ads","plugin_tags-ppc","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-stopfakeclicks","plugin_committers-stopfakeclicks"],"banners":{"banner":"https:\/\/ps.w.org\/stopfakeclicks-bot-blocker\/assets\/banner-772x250.png?rev=3741552","banner_2x":"https:\/\/ps.w.org\/stopfakeclicks-bot-blocker\/assets\/banner-1544x500.png?rev=3741552","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/stopfakeclicks-bot-blocker\/assets\/icon-128x128.png?rev=3741552","icon_2x":"https:\/\/ps.w.org\/stopfakeclicks-bot-blocker\/assets\/icon-256x256.png?rev=3741552","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Bots and repeat clickers burn your Google Ads budget. stopfakeclicks spots them on your WooCommerce shop, then blocks them in Google Ads with IP exclusions added by a script you paste into your Google Ads account. No Google Ads login is shared and no API connection is needed.<\/p>\n\n<p>This plugin:<\/p>\n\n<ul>\n<li>adds the stopfakeclicks tag to your shop. The tag only reports visits that arrive from a Google ad, sets no cookies and loads after the page;<\/li>\n<li>tells stopfakeclicks when a visitor from an ad adds to cart or buys, so real shoppers are never blocked.<\/li>\n<\/ul>\n\n<p>You need a stopfakeclicks account (14-day free trial, then USD 9.99 a month). Your first 7 days are watch-only: suspicious sources are recorded, nothing is blocked.<\/p>\n\n<h4>External service<\/h4>\n\n<p>The plugin's script (included in the plugin) sends visit events to the stopfakeclicks service at https:\/\/api.stopfakeclicks.com\/c, only for visits that arrive from a Google ad: the click id, the page path, the visitor's IP address and browser details, and add-to-cart and purchase events. This is how suspicious clicks are detected and real shoppers are recognised.\nFor the same visits it also sends a short summary of how the page was used (time on screen, time to the first interaction, and counts of mouse moves, touches, presses and scrolls; never positions, keys or anything typed) and a short one-way hash of the device (how the browser draws a test image, its graphics card and basic settings; never the raw values). With a consent plugin that uses the WP Consent API, the device hash is only computed after marketing consent, and you can switch it off in Settings &gt; stopfakeclicks.\nWhen you click Connect to stopfakeclicks in the settings, your browser opens https:\/\/api.stopfakeclicks.com\/connect\/wordpress with your site address, your WordPress admin return address and a one-time code. Nothing is sent before you click. After you sign in and confirm, you come back with your site key.<\/p>\n\n<p>Terms: https:\/\/stopfakeclicks.com\/terms \u2013 Privacy policy: https:\/\/stopfakeclicks.com\/privacy<\/p>\n\n<p>If you use a consent plugin that supports the WP Consent API, the visit is only remembered after statistics consent. You can also stop the script entirely with the <code>stopfakeclicks_load_tag<\/code> filter.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to Settings &gt; stopfakeclicks and click Connect to stopfakeclicks. Sign in or start the free trial, confirm, and you come back with your site key filled in. (You can also paste the key from stopfakeclicks.com\/dashboard\/script.)<\/li>\n<li>Copy your Google Ads script from the dashboard, paste it in Google Ads (Tools &gt; Bulk actions &gt; Scripts), authorise it and set it to run hourly.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20it%20block%20my%20customers%3F\"><h3>Will it block my customers?<\/h3><\/dt>\n<dd><p>No. Anyone who adds to cart or buys is trusted for good, and phones on mobile networks (where one IP is shared by many people) are never blocked.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20shop%20down%3F\"><h3>Does it slow my shop down?<\/h3><\/dt>\n<dd><p>The tag is one small script loaded asynchronously, after your page. For visits from an ad, the device check runs once, when the browser is idle after the page has loaded.<\/p><\/dd>\n<dt id=\"how%20many%20ip%20addresses%20can%20i%20exclude%20in%20google%20ads%3F\"><h3>How many IP addresses can I exclude in Google Ads?<\/h3><\/dt>\n<dd><p>Google Ads allows up to 500 excluded IP addresses per campaign. stopfakeclicks keeps its list at the account level, capped at 500 entries, and when the list is full it removes only its own oldest entries, never entries you added yourself.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20performance%20max%20campaigns%3F\"><h3>Does it work with Performance Max campaigns?<\/h3><\/dt>\n<dd><p>Google does not offer campaign-level IP exclusions for Performance Max, video, App, hotel and Smart Display campaigns. An account-level exclusion list applies to Search, Shopping, Display, Performance Max, Demand Gen, Discover and YouTube campaigns, and that is the list the stopfakeclicks script keeps.<\/p><\/dd>\n<dt id=\"does%20stopfakeclicks%20need%20my%20google%20ads%20password%20or%20api%20access%3F\"><h3>Does stopfakeclicks need my Google Ads password or API access?<\/h3><\/dt>\n<dd><p>No. No Google Ads login is shared and no API connection is needed. You paste a script into your own Google Ads account, authorise it there and set it to run hourly.<\/p><\/dd>\n<dt id=\"does%20it%20block%20anything%20in%20the%20first%20week%3F\"><h3>Does it block anything in the first week?<\/h3><\/dt>\n<dd><p>No. Your first 7 days are watch-only: suspicious sources are recorded and nothing is blocked.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New detection signals, shown in your stopfakeclicks dashboard under New signals in watch-only mode (nothing is blocked by them): a short summary of how visitors from an ad used the page, and the same device behind different IP addresses.<\/li>\n<li>Settings: a Device fingerprint option to switch the device check off.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>FAQ: four new answers (the 500 IP limit, Performance Max, no password or API access, the first week).<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Connect button: sign in to stopfakeclicks or start the free trial and come back with your site key filled in. No copying and pasting.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Settings page: a Get my site key button opens the exact dashboard page with your site key, and the Google Ads script step links straight to your script.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>The tag tells stopfakeclicks the site runs WooCommerce, so your dashboard shows the right setup steps.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Spots bots and repeat clickers from your Google Ads and blocks them in Google Ads. Real shoppers are never blocked.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/385829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=385829"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stopfakeclicks"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=385829"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=385829"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=385829"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=385829"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=385829"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=385829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}