pixellint

vendor/xandr · vendor documented

Xandr conversion pixels need id and t

Microsoft documents id on every exported conversion pixel. t=2 is the image pixel. t=1 is JavaScript. value=10 is valid. value=$10 is not. Cookie sync and RTB on the same hosts are not this pack. Server-side conversion is vendor/xandr-sspx.

t is 1 or 2

Microsoft documents t=1 for JavaScript and t=2 for image. A /px call with t=3 is not an exported conversion pixel.

Rule: vendor.xandr.param.t.invalid

What this pack matches

Hosts
ib.adnxs.com, secure.adnxs.com
Paths
/px
Vendor docs
learn.microsoft.com/en-us/xandr/monetize/conversion-pixels-advanced

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
id required It is the Monetize conversion pixel ID. Microsoft documents id on every exported conversion pixel. Fix: Set id to the conversion pixel ID from Monetize. vendor.xandr.param.id.missing
vendor.xandr.param.id.empty
vendor.xandr.param.id.invalid
docs
t required It is the pixel type. Microsoft documents t=1 for JavaScript and t=2 for image. Fix: Set t=2 on an image pixel, or t=1 on a JavaScript pixel. vendor.xandr.param.t.missing
vendor.xandr.param.t.empty
vendor.xandr.param.t.invalid
docs
order_id optional It is an order ID or SKU. Microsoft documents a 36 character limit, with letters and numbers. Fix: Set order_id to the order or SKU, at most 36 characters. vendor.xandr.param.order_id.empty docs
value optional It is the dynamic revenue. Microsoft documents a purely numerical value, so 10 is valid and $10 is not. Fix: Set value to a number with no currency symbol, such as 10 or 10.50. vendor.xandr.param.value.empty
vendor.xandr.param.value.invalid
docs
consent optional It is binary consent when TCF signals are not available. Microsoft documents 1 for granted and 0 for denied. Fix: Send consent=1 when the user granted consent, or consent=0 when they denied it. vendor.xandr.param.consent.empty
vendor.xandr.param.consent.invalid
docs

Validate a payload

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

Try this failing payload in the playground. Xandr conversion pixel with t=3.

https://ib.adnxs.com/px?id=1234&t=3

cargo install pixellint · npm install pixellint