← All IntegrationsIntegration

Analytics for Cloudflare

Cloudflare Workers give you the most reliable ad-blocker bypass for analytics. A single Worker script proxies BetterMeter through your domain at the edge — sub-millisecond overhead, global distribution, and completely invisible to blockers.

Worker proxy script

Deploy this Worker to your Cloudflare zone. It intercepts requests to /bm/* and forwards them to BetterMeter, preserving all headers. Because the request originates from your domain, ad blockers never trigger.

worker.js
export default {
  async fetch(request) {
    const url = new URL(request.url);

    if (url.pathname === "/bm/script") {
      return fetch("https://bettermeter.com/api/script", { headers: request.headers });
    }

    if (url.pathname === "/bm/event") {
      return fetch("https://bettermeter.com/api/event", {
        method: "POST",
        headers: request.headers,
        body: request.body,
      });
    }

    return fetch(request);
  },
};

Route configuration

wrangler.toml
name = "bettermeter-proxy"
main = "worker.js"
compatibility_date = "2024-01-01"

[[routes]]
pattern = "your-domain.com/bm/*"
zone_name = "your-domain.com"

BetterMeter vs Cloudflare Web Analytics

  • 01AI traffic attribution — BetterMeter identifies visits from ChatGPT, Claude, and Perplexity. Cloudflare Web Analytics groups these as generic referrers.
  • 02Bot & crawler breakdown — See every bot by name, frequency, and pages crawled. Cloudflare only shows aggregate bot counts.
  • 03CLI, MCP & API tracking — BetterMeter tracks your entire product, not just web pages served through Cloudflare.
  • 04Real-time dashboard — See visitors as they arrive. Cloudflare Web Analytics has a delay of several minutes.
Workers Proxy
Edge-level bypass
< 1ms Overhead
Worker latency
300+ PoPs
Cloudflare network