pixellint

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

Hosts
googleads4.g.doubleclick.net
Paths
/pcs/view
Vendor docs
support.google.com/campaignmanager/answer/9858133?hl=en

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.missing
vendor.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.missing
vendor.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.missing
vendor.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