MetrikStack
Sources

Overview

Every way to send data to MetrikStack, from the browser script and server-side SDKs to CDN logs and log drains, and what each source sees and misses.

A site can run any combination of these sources, and none depends on another. The browser script on its own is a complete setup; each source you add counts traffic the others miss. See How merging works for what happens when more than one source sees the same page load.

SourceSeesMisses
Browser scriptEverything a real browser executesVisitors with ad blockers, most bots, clients without JavaScript
Node SDK (not published yet)Every HTML response your app server rendersStatic or CDN-cached responses your app never handles
Laravel (not published yet)Same as the Node SDK, for Laravel appsSame
WordPress (on request)Browser script, server-side pageviews, or bothFully page-cached responses on the server side
Cloudflare WorkerEvery response through the zone, including cache hitsTraffic that bypasses Cloudflare
BunnyEvery request through the Pull Zone, via Log ForwardingIn-app navigation in single-page apps
VercelEvery request through Vercel's proxy, via a Log DrainTraffic served by another CDN in front of Vercel
NetlifyEvery request Netlify served, via a Log DrainTraffic that bypasses Netlify
Access logsWhatever your web server logsAnything not logged (e.g. edge-cached responses on some CDNs)

You create each source on a site in the dashboard, with a kind: script, server, edge_cloudflare, edge_bunny or logs. Every source except the browser script gets an ingest token, shown once when you create it and sent as Authorization: Bearer <ingest_token> (to POST /v1/batch for the SDKs and the Worker). The browser script uses the site's public site_id instead.