Nielsen DAR pixels validate published identifiers and fixed literals.
The current DAR cgi-bin/m contract supplies campaign identifiers, pixel literals, cachebusters and passthrough attributes. The pack preserves published cy0, STV and both UID token spellings.
Mobile application requirements and SSAI header provenance need additional input context. Cookie history and TLS version cannot be established from the URL.
Apply the contracts within their published source scope.
Mobile application requirements and SSAI header provenance need additional input context. Cookie history and TLS version cannot be established from the URL.
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 |
|---|---|---|---|---|
ca |
required | Current Nielsen main-pixel contract requires this campaign mapping identifier. Account ownership is external. | vendor.nielsen-dar-pixel.param.ca.missingvendor.nielsen-dar-pixel.param.ca.empty |
docs |
ci |
required | Current Nielsen main-pixel contract requires this campaign mapping identifier. Account ownership is external. | vendor.nielsen-dar-pixel.param.ci.missingvendor.nielsen-dar-pixel.param.ci.empty |
docs |
ce |
required | Current Nielsen main-pixel contract requires this campaign mapping identifier. Account ownership is external. | vendor.nielsen-dar-pixel.param.ce.missingvendor.nielsen-dar-pixel.param.ce.empty |
docs |
cr |
required | Current Nielsen main-pixel contract requires this campaign mapping identifier. Account ownership is external. | vendor.nielsen-dar-pixel.param.cr.missingvendor.nielsen-dar-pixel.param.cr.empty |
docs |
pc |
required | Current Nielsen main-pixel contract requires this campaign mapping identifier. Account ownership is external. | vendor.nielsen-dar-pixel.param.pc.missingvendor.nielsen-dar-pixel.param.pc.empty |
docs |
am |
required | Current Nielsen main-pixel contract requires this campaign mapping identifier. Account ownership is external. | vendor.nielsen-dar-pixel.param.am.missingvendor.nielsen-dar-pixel.param.am.empty |
docs |
at |
required | Current DAR Pixel contract fixes this literal. | vendor.nielsen-dar-pixel.param.at.missingvendor.nielsen-dar-pixel.param.at.emptyvendor.nielsen-dar-pixel.param.at.invalid |
docs |
rt |
required | Current DAR Pixel contract fixes this literal. | vendor.nielsen-dar-pixel.param.rt.missingvendor.nielsen-dar-pixel.param.rt.emptyvendor.nielsen-dar-pixel.param.rt.invalid |
docs |
st |
required | Current DAR Pixel contract fixes this literal. | vendor.nielsen-dar-pixel.param.st.missingvendor.nielsen-dar-pixel.param.st.emptyvendor.nielsen-dar-pixel.param.st.invalid |
docs |
r |
required | Current DAR appendix requires a hardcoded cachebuster/timestamp value or macro. | vendor.nielsen-dar-pixel.param.r.missingvendor.nielsen-dar-pixel.param.r.empty |
docs |
cy |
optional | Current appendix lists1display/2video; its published pixel example also emits0. Preserve all three. Missing/empty creative type is explicitly supported without breakout. | vendor.nielsen-dar-pixel.param.cy.emptyvendor.nielsen-dar-pixel.param.cy.invalid |
docs |
autof |
optional | Auto refresh uses1, otherwise empty. | vendor.nielsen-dar-pixel.param.autof.emptyvendor.nielsen-dar-pixel.param.autof.invalid |
docs |
autop |
optional | Autoplay uses1,click-to-play2,otherwise empty. | vendor.nielsen-dar-pixel.param.autop.emptyvendor.nielsen-dar-pixel.param.autop.invalid |
docs |
c7 |
optional | Published mobile guide explicitly lists accepted literal values. Presence depends on native-app context, not mobile browser alone. | vendor.nielsen-dar-pixel.param.c7.emptyvendor.nielsen-dar-pixel.param.c7.invalid |
docs |
c8 |
optional | Published mobile guide explicitly lists accepted literal values. Presence depends on native-app context, not mobile browser alone. | vendor.nielsen-dar-pixel.param.c8.emptyvendor.nielsen-dar-pixel.param.c8.invalid |
docs |
c10 |
optional | Published mobile guide explicitly lists accepted literal values. Presence depends on native-app context, not mobile browser alone. | vendor.nielsen-dar-pixel.param.c10.emptyvendor.nielsen-dar-pixel.param.c10.invalid |
docs |
c9 |
optional | Documented prefixed attribute with opaque suffix. c9 empty fallback is explicitly accepted. No invented UUID or platform-specific grammar. | vendor.nielsen-dar-pixel.param.c9.emptyvendor.nielsen-dar-pixel.param.c9.invalid |
docs |
c12 |
optional | Documented prefixed attribute with opaque suffix. c9 empty fallback is explicitly accepted. No invented UUID or platform-specific grammar. | vendor.nielsen-dar-pixel.param.c12.emptyvendor.nielsen-dar-pixel.param.c12.invalid |
docs |
c13 |
optional | Documented prefixed attribute with opaque suffix. c9 empty fallback is explicitly accepted. No invented UUID or platform-specific grammar. | vendor.nielsen-dar-pixel.param.c13.emptyvendor.nielsen-dar-pixel.param.c13.invalid |
docs |
c14 |
optional | Documented prefixed attribute with opaque suffix. c9 empty fallback is explicitly accepted. No invented UUID or platform-specific grammar. | vendor.nielsen-dar-pixel.param.c14.emptyvendor.nielsen-dar-pixel.param.c14.invalid |
docs |
c68 |
optional | Documented prefixed attribute with opaque suffix. c9 empty fallback is explicitly accepted. No invented UUID or platform-specific grammar. | vendor.nielsen-dar-pixel.param.c68.emptyvendor.nielsen-dar-pixel.param.c68.invalid |
docs |
uoo |
optional | All three supported opt-out/opt-in pairs are valid. Absence is documented implicit opt-in. | vendor.nielsen-dar-pixel.param.uoo.emptyvendor.nielsen-dar-pixel.param.uoo.invalid |
docs |
gdpr |
optional | Published GDPR applicable flag. Privacy-state consistency is handled by core. | vendor.nielsen-dar-pixel.param.gdpr.emptyvendor.nielsen-dar-pixel.param.gdpr.invalid |
docs |
gdpr_consent |
optional | TC string. Core validates this standard URL privacy field. | docs | |
hem_sha256 |
optional | Current DAR guide specifies a SHA256 hexadecimal digest. Uppercase hex is not prohibited. | vendor.nielsen-dar-pixel.param.hem_sha256.emptyvendor.nielsen-dar-pixel.param.hem_sha256.invalid |
docs |
si |
optional | Canonical content URL. Decoded URL syntax is checkable; exact encodeURIComponent wire conformance remains a documented limit. | vendor.nielsen-dar-pixel.param.si.emptyvendor.nielsen-dar-pixel.param.si.invalid |
docs |
C78 |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
forceid |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
impid |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
ptraf |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
contplay |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
hem_unknown |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
fp_id |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
onload |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
pub |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
pubid |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
uid2 |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
uid2_token |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
uid_token |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
src |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
tpv |
optional | Published optional or generated DAR main-ping field. The guide does not provide a closed value grammar. UID token names differ across sections and both forms remain accepted. | docs | |
darsup |
optional | The current guide says either populated value suppresses JS main ping. | vendor.nielsen-dar-pixel.param.darsup.emptyvendor.nielsen-dar-pixel.param.darsup.invalid |
docs |
frcf |
optional | Published forced-ad flag literal values. | vendor.nielsen-dar-pixel.param.frcf.emptyvendor.nielsen-dar-pixel.param.frcf.invalid |
docs |
frcd |
optional | Published forced duration is numeric seconds or literal null. No positive lower bound is published. | vendor.nielsen-dar-pixel.param.frcd.emptyvendor.nielsen-dar-pixel.param.frcd.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/nielsen-dar-pixel
Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.
cargo install pixellint
·
npm install pixellint