Widget funnel beacon (fire-and-forget)
Widget funnel beacon (fire-and-forget): CustomDomain™ API reference in the analytics group. Covers parameters, request body, responses and error codes.
A PII-free beacon recording which step of the in-modal connect flow a user reached. It exists because server-side counters only observe connections that actually get created, and so are blind to pre-connection drop-off.
step and outcome are allow-listed server-side and anything unrecognised is folded into a fixed label. A beacon that carries a session_id is also stored against the calling application, which is what GET /analytics/connect reads; one without it is only counted. No domain is stored, and nothing the end user typed. With each stored beacon the control plane keeps the end user's IP address and country (from the request, believed only through Cloudflare), and the session it belongs to: at its first beacon the address, the region and city Cloudflare derived, and the device type, operating system and browser parsed from the User-Agent (the string itself is not stored); at every beacon the step, rail, provider and outcome. Addresses are kept for as long as the account exists, unless the deployment's IP_RETENTION_DAYS sets a window. It always answers 204, including for an invalid token or a malformed body, so telemetry can never block or error the widget; do not branch on its response.
Authorization
apiKey Long-lived tenant API key, cd_live_… (production) or cd_test_… (staging, development), stored hashed. Keys created before the switch to cd_ start with sk_live_… / sk_test_… and are still accepted. Scoped to the owning application's tenant.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/telemetry:connect" \ -H "Content-Type: application/json" \ -d '{}'