

Settings page (all options)
Ad blockers can reduce the revenue that keeps your site running. CaphLabs – Advanced Ad Blocker Fence helps you respond in a user-friendly way:
This plugin is designed to be simple to set up: enable it, write your message, decide your grace count, and you’re done.
Note: Ad blockers change frequently. The list above reflects testing on common blockers and privacy tools, but no detection method can guarantee 100% coverage forever.
This plugin connects to external services:
1) Google AdSense script (ad blocker detection)
This plugin loads https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js to detect when ad scripts are blocked. This helps determine whether an ad blocker is active.
Data sent: This plugin does not intentionally collect or transmit personal data as part of this detection.
Google Terms: https://policies.google.com/terms
Google Privacy Policy: https://policies.google.com/privacy
2) Freemius checkout (optional Pro upgrade)
This plugin may link to Freemius hosted checkout pages if you choose to upgrade to the Pro version.
Data sent: If you click an upgrade/trial link and complete checkout, information you provide during checkout is handled by Freemius.
Freemius Terms: https://freemius.com/terms/
Freemius Privacy Policy: https://freemius.com/privacy/
Your settings are stored by the plugin and read on each request to decide whether to output the fence markup/scripts and how to behave (grace count, button visibility, etc.).
The plugin outputs its front-end CSS so the popup and grace tag can display correctly and immediately.
Depending on your setting (Include in Header), the plugin outputs the fence markup + JavaScript in one of these locations:
wp_footer (most compatible)wp_body_open (earlier output; requires theme support)If your theme does not support wp_body_open, the plugin safely falls back to the footer.
The plugin uses a practical “real world” detection approach:
adsbygoogle.js).If Fence after (adblocked pages) is set above 0:
This helps avoid instantly “slamming the door” on first-time visitors while still protecting your monetization over time.
When the popup is shown:
If the visitor stops triggering adblock detection for a while, the plugin can reset the grace counter after your configured number of days.
Go to: WP Admin Settings Advanced Ad Blocker Fence (or wherever your plugin places its menu entry).
Turns the plugin on/off. When disabled, the plugin does not show the fence.
Adds a <noscript> fallback message for users who have JavaScript disabled.
Why it matters:
– Adblock detection is primarily JavaScript-based.
– A noscript message ensures users with JS disabled still see guidance.
The headline shown on the fence popup.
Tips:
– Keep it short and clear (example: “Please support our site”).
– Avoid aggressive language; polite messaging improves whitelist rates.
A small WYSIWYG editor for the popup body text.
Use it to explain:
– Ads help fund hosting/content
– How to whitelist your site (simple steps)
– A friendly “thank you”
Note:
– The editor is intentionally lightweight (limited toolbar) to keep output clean.
Controls how wide the popup content area is as a percentage.
Examples:
– 40 = compact popup
– 60 = larger popup for more text
– 80 = very wide popup (use carefully on mobile)
This is your grace counter.
Recommended starting point:
– 2–3 grace pages for content sites
– 0 grace pages for high-monetization landing pages (use cautiously)
If adblock is detected again after this many days without a warning, the countdown resets back to the full value.
Examples:
– 7 = weekly reset (reasonable default)
– 30 = monthly reset
When enabled, a “refresh” button is shown in the popup.
Typical use:
– Visitor whitelists your site
– Visitor clicks refresh to reload the page cleanly
Changes the refresh button label.
Examples:
– “I whitelisted — refresh”
– “Refresh page”
– “Try again”
When enabled, shows a close/dismiss button on the popup.
Site owners often choose:
– Enable close for softer approach (less friction)
– Disable close for stricter enforcement
Changes the close button label.
Examples:
– “Close”
– “Not now”
– “Continue without ads” (avoid promises you can’t enforce)
If enabled, the plugin will attempt to output the fence JS earlier using wp_body_open.
Important:
– Your theme must support the wp_body_open hook
– If not supported, the plugin automatically falls back to footer output
Enables an optional inline script packing toggle (where applicable) to reduce output size and make the front-end logic harder to fingerprint.
Note:
Some caching/minify plugins already compress JavaScript globally. If you experience conflicts, disable this option and let your caching plugin handle optimization.
Free version includes a small “Powered by” style badge while the popup is open.
“Branding is optional / administrator opt-in” And extremely appreciated <3
—
This plugin exposes filters that allow advanced users to alter behavior.
If you are building custom integrations, you may encounter legacy filter names. Some are preserved for backward compatibility.
Common examples include:
– Minify toggle filter
– Branding behavior filter
– Icon and HTML icon customization filters
(Exact hook names may differ by version/build. If you rely on hooks, test after updating.)