pixellint

Adform tags need banner number bn

Video tags are /videoad/?bn=. Click and impression tags put the same ID on /C/ and /adfserve/. a2 is Americas, track is EMEA, a1 is global, asia is APAC. Semicolon-delimited consent pairs may follow the number. s2.adform.net verification scripts are attributed, not contracted.

What this pack matches

Hosts
adform.net
Paths
/videoad, /C/, /adfserve
Vendor docs
www.adformhelp.com/hc/en-us/articles/10893850708241-Code-HTML5-Banners

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
bn required It is the numeric Adform banner ID. Adform documents video tags as `{region}.adform.net/videoad/?bn=` plus that ID. a2 is the Americas tracking domain, track is EMEA, a1 is global, asia is APAC. Fix: Set `bn` to the banner ID from the Adform tag. vendor.adform.param.bn.missing
vendor.adform.param.bn.empty
vendor.adform.param.bn.invalid
docs
C optional It is the click index Adform writes on multi-click banners. Adform documents clicktrackers as `C=1`, `C=2`, and so on. Single-click tags omit it. Fix: Set `C` to the click index from the Adform tag, or drop the pair on a single-click tag. vendor.adform.param.C.empty
vendor.adform.param.C.invalid
docs
cpdir optional Adform documents cpdir as the absolute replacement landing page URL. vendor.adform.param.cpdir.empty
vendor.adform.param.cpdir.invalid
docs
urlappend optional Adform appends query data to the landing page. Its supported __ADFSEP__ macro resolves to ? or & depending on the destination query. vendor.adform.param.urlappend.empty
vendor.adform.param.urlappend.invalid
docs

Validate a payload

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

Try this failing payload in the playground. Adform video tag missing banner number bn.

https://track.adform.net/videoad/?autoplay=0

cargo install pixellint · npm install pixellint