IAS video pixels require a populated external session identifier.
The published IAS UVP guide defines vevent paths, generated tag identifiers and the external session field xsId. Empty session IDs are an observable contract violation.
Optional application, privacy and diagnostic fields follow their published formats. Correlating the same session across surrounding pixels requires a complete ad session.
Apply the contracts within their published source scope.
Optional application, privacy and diagnostic fields follow their published formats. Correlating the same session across surrounding pixels requires a complete ad session.
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 |
|---|---|---|---|---|
event_name |
required | Published UVP paths identify their event here. The guide shows seven events but does not declare a closed event enumeration. Evidence: vendor template. | vendor.ias-video-pixel.param.event_name.missingvendor.ias-video-pixel.param.event_name.empty |
docs |
advertiser_id |
required | Numeric generated IAS tag identifier, preserved from the published UVP template. Evidence: vendor template. | vendor.ias-video-pixel.param.advertiser_id.missingvendor.ias-video-pixel.param.advertiser_id.emptyvendor.ias-video-pixel.param.advertiser_id.invalid |
docs |
publisher_id |
required | Numeric generated IAS tag identifier, preserved from the published UVP template. Evidence: vendor template. | vendor.ias-video-pixel.param.publisher_id.missingvendor.ias-video-pixel.param.publisher_id.emptyvendor.ias-video-pixel.param.publisher_id.invalid |
docs |
xsId |
required | IAS explicitly requires the external ad-session identifier for UVP/CTV impression registration. UUIDv4 is recommended, so an opaque nonempty ID is accepted. | vendor.ias-video-pixel.param.xsId.missingvendor.ias-video-pixel.param.xsId.empty |
docs |
gdpr |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
gdpr_consent |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
gdpr_pd |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
ias_xmtp |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
ias_xmapp |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
ias_xappb |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
omidPartner |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
bundleId |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
ias_xerr |
optional | Optional published UVP template field. The guide gives no closed grammar or unconditional presence requirement. | docs | |
xdebug |
optional | Documented reporting or debugging input. Platform prerequisites and cross-session uniqueness are external. | docs | |
campaign_id |
optional | Documented reporting or debugging input. Platform prerequisites and cross-session uniqueness are external. | docs | |
placement_id |
optional | Documented reporting or debugging input. Platform prerequisites and cross-session uniqueness are external. | docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/ias-video-pixel
Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.
cargo install pixellint
·
npm install pixellint