Skip to content

Keep live docs promotion qualification out of customer campaign metrics #97

Description

@rmcdaniel

Problem

The live documentation deployment qualifier at main@a12df54ee106b82c1b8732fbb47636b6949b7040 verifies all six Cloud promotion placements by sending the same impression and click payloads used for real visitors. Those accepted requests are aggregated as customer campaign activity, so every deployment qualification adds synthetic demand to the promotion totals it is meant to validate.

The public receiver already supports a bounded non-aggregating qualification event. The docs qualifier confirms the exact deployed candidate bundle before browser checks, but its live mode still emits and explicitly asserts organic event names.

Acceptance criteria

  • After exact deployed-candidate matching, live/post-deploy qualification uses the receiver's non-aggregating qualification path and does not increment customer impression or click aggregates.
  • Local or staged browser qualification continues exercising one real impression and one real click per placement, including navigation-safe keepalive transport.
  • Live qualification still blocks on origin/CORS errors, unfinished or failed requests, non-204 responses, console/page/HTTP errors, destination failures, unexpected payload fields, or privacy regressions.
  • Focused tests fail if live mode emits aggregating event names or if local/staged mode stops exercising real impression and click behavior.
  • Reports clearly distinguish non-aggregating live qualification evidence from customer-event evidence while preserving source allowlists and the no-credentials/no-referrer boundary.

Delete when

Delete when a deployed six-placement qualification run is bound to the exact candidate, passes the full browser transport contract, and demonstrably adds no rows to customer impression/click aggregates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:defectA public product behavior is incorrectpriority:P1High-priority product or release riskrepo:documentationOwned by the public documentation repositorystatus:readyReady for implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions