`,\n { html: true }\n );\n },\n })\n .transform(res);\n },\n};"},{"@type":"HowToStep","position":3,"name":"Configure Wrangler Environment Variables","text":"Set your website UUID in wrangler.jsonc or wrangler.toml. Example:\n// wrangler.jsonc\n{\n \"name\": \"my-worker\",\n \"main\": \"src/index.ts\",\n \"compatibility_date\": \"2026-08-22\",\n \"vars\": {\n \"ANALYTICS_WEBSITE_ID\": \"YOUR_WEBSITE_UUID\"\n }\n}"}]}
SERVERLESS / EDGE INTEGRATION GUIDE

How to Install Analytics on Cloudflare Workers & Edge

Deploy lightning-fast edge analytics on Cloudflare Workers, Pages, and serverless compute with zero cold starts and sub-50ms global latency.

Quick Setup: Cloudflare Workers & Edge
By Sufyaan Studio ResearchVerified August 2026

To track traffic on Cloudflare Workers, dispatch server-side subrequests directly to the Analytics ingest endpoint or inject the client-side tracker into HTML responses via HTMLRewriter.

KEY TAKEAWAYS
  • 1.15 KB featherlight tracker preserves Cloudflare Workers & Edge speed
  • Zero cookie consent banners required
  • Automatic SPA client route change detection
  • Full support for custom conversion event tracking
PREREQUISITES
  • Cloudflare Workers / Pages project
  • Website UUID
  • Wrangler CLI
STEP-BY-STEP IMPLEMENTATION

Installation Instructions

1

Option A: Edge Server-Side Tracking in Worker

Send event payloads directly from your Cloudflare Worker fetch handler using ctx.waitUntil().

CLOUDFLARE WORKERS & EDGE SNIPPET (STEP 1)
// Cloudflare Worker (index.ts) export default { async fetch(request: Request, env: any, ctx: ExecutionContext): Promise<Response> { const response = await fetch(request); const url = new URL(request.url); // Non-blocking edge analytics dispatch ctx.waitUntil( fetch('https://analytics-collect.sufyaanstudio.workers.dev/api/send', { method: 'POST', headers: { 'Content-Type': 'application/json', 'User-Agent': request.headers.get('User-Agent') || '', 'CF-Connecting-IP': request.headers.get('CF-Connecting-IP') || '', 'CF-IPCountry': request.headers.get('CF-IPCountry') || '', }, body: JSON.stringify({ w: env.ANALYTICS_WEBSITE_ID, u: url.pathname + url.search, r: request.headers.get('Referer') || '', }), }) ); return response; }, };
2

Option B: HTMLRewriter Client Script Injection

Inject the 1.15 KB tracker tag into outgoing HTML responses dynamically at the edge.

CLOUDFLARE WORKERS & EDGE SNIPPET (STEP 2)
// HTMLRewriter script injection in Cloudflare Worker export default { async fetch(request: Request, env: any): Promise<Response> { const res = await fetch(request); if (!res.headers.get('content-type')?.includes('text/html')) { return res; } return new HTMLRewriter() .on('head', { element(el) { el.append( `<script defer src="https://analytics.sufyaanstudio.com/t.js" data-web="${env.ANALYTICS_WEBSITE_ID}"></script>`, { html: true } ); }, }) .transform(res); }, };
3

Configure Wrangler Environment Variables

Set your website UUID in wrangler.jsonc or wrangler.toml.

CLOUDFLARE WORKERS & EDGE SNIPPET (STEP 3)
// wrangler.jsonc { "name": "my-worker", "main": "src/index.ts", "compatibility_date": "2026-08-22", "vars": { "ANALYTICS_WEBSITE_ID": "YOUR_WEBSITE_UUID" } }
FAQ & VERIFICATION

FAQ: Cloudflare Workers & Edge Analytics Integration

Ready to track Cloudflare Workers & Edge traffic with speed?

Create your account in 30 seconds and start tracking for $0.

analytics