pixellint

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

Hosts
vfw.amazon-adsystem.com
Paths
/dv/event.png, /dv/proxy/sts.png
Vendor docs
advertising.amazon.com/resources/ad-policy/approved-3p-ad-servers

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.missing
vendor.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