RTB House tags check the public GTM producer.
Warning-only completeness for the commit-pinned GTM iframe /tags producer on its three published region choices. Repeated IDs and custom tag content stay opaque. Auction impression and win callbacks are excluded.
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 |
|---|---|---|---|---|
type |
recommended | Pinned GTM iframe transport marker. Presence diagnostic severity: warning. | vendor.rtbhouse-gtm-tags.param.type.missingvendor.rtbhouse-gtm-tags.param.type.emptyvendor.rtbhouse-gtm-tags.param.type.invalid |
docs |
id |
recommended | Repeated tag strings are opaque. Custom values and reused local IDs may contain arbitrary characters or create empty repeated values; no field grammar or multiplicity bound is inferred. Presence diagnostic severity: warning. | vendor.rtbhouse-gtm-tags.param.id.missing |
docs |
su |
recommended | The GTM source emits the encoded page URL or an empty string. Presence diagnostic severity: warning. | vendor.rtbhouse-gtm-tags.param.su.missing |
docs |
sr |
recommended | The GTM source emits the encoded referrer or an empty string. Presence diagnostic severity: warning. | vendor.rtbhouse-gtm-tags.param.sr.missing |
docs |
ts |
recommended | The source appends getTimestampMillis, but unescaped custom tag values can create additional arbitrary or empty ts occurrences. Only presence is advised; no value grammar or duplicate-selection policy is inferred. Presence diagnostic severity: warning. | vendor.rtbhouse-gtm-tags.param.ts.missing |
docs |
ncm |
optional | Optional value emitted by the other-only tag branch; not a global event discriminator. Presence diagnostic severity: warning. | docs | |
cd |
optional | Optional order-status deduplication setting. Custom tag values remain opaque and no cross-tag grammar is imposed. Presence diagnostic severity: warning. | docs | |
method |
required | The GTM template injects a hidden iframe whose src produces a GET. Complete HTTP capture contract. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.rtbhouse-gtm-tags.http.method.missingvendor.rtbhouse-gtm-tags.http.method.emptyvendor.rtbhouse-gtm-tags.http.method.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/rtbhouse-gtm-tags
Try this failing payload in the playground. An example with a validation finding.
https://ams.creativecdn.com/tags?type=iframe&su=https%3A%2F%2Fpublisher.example%2Farticle&sr=https%3A%2F%2Freferrer.example%2F&ts=1792886400000
cargo install pixellint
·
npm install pixellint