Amazon Firefly rules cover two DV measurement endpoints.
The Amazon Firefly pack applies to vfw.amazon-adsystem.com/dv/event.png and /dv/proxy/sts.png. Its existing measurement contract requires populated vstevt and validates ctx, cmp, plc, and sid when those fields are supplied.
Wrapper telemetry at /dv/vtrk.doubleverify.com/ and other /dv/ paths stays outside this pack. IAS /ias/ requests retain directory attribution and core checks. Proxy verification-error variants retain the existing vstevt requirement pending a separately sourced contract. 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 the contracted /dv/event.png and /dv/proxy/sts.png measurement hops. The linked Amazon policy is ecosystem context, not a specification of this query. The existing measurement contract requires a non-empty value; proxy verification-error variants need a separate authoritative contract before that requirement can change. 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