pixellint

vendor/google-ads-conversion · vendor documented

Google Ads conversion pixels carry the ID in the path

The conversion ID is a path segment, not a query parameter. Without it the pack cannot tell which conversion fired. label is expected: without it the hit lands on the account rather than a conversion action.

What this pack matches

Hosts
googleadservices.com, googleads.g.doubleclick.net
Paths
…/pagead/conversion…, …/pagead/viewthroughconversion…
Vendor docs
support.google.com/tagassistant/answer/2947038

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
conversion_id required It is the numeric conversion ID, unique per Google Ads account, and it travels in the path rather than the query. Fix: Copy the conversion ID from the conversion action's tag setup. vendor.google-ads-conversion.param.conversion_id.missing
vendor.google-ads-conversion.param.conversion_id.empty
vendor.google-ads-conversion.param.conversion_id.invalid
docs
label recommended It identifies which conversion action fired. Without it, the hit lands on the account rather than on a specific action. Fix: Add the conversion label from the conversion action's tag setup. vendor.google-ads-conversion.param.label.missing
vendor.google-ads-conversion.param.label.empty
docs
value optional It is the conversion value. docs
guid optional The generated image tag sends `guid=ON`. vendor.google-ads-conversion.param.guid.empty
vendor.google-ads-conversion.param.guid.invalid
docs
script optional The image fallback sends `script=0` to say no JavaScript ran. vendor.google-ads-conversion.param.script.empty
vendor.google-ads-conversion.param.script.invalid
docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/google-ads-conversion

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

cargo install pixellint · npm install pixellint