Spotify image pixels identify the pixel and action.
Image pixels on img.byspotify.com carry a pixel key and an action. This pack checks missing identity, malformed populated purchase values and ISO currency membership.
Ordinary image pixels may omit uid and alias. The separate server-side forwarding requirements need capture context. Lead values and optional blank fields remain accepted.
Lead values keep their separate representations.
The published lead examples permit blank values and show an opaque signup value. Numeric purchase checks apply only to purchase actions.
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 |
|---|---|---|---|---|
key |
required | The image URL identifies its advertiser pixel with this nonempty key. Numeric and alphanumeric keys remain accepted. | vendor.spotify-image.param.key.missingvendor.spotify-image.param.key.empty |
docs |
a |
required | The published image examples use init, lead and purchase. Unknown actions are advisory because the backend action set is not published. Value diagnostic severity: warning. | vendor.spotify-image.param.a.missingvendor.spotify-image.param.a.emptyvendor.spotify-image.param.a.invalid |
docs |
value |
optional | A populated purchase value must be numeric. Lead values retain their separate documented representations. Applies when {"kind":"value_in","param":"a","values":["purchase"]}. | vendor.spotify-image.param.value.emptyvendor.spotify-image.param.value.invalid |
docs |
currency |
optional | The image template names an ISO currency. Membership is advisory; account eligibility is external. Value diagnostic severity: warning. | vendor.spotify-image.param.currency.emptyvendor.spotify-image.param.currency.invalid |
docs |
uid |
optional | Optional on ordinary image pixels. The ssGTM guide describes a hashed session identifier; no digest algorithm is specified. | vendor.spotify-image.param.uid.empty |
docs |
alias |
optional | Optional on ordinary image pixels. Internal identity semantics and cross-domain matching are external. | vendor.spotify-image.param.alias.empty |
docs |
type |
optional | Lead classification is optional and open. | vendor.spotify-image.param.type.empty |
docs |
category |
optional | Lead category is optional and open. | vendor.spotify-image.param.category.empty |
docs |
order_id |
optional | Optional advertiser order identifier. Repeated purchase detection requires surrounding events. | vendor.spotify-image.param.order_id.empty |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/spotify-image
Try this failing payload in the playground. A Spotify image pixel missing its key.
https://img.byspotify.com/?a=init
cargo install pixellint
·
npm install pixellint