pixellint

vendor/google-tag-manager · vendor documented

GTM and gtag.js loaders need a container ID

The request is the loader, not the hit. googletagmanager.com/gtm.js, gtag/js, and the ns.html noscript iframe all carry id. Without it the container never loads.

What this pack matches

Hosts
googletagmanager.com
Paths
/gtm.js, /gtag/js, /ns.html
Vendor docs
support.google.com/tagmanager/answer/14847097

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
id required Container and tag IDs carry a product prefix: GTM for a container, G for Analytics, AW for Google Ads, DC for Floodlight. The prefix set is observed rather than published, so an unrecognized prefix is only a warning. Fix: Use the container or tag ID from the install snippet. vendor.google-tag-manager.param.id.missing
vendor.google-tag-manager.param.id.empty
vendor.google-tag-manager.param.id.invalid
docs
l optional It names a custom data layer variable and is omitted when the default `dataLayer` is used. vendor.google-tag-manager.param.l.empty docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/google-tag-manager

Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.

cargo install pixellint · npm install pixellint