pixellint

vendor/microsoft-uet · vendor documented

UET requests need ti, ver, evt, mid, and a 6-digit rn

ti is the numeric tag ID. ver is the tag version. evt is pageLoad or custom. mid is the per-page event id. rn is a 6-digit cache buster. p and msclkid are recommended. kl is the page title and tw is the page keywords. pagetype is a documented page type such as Purchase, and prodid is a comma-separated product list. Travel tags can send flight_destid, flight_originid, flight_pagetype, flight_startdate, flight_enddate, and a numeric flight_totalvalue. ec, ea, el, and ev belong on custom events, not pageLoad. Microsoft documents this table.

What this pack matches

Hosts
bat.bing.com, bat.bing.net
Paths
/action, /bat.js, /p/action
Vendor docs
learn.microsoft.com/en-us/advertising/msa-help/hlp_ba_conc_uet_parameters_table

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
ti required It is the numeric UET tag ID. Microsoft documents ti as required on every event. Fix: Copy the UET tag ID from Microsoft Advertising into the tag snippet. vendor.microsoft-uet.param.ti.missing
vendor.microsoft-uet.param.ti.empty
vendor.microsoft-uet.param.ti.invalid
docs
ver required It is the UET tag version. Microsoft documents ver as required, and 2.3 for a custom implementation. Fix: Send ver as 2.3 on a custom implementation, or the version the generated snippet reports. vendor.microsoft-uet.param.ver.missing
vendor.microsoft-uet.param.ver.empty
vendor.microsoft-uet.param.ver.invalid
docs
evt required It names the event. Microsoft documents evt as required, and only pageLoad or custom. Fix: Send evt=pageLoad on a page view, or evt=custom on a custom event. vendor.microsoft-uet.param.evt.missing
vendor.microsoft-uet.param.evt.empty
vendor.microsoft-uet.param.evt.invalid
docs
mid required It identifies events from a single page. Microsoft documents mid as a unique identifier that must change when the page changes. Fix: Send a fresh mid per page, such as a GUID. vendor.microsoft-uet.param.mid.missing
vendor.microsoft-uet.param.mid.empty
docs
rn required It is a cache buster. Microsoft documents rn as a required random 6-digit number. Fix: Send a random 6-digit rn on every fire. vendor.microsoft-uet.param.rn.missing
vendor.microsoft-uet.param.rn.empty
vendor.microsoft-uet.param.rn.invalid
docs
p recommended It is the page URL. Microsoft documents p on pageLoad events, and as mandatory when page URL remarketing lists are used. Fix: Send the absolute page URL in p. vendor.microsoft-uet.param.p.missing
vendor.microsoft-uet.param.p.empty
vendor.microsoft-uet.param.p.invalid
docs
r optional It is the referrer URL. Microsoft documents r on pageLoad events. Fix: Send the absolute referrer URL in r, or omit it. vendor.microsoft-uet.param.r.empty
vendor.microsoft-uet.param.r.invalid
docs
uid optional It is a customer-defined logged-in user ID that stays the same across browsers and devices. vendor.microsoft-uet.param.uid.empty docs
vid optional It is a customer-defined anonymous user ID. vendor.microsoft-uet.param.vid.empty docs
msclkid recommended It is the Microsoft Click ID. Microsoft documents a 32-hex GUID plus -0 or -1, an optional N when cookies are blocked, or N alone when no click exists. Fix: Forward the _uetmsclkid cookie as {guid}-0 or {guid}-1, or send N when there is no click. vendor.microsoft-uet.param.msclkid.missing
vendor.microsoft-uet.param.msclkid.empty
vendor.microsoft-uet.param.msclkid.invalid
docs
kl optional It is the page title. Microsoft documents kl on pageLoad events. Fix: Send the page title in kl, or drop the empty pair. vendor.microsoft-uet.param.kl.empty docs
tw optional It is the SEO meta keywords for the current page. Microsoft documents tw on pageLoad events. Fix: Send the page keywords in tw, or drop the empty pair. vendor.microsoft-uet.param.tw.empty docs
pagetype optional It is the page type on a custom event. Microsoft documents Cart, Category, Home, Other, Product, Purchase, and Search results. Fix: Send a documented pagetype such as Purchase or Product. vendor.microsoft-uet.param.pagetype.empty
vendor.microsoft-uet.param.pagetype.invalid
docs
prodid optional It is a comma-separated list of product IDs. Microsoft documents prodid as matching the ID or item_group_id in the MMC product feed. Fix: Send one or more product IDs, comma-separated, such as Prod123456. vendor.microsoft-uet.param.prodid.empty
vendor.microsoft-uet.param.prodid.invalid
docs
search_term optional It is the search query that led to the search results page. Microsoft documents search_term on custom events. Fix: Send the search query in search_term, or drop the empty pair. vendor.microsoft-uet.param.search_term.empty docs
ecomm_category optional It is the category ID on a category browse page. Microsoft documents ecomm_category on custom events. Fix: Send the category ID in ecomm_category, or drop the empty pair. vendor.microsoft-uet.param.ecomm_category.empty docs
transaction_id optional It is a unique transaction ID. Microsoft documents transaction_id on custom events. Fix: Send a unique transaction ID, or drop the empty pair. vendor.microsoft-uet.param.transaction_id.empty docs
items optional It is the product array on a custom event. Microsoft documents `items` as a JSON array of objects with `id`, `quantity`, and `price`. Fix: Send `items` as a JSON array, such as `[{"id":"Prod123456","quantity":2,"price":25.1}]`. vendor.microsoft-uet.param.items.empty
vendor.microsoft-uet.param.items.invalid
docs
ecomm_pagetype optional It is the ecommerce page type. Microsoft documents home, searchresults, category, product, cart, purchase, and other. Fix: Send a documented ecomm_pagetype such as purchase or product. vendor.microsoft-uet.param.ecomm_pagetype.empty
vendor.microsoft-uet.param.ecomm_pagetype.invalid
docs
ecomm_prodid optional It is the product ID list for dynamic remarketing. Microsoft documents ecomm_prodid as matching the feed id or item_group_id. Fix: Send one or more product IDs in ecomm_prodid, or drop the empty pair. vendor.microsoft-uet.param.ecomm_prodid.empty docs
ecomm_totalvalue optional It is the cart or purchase total. Microsoft documents ecomm_totalvalue as a number. Fix: Send a number such as 50.20, with no currency symbol. vendor.microsoft-uet.param.ecomm_totalvalue.empty
vendor.microsoft-uet.param.ecomm_totalvalue.invalid
docs
ecomm_query optional It is the search query on a search-results page. Microsoft documents ecomm_query on custom events. Fix: Send the search query in ecomm_query, or drop the empty pair. vendor.microsoft-uet.param.ecomm_query.empty docs
ec optional It is the custom event category. Microsoft documents ec on custom events, and forbids it on pageLoad. vendor.microsoft-uet.param.ec.empty docs
ea optional It is the custom event action. Microsoft documents ea on custom events, and forbids it on pageLoad. vendor.microsoft-uet.param.ea.empty docs
el optional It is the custom event label. Microsoft documents el on custom events, and forbids it on pageLoad. vendor.microsoft-uet.param.el.empty docs
ev optional It is the custom event value. Microsoft documents ev as numeric, on custom events only. Fix: Send a number such as 42, not a currency string. vendor.microsoft-uet.param.ev.empty
vendor.microsoft-uet.param.ev.invalid
docs
flight_destid optional It is the flight destination ID. Microsoft documents flight_destid on the travel parameter table. Fix: Send the destination ID in flight_destid, or drop the empty pair. vendor.microsoft-uet.param.flight_destid.empty docs
flight_originid optional It is the flight origin ID. Microsoft documents flight_originid on the travel parameter table. Fix: Send the origin ID in flight_originid, or drop the empty pair. vendor.microsoft-uet.param.flight_originid.empty docs
flight_pagetype optional It is the flight page type. Microsoft documents flight_pagetype on the travel parameter table. Fix: Send the flight page type in flight_pagetype, or drop the empty pair. vendor.microsoft-uet.param.flight_pagetype.empty docs
flight_startdate optional It is the flight start date. Microsoft documents flight_startdate on the travel parameter table. Fix: Send the start date in flight_startdate, or drop the empty pair. vendor.microsoft-uet.param.flight_startdate.empty docs
flight_enddate optional It is the flight end date. Microsoft documents flight_enddate on the travel parameter table. Fix: Send the end date in flight_enddate, or drop the empty pair. vendor.microsoft-uet.param.flight_enddate.empty docs
flight_totalvalue optional It is the flight total value. Microsoft documents flight_totalvalue on the travel parameter table. Other UET value fields are numbers with no currency symbol. Fix: Send a number such as 249.00, with no currency symbol. vendor.microsoft-uet.param.flight_totalvalue.empty
vendor.microsoft-uet.param.flight_totalvalue.invalid
docs
gv optional It is variable revenue for conversion tracking. Fix: Send a number such as 20.55, with no currency symbol. vendor.microsoft-uet.param.gv.empty
vendor.microsoft-uet.param.gv.invalid
docs
gc optional It is the ISO 4217 currency of gv. Fix: Send the three-letter code, such as USD. vendor.microsoft-uet.param.gc.empty
vendor.microsoft-uet.param.gc.invalid
docs
pageload_forbids_custom_event_fields required A pageLoad event carries a custom-event field. Microsoft documents ec, ea, el, and ev as custom-event parameters that cannot be used with pageLoad. Fix: Drop ec, ea, el, and ev from pageLoad, or set evt=custom. vendor.microsoft-uet.pageload_forbids_custom_event_fields docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/microsoft-uet

Try this failing payload in the playground. UET action missing ti.

https://bat.bing.com/action/0?evt=pageLoad

cargo install pixellint · npm install pixellint