Remove ads for subscribers

Recognise paying subscribers on your server, and serve them a clean page. Everyone else sees your website as before.

In short

  • The extension sends a Better-Web-Token header with a subscriber's page requests.
  • Our SDK checks it on your server, without calling us, and answers yes or no.
  • For a yes, serve the clean page and unlock your included paid content.

Skip this section if your website is already clean. Adding your Publisher ID is all it takes. Check whether your website is already clean →

How it works

  1. Your website announces you with the Better-Web-Publisher response header or meta tag.
  2. The extension attaches proof. For a subscriber, it adds a Better-Web-Token header to the request.
  3. Your server checks the token. The SDK verifies it locally, and tells you whether the visitor is a subscriber.
  4. You decide what to render. Subscribers get the clean page. Everyone else keeps your normal page and access rules.

Pick your integration

Your stack Guide
Node, Bun or Deno @zeroad.network/token for JavaScript
PHP, including Laravel and Symfony zeroad.network/token for PHP
WordPress Zero Ad Network plugin
Anything else The token format is open. Any server that reads HTTP headers and checks an Ed25519 signature can verify it.

Each SDK and the plugin announce your Publisher ID and verify subscribers. Your part is deciding what a subscriber sees.

What subscribers must get

For a verified subscriber, your page has:

  • no ads
  • no non-essential third-party trackers
  • no cookie consent screens
  • no marketing popups, including newsletter signup prompts

If you sell access, subscribers also get your base subscription, or a custom level that unlocks paid content or features. Higher tiers can stay restricted.

Freedom is the only membership. There are no separate "ad-free" and "paywall" plans to handle. Both SDKs return one yes-or-no answer.

Test before you go live

You can test the subscriber experience without buying a membership.

  1. Add your website. In Websites & creators, add and verify your website. Your account must own its hostname.
  2. Start testing. Open the website's page in your dashboard, and select Test in your browser.
  3. Check the subscriber page. Reload your website. Ads and interruptions should be gone, and included content unlocked.
  4. Check the ordinary page. In the extension popup, select Turn Freedom off, and reload. Your normal website should appear.
  5. Finish. Select Stop testing in the popup to return to your normal membership.

Good to know:

  • Test access lasts seven days and renews automatically while you're eligible.
  • Test visits earn nothing, even if you also have a paid membership.
  • Test access is kept through dashboard syncs and browser restarts. Switching accounts or resetting the extension clears it.
  • Only one hostname gets test access: the one you selected.
  • Websites can remember you. Your website's own login, cookies or cache may keep showing one version. Clear them if a result looks wrong.

Go-live checklist

  • A normal page response includes Better-Web-Publisher.
  • With test access, a subscriber page has no ads, trackers, cookie banners or popups.
  • Included paid content opens for a subscriber, and stays locked for everyone else.
  • Your page caches and CDN never serve a subscriber page to other visitors. See Page caching and CDNs.
  • The same URL still works normally in a browser without the extension.

Why it's safe and fast

  • Bound to your hostname. A token only verifies on the website it was made for. It can't be copied from your page and used on another website.
  • No network call. The SDK checks the signature locally, against the network's public key.
  • Fails closed. A missing, broken, expired or wrong-site token never grants access.
  • No personal data. The token proves membership. It doesn't tell you who the subscriber is.

Your application must still act on the answer, and keep subscriber pages out of shared caches.

Fine print on testing

  • If you have no paid membership, subscriber access ends when you stop testing.
  • If the network is unreachable when a test token expires, access can pause. The extension retries, or you can reopen the test page.
  • A test token stays valid until it expires, even if your permission changes before then.
  • An inactive website can be tested while you finish your integration. A removed or banned website must be restored first.
  • Previously recorded paid usage is kept, and uploads while your paid membership is active.