pixellint

iSpot impression GIFs need a TC tracking code in the path

iSpot documents the impression pixel as /v2/TC-####-#.gif. The tracking code is client-specific. Query extras such as campaignid are optional. TV conversion GIFs on pt.ispot.tv are vendor/ispot-conversion.

What this pack matches

Hosts
pi.ispot.tv, staging-pi.ispot.tv
Paths
/v2/
Vendor docs
developer.ispot.tv/sites/default/files/Impression%20Pixel%20Implementation%20Guide_0.pdf

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
tracking_code required It is the client-specific tracking code. iSpot documents the impression pixel path as /v2/TC-####-#.gif. Fix: Put the tracking code from iSpot in the path so it reads /v2/TC-{account}-{pixel}.gif. vendor.ispot.param.tracking_code.missing
vendor.ispot.param.tracking_code.empty
vendor.ispot.param.tracking_code.invalid
docs
campaignid optional iSpot documents campaignid as a string with at most 64 characters. Maximum decoded characters: 64. vendor.ispot.param.campaignid.empty
vendor.ispot.param.campaignid.invalid
docs
channel optional iSpot documents channel as a string with at most 16 characters. Maximum decoded characters: 16. vendor.ispot.param.channel.empty
vendor.ispot.param.channel.invalid
docs
cid optional iSpot documents cid as a string with at most 128 characters. Maximum decoded characters: 128. vendor.ispot.param.cid.empty
vendor.ispot.param.cid.invalid
docs
creativeid optional iSpot documents creativeid as a string with at most 64 characters. Maximum decoded characters: 64. vendor.ispot.param.creativeid.empty
vendor.ispot.param.creativeid.invalid
docs
creativename optional iSpot documents creativename as a string with at most 64 characters. Maximum decoded characters: 64. vendor.ispot.param.creativename.empty
vendor.ispot.param.creativename.invalid
docs
customdata optional iSpot documents customdata as a string with at most 256 characters. Maximum decoded characters: 256. vendor.ispot.param.customdata.empty
vendor.ispot.param.customdata.invalid
docs
devicetype optional iSpot documents devicetype as a string with at most 16 characters. Maximum decoded characters: 16. vendor.ispot.param.devicetype.empty
vendor.ispot.param.devicetype.invalid
docs
placementid required iSpot documents placementid as a string with at most 64 characters. Required for the documented reporting contract; the guide also permits a bare base pixel. Presence diagnostic severity: warning. Maximum decoded characters: 64. vendor.ispot.param.placementid.missing
vendor.ispot.param.placementid.empty
vendor.ispot.param.placementid.invalid
docs
placementtype optional iSpot documents placementtype as a string with at most 32 characters. Maximum decoded characters: 32. vendor.ispot.param.placementtype.empty
vendor.ispot.param.placementtype.invalid
docs
platform required iSpot documents platform as a string with at most 7 characters. Required for the documented reporting contract; the guide also permits a bare base pixel. Presence diagnostic severity: warning. Maximum decoded characters: 7. vendor.ispot.param.platform.missing
vendor.ispot.param.platform.empty
vendor.ispot.param.platform.invalid
docs
publisher required iSpot documents publisher as a string with at most 64 characters. Required for the documented reporting contract; the guide also permits a bare base pixel. Presence diagnostic severity: warning. Maximum decoded characters: 64. vendor.ispot.param.publisher.missing
vendor.ispot.param.publisher.empty
vendor.ispot.param.publisher.invalid
docs
segment optional iSpot documents segment as a string with at most 128 characters. Maximum decoded characters: 128. vendor.ispot.param.segment.empty
vendor.ispot.param.segment.invalid
docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/ispot

Try this failing payload in the playground. iSpot impression GIF missing tracking code.

https://pi.ispot.tv/v2/.gif

cargo install pixellint · npm install pixellint