pixellint

vendor/x · ecosystem evidence

X website tag image pixels need txn_id

The website tag loads uwt.js and fires adsct. txn_id is the conversion ID. Generated pixels send p_id=Twitter. Purchase fires send tw_sale_amount as a number. X documents twq, not this query.

tw_sale_amount is 10, not $10

Generated purchase pixels send a number. A currency symbol fails the format check.

Rule: vendor.x.param.tw_sale_amount.invalid

What this pack matches

Hosts
analytics.twitter.com, analytics.x.com, t.co
Paths
…/adsct…
Vendor docs
business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html

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
txn_id required It is the conversion or pixel ID the website tag fires. X documents the JavaScript tag rather than this query, so the rule is ecosystem evidence. Fix: Copy the conversion ID from the generated website tag so `txn_id` carries it. vendor.x.param.txn_id.missing
vendor.x.param.txn_id.empty
docs
p_id recommended Generated image pixels send `p_id=Twitter`. Fix: Keep `p_id=Twitter` from the generated website tag. vendor.x.param.p_id.missing
vendor.x.param.p_id.empty
vendor.x.param.p_id.invalid
docs
tw_sale_amount optional Purchase fires send the revenue amount. Generated pixels use a number with no currency symbol. Fix: Set tw_sale_amount to a number such as 10 or 10.50, not $10. vendor.x.param.tw_sale_amount.empty
vendor.x.param.tw_sale_amount.invalid
docs
tw_order_quantity optional Purchase fires send the item count as an integer. Fix: Set tw_order_quantity to the item count, digits only. vendor.x.param.tw_order_quantity.empty
vendor.x.param.tw_order_quantity.invalid
docs
twclid optional It is the X click identifier from the landing URL. X documents twclid as a matching identifier on the pixel and the conversion API. Page fires without an ad click omit it. Fix: Set twclid to the click ID from the landing URL query, or drop the pair when there was no click. vendor.x.param.twclid.empty docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/x

Try this failing payload in the playground. X website tag with a currency symbol on tw_sale_amount.

https://analytics.twitter.com/i/adsct?txn_id=tw-abc12-def34&p_id=Twitter&tw_sale_amount=$10

cargo install pixellint · npm install pixellint