Amazon Firefly DV hops need vstevt
Amazon DSP hosts DoubleVerify measurement on vfw.amazon-adsystem.com/dv/. Generated event.png and proxy tags always send vstevt, so a missing value is a truncated wrapper. Generated /dv/proxy tags also send ctx, cmp, plc, and sid from the same dvparams Google documents on DoubleVerify wrappers. IAS /ias/ hops stay directory-only. The Ad Tag loader is vendor/amazon-ads.
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 |
|---|---|---|---|---|
vstevt |
required | It is the Firefly viewability event code on Amazon-hosted DoubleVerify hops. Amazon documents DSP third-party verification with DoubleVerify, not this query; generated /dv/event.png and /dv/proxy tags always send vstevt, so an empty or missing value is a truncated wrapper. Fix: Export the Firefly VAST again from Amazon DSP so vstevt is present on the /dv/ hop. | vendor.amazon-vfw.param.vstevt.missingvendor.amazon-vfw.param.vstevt.empty |
docs |
ctx |
optional | It is the DoubleVerify context or advertiser key. Google documents it as ctx inside dvparams. Generated /dv/proxy tags carry the same name. Quartile /dv/event.png hops often omit it. Fix: Keep ctx from the generated Firefly /dv/proxy tag, or drop the empty pair. | vendor.amazon-vfw.param.ctx.empty |
docs |
cmp |
optional | It is the DoubleVerify campaign key. Google documents it as cmp inside dvparams. Generated /dv/proxy tags carry the same name. Fix: Keep cmp from the generated Firefly /dv/proxy tag, or drop the empty pair. | vendor.amazon-vfw.param.cmp.empty |
docs |
plc |
optional | It is the DoubleVerify placement key. Google documents it as plc inside dvparams. Generated /dv/proxy tags carry the same name. Fix: Keep plc from the generated Firefly /dv/proxy tag, or drop the empty pair. | vendor.amazon-vfw.param.plc.empty |
docs |
sid |
optional | It is the DoubleVerify site or supply key. Google documents it as sid inside dvparams. Generated /dv/proxy tags carry the same name. Values may be a name rather than digits. Fix: Keep sid from the generated Firefly /dv/proxy tag, or drop the empty pair. | vendor.amazon-vfw.param.sid.empty |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/amazon-vfw
Try this failing payload in the playground. Amazon Firefly DV hop missing vstevt.
https://vfw.amazon-adsystem.com/dv/event.png?dup=CJmCexample
cargo install pixellint
·
npm install pixellint