Summary
It would be great if Sink could fire a webhook on each click (an outbound HTTP POST to a user-configured URL), so click events can be forwarded to external systems in real time - notably including the timestamp of the click.
Motivation
Today click data lives in Cloudflare Analytics Engine and is only visible through the built-in dashboard (event logs, live globe, etc.). There's no way to react to a click outside of Sink.
A webhook would unlock use cases like streaming click events into our own analytics / data warehouse.
Proposed behaviour
On each redirect/click, Sink would POST a JSON payload to a configured webhook URL. Ideally:
- Per-link and/or global webhook URL configuration
- Payload sent asynchronously so it never adds latency to the redirect (e.g. via
waitUntil() in the Worker)
- Optional signing secret (HMAC header) so receivers can verify authenticity
- Best-effort delivery (a failing webhook must not break the redirect)
Summary
It would be great if Sink could fire a webhook on each click (an outbound HTTP POST to a user-configured URL), so click events can be forwarded to external systems in real time - notably including the timestamp of the click.
Motivation
Today click data lives in Cloudflare Analytics Engine and is only visible through the built-in dashboard (event logs, live globe, etc.). There's no way to react to a click outside of Sink.
A webhook would unlock use cases like streaming click events into our own analytics / data warehouse.
Proposed behaviour
On each redirect/click, Sink would POST a JSON payload to a configured webhook URL. Ideally:
waitUntil()in the Worker)