Report a batch of page views from a connected web site (browser key)
POST/api/public/attribution/pageviews
The visitor's page journey: what the chat widget's loader sends when a
page is hidden or left. Up to 20 views, each with the browser's own
id, so a retry or a second report of the same view only lengthens its
time on page. Same keys, domain check, CORS and text/plain JSON body
as recordWebsiteTouch; its own rate limit per key + client IP.
Stored per view: the address WITHOUT ad click ids, its path, the
document title, the referring host (another site's only), when, how
long it was visible, and whether the page reported analytics/ads
consent. Never the IP or the user agent. Views from a host the site
does not own, or timed more than a day ago, are dropped. With the
site's "track visits" switch off nothing is stored
(outcome: ignored).
CONSENT: the visitor_key is the attribution runtime's (the 90-day
_cw_at id with ads consent, a per-tab-session id without). A key
reported without consent is its own in-session visitor; it is joined
to the chat's visitor only when the person identifies themselves in
that session (writes in the chat, submits a form carrying the key,
sends the WhatsApp ref code issued to it).
Request
Responses
- 200
- 202
- 401
- 403
- 404
- 422
- 429
The site's "track visits" switch is off (outcome ignored).
Accepted; recorded new views.
No key (missing_key) or an unknown one (unknown_key).
The site is switched off, not linked to the widget, or the request is not from its domains.
The workspace has no website connection (unknown_site).
The request failed validation.
Rate limit exceeded.
Response Headers
Request quota for the current window.
Remaining requests in the current window.
Seconds to wait before retrying.