MetrikStack
Sources

Overview

Every way to send MetrikStack data, and when to use each.

A site can run any combination of these. None is required by another: a single browser script is a complete, working setup. Combining sources fills in 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 executesAdblocked visitors, most bots, JS-disabled clients
Node SDKEvery HTML response your app server rendersStatic/CDN-cached responses your app never touches
LaravelSame as the Node SDK, for Laravel appsSame
WordPressBrowser 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 ForwardingDepends on the CDN configuration
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)

Each source is created on a site in the dashboard, with a kind: script, server, edge_cloudflare, edge_bunny, or logs. Sources other than the browser script get an ingest token, shown once at creation time, used as Authorization: Bearer <ingest_token> against POST /v1/batch. The browser script instead uses the public, non-secret site_id.