PubMatic VPAID notices check the published error sender.
Pinned PMAdMgr.js error-builder advice on exact st.pubmatic.com/track, selected only with operId=7 and a vadsId key. Other operations, older notices without that marker and adjacent services remain uncovered.
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 |
|---|---|---|---|---|
operId |
recommended | The inspected error URL builder emits operation 7. The matching marker scopes this producer profile and does not define other operation meanings. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.operId.missingvendor.pubmatic-vpaid-error.param.operId.emptyvendor.pubmatic-vpaid-error.param.operId.invalid |
docs |
p |
recommended | Publisher reference is appended unconditionally. Zero, blank, sentinel and opaque values remain accepted; no account or ID-format law is inferred. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.p.missing |
docs |
s |
recommended | Site reference is appended unconditionally. This producer advisory checks key presence without an inferred ID grammar. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.s.missing |
docs |
a |
recommended | Ad reference is appended unconditionally. Native zero and blank inputs remain valid producer outputs. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.a.missing |
docs |
ts |
recommended | Math.round(new Date().valueOf()/1000) produces a signed decimal seconds value. Preserve zero and negative values without a freshness, digit-width or account-clock claim. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.ts.missingvendor.pubmatic-vpaid-error.param.ts.emptyvendor.pubmatic-vpaid-error.param.ts.invalid |
docs |
wa |
recommended | The builder appends its caller-provided network reference. This remains opaque, including zero and numeric strings. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.wa.missing |
docs |
vadsId |
recommended | The current builder always appends adServingId, whose native default is the string -1 and which may be blank. Presence is the current source-profile discriminator; older notices without it remain unclaimed. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.vadsId.missing |
docs |
wc |
recommended | A campaign reference is appended when the caller network loosely equals 243. Presence advice is restricted to the canonical wire spelling 243; equivalent numeric strings remain accepted without exhaustive JavaScript coercion claims. Applies when {"kind":"all_values_in","params":["wa"],"values":["243"]}. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.wc.missing |
docs |
e |
optional | A truthy explicit event argument selects this carrier. Event values stay open, including string 0 and future event codes. Presence diagnostic severity: warning. | docs | |
er |
optional | Without a truthy explicit event, the builder emits the ERRORCODE macro. Literal vendor error codes and future encodings remain open. Presence diagnostic severity: warning. | docs | |
crId |
optional | Truthy creative reference copied from configuration. Numeric zero is omitted while string 0 is retained; no grammar or requiredness is inferred. Presence diagnostic severity: warning. | docs | |
ucrid |
optional | Truthy universal creative reference copied without a local scalar contract. Presence diagnostic severity: warning. | docs | |
impid |
optional | Truthy impression reference copied without an ID-format or equality rule. Presence diagnostic severity: warning. | docs | |
advertiser_id |
optional | Truthy advertiser reference copied without inferred numeric or account requirements. Presence diagnostic severity: warning. | docs | |
ecpm |
optional | Truthy configuration value copied directly. Numeric zero may be omitted while string 0 is retained; no numeric format or currency law is inferred. Presence diagnostic severity: warning. | docs | |
pmc |
optional | The publisher-consent value is omitted for native numeric -1, while string -1 is retained. This is not an IAB consent alias and no enum or permission policy is inferred. Presence diagnostic severity: warning. | docs | |
isAk |
optional | The inspected builder appends only native numeric 0,1 or 2, which serialize to these exact strings. Absence remains allowed for other source configuration types. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.param.isAk.emptyvendor.pubmatic-vpaid-error.param.isAk.invalid |
docs |
vc |
optional | The inspected image dispatcher appends its video-client marker 2. Keep optional and open because a pre-dispatch template omits it and other clients remain external context. Presence diagnostic severity: warning. | docs | |
error_carrier_missing |
recommended | The inspected error builder emits an e key or an er key. Preserve the carrier from the originating sender; no event/error value or exclusivity law is inferred. | vendor.pubmatic-vpaid-error.error_carrier_missing |
docs |
https_source_profile |
recommended | The inspected PMAdMgr error builder constructs an HTTPS tracker URL. This is a producer-profile advisory. | vendor.pubmatic-vpaid-error.https_source_profile |
docs |
method |
required | The inspected dispatcher creates an img element and sets its src, producing a GET capture. No body, content-type or header requirement is inferred. Complete HTTP capture contract. Presence diagnostic severity: warning. | vendor.pubmatic-vpaid-error.http.method.missingvendor.pubmatic-vpaid-error.http.method.emptyvendor.pubmatic-vpaid-error.http.method.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/pubmatic-vpaid-error
Try this failing payload in the playground. An example with a validation finding.
https://st.pubmatic.com/track?operId=7&p=0&s=0&a=0&ts=1793000000&wa=0&vadsId=-1&isAk=0
cargo install pixellint
·
npm install pixellint