MNTN product images retain optional mapping values.
Mapped product price and image URL fields receive advisory checks. Empty and literal null values from the published sample remain valid. Product names and SKUs stay open.
Non-revenue conversions can omit order identity and amount. Page title, analytics IDs and custom metadata remain accepted. DOM mappings and cache-buster uniqueness require surrounding context.
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 |
|---|---|---|---|---|
shaid |
required | The documented advertiser identity is required. It is usually numeric, so no numeric-only grammar is imposed. | vendor.mntn-image.param.shaid.missingvendor.mntn-image.param.shaid.empty |
docs |
cb |
required | A nonempty cache-buster is required. The documentation permits arbitrary unique values. | vendor.mntn-image.param.cb.missingvendor.mntn-image.param.cb.empty |
docs |
conv |
optional | The published conversion example uses 1. Zero is accepted as a page-view flag. Value diagnostic severity: warning. | vendor.mntn-image.param.conv.emptyvendor.mntn-image.param.conv.invalid |
docs |
plh |
optional | Optional absolute page URL, including iframe context. | vendor.mntn-image.param.plh.emptyvendor.mntn-image.param.plh.invalid |
docs |
shoid |
optional | Order or acquisition identity. The manual guide permits unmapped non-revenue conversions. | docs | |
shoamt |
optional | A populated acquisition amount is numeric. The manual guide permits omission for non-revenue conversions. | vendor.mntn-image.param.shoamt.emptyvendor.mntn-image.param.shoamt.invalid |
docs |
shadditional |
optional | The image guide describes comma-separated key=value pairs. Custom names and values remain open. Value diagnostic severity: warning. | vendor.mntn-image.param.shadditional.emptyvendor.mntn-image.param.shadditional.invalid |
docs |
shpn |
optional | Optional mapped product name. The sample can stringify null. Presence diagnostic severity: warning. Evidence: vendor template. | docs | |
shpp |
optional | Optional mapped product price or the sample null sentinel. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.mntn-image.param.shpp.emptyvendor.mntn-image.param.shpp.invalid |
docs |
shps |
optional | Mapped SKU remains opaque caller data. Presence diagnostic severity: warning. Evidence: vendor template. | docs | |
shpi |
optional | Optional mapped product image URL; the sample can stringify null. Applies when {"kind":"not","condition":{"kind":"value_in","param":"shpi","values":["null"]}}. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.mntn-image.param.shpi.emptyvendor.mntn-image.param.shpi.invalid |
docs |
shpt |
optional | Optional page title from the published analytics snippet. Presence diagnostic severity: warning. Evidence: vendor template. | docs | |
ga_tracking_id |
optional | Optional analytics identities may be a semicolon-separated list. Presence diagnostic severity: warning. Evidence: vendor template. | docs | |
ga_client_id |
optional | Optional analytics client identity remains opaque. Presence diagnostic severity: warning. Evidence: vendor template. | docs | |
method |
optional | Image tracking uses GET. Complete HTTP capture contract. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.mntn-image.http.method.emptyvendor.mntn-image.http.method.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/mntn-image
Try this failing payload in the playground. A MNTN product image with a malformed price.
https://px.mountain.com/sti?shaid=123&cb=opaque&shpp=money
cargo install pixellint
·
npm install pixellint