pixellint

vendor/kevel · vendor documented

Kevel pixels need the shim and the signature

Kevel documents e as the base64 event shim and s as the signature. Copy both from the Decision API impressionUrl or events[].url. Click redirects on /r are not this pack.

e is the encoded shim from the Decision API

An /i.gif call with no e cannot record the impression Kevel counted.

Rule: vendor.kevel.param.e.missing

What this pack matches

Hosts
adzerk.net
Paths
/i.gif, /e.gif
Vendor docs
dev.kevel.com/ad/docs/proxying-impressions-through-your-own-server

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
e required It is the base64 encoded event shim. Kevel documents e as unique to the event. Fix: Send e from the Decision API impressionUrl or events[].url. Do not invent it. vendor.kevel.param.e.missing
vendor.kevel.param.e.empty
docs
s required It is the signature that verifies the shim. Kevel documents s on every tracking pixel. Fix: Send s from the same Decision API URL as e. vendor.kevel.param.s.missing
vendor.kevel.param.s.empty
docs

Validate a payload

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

Try this failing payload in the playground. Kevel impression pixel missing the shim.

https://e-1234.adzerk.net/i.gif?s=ujZhktar1g1emAP

cargo install pixellint · npm install pixellint