Google PCS view templates retain their opaque fields.
The official Campaign Manager pre-fetch examples supply xai, sai and sig on googleads4.g.doubleclick.net/pcs/view. Missing or empty fields receive official-template warnings.
Opaque values remain open. Other Google hosts and PCS routes do not inherit this template scope.
Template completeness cannot verify signed tokens.
No token alphabet, length or cryptographic requirement is inferred. Account state, expiry and remote acceptance remain external. pagead2 /pcs/view and /pcs/click remain outside this pack.
What this pack matches
Rules
Codes are stable. A finding in CI, MCP, or the playground lands on the same id.
| Field | Required | What it checks | Rule ids | Source |
|---|---|---|---|---|
xai |
recommended | The official CM360 verification example preserves a populated opaque xai field. Missingness is a template completeness advisory, not a published server rejection rule. Presence diagnostic severity: warning. Fix: Preserve the complete generated tracker URL rather than rebuilding its signed fields. | vendor.google-cm360-pcs-view.param.xai.missingvendor.google-cm360-pcs-view.param.xai.empty |
docs |
sai |
recommended | The official CM360 verification example preserves a populated opaque sai field. Additional server variants may omit it; no universal requiredness or token grammar is claimed. Presence diagnostic severity: warning. Fix: Compare the URL with the original generated CM360 tracker and preserve fields emitted by that template. | vendor.google-cm360-pcs-view.param.sai.missingvendor.google-cm360-pcs-view.param.sai.empty |
docs |
sig |
recommended | The official CM360 verification example preserves a populated opaque sig field. Local nonempty checking cannot establish whether a signature is valid. Presence diagnostic severity: warning. Fix: Keep the generated signature intact. Pixellint cannot recreate or authenticate it. | vendor.google-cm360-pcs-view.param.sig.missingvendor.google-cm360-pcs-view.param.sig.empty |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/google-cm360-pcs-view
Try this failing payload in the playground. A Google PCS template missing sig.
https://googleads4.g.doubleclick.net/pcs/view?xai=opaque&sai=opaque
cargo install pixellint
·
npm install pixellint