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
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.missingvendor.microsoft-uet.param.ti.emptyvendor.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.missingvendor.microsoft-uet.param.ver.emptyvendor.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.missingvendor.microsoft-uet.param.evt.emptyvendor.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.missingvendor.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.missingvendor.microsoft-uet.param.rn.emptyvendor.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.missingvendor.microsoft-uet.param.p.emptyvendor.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.emptyvendor.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.missingvendor.microsoft-uet.param.msclkid.emptyvendor.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.emptyvendor.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.emptyvendor.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.emptyvendor.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.emptyvendor.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.emptyvendor.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.emptyvendor.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.emptyvendor.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.emptyvendor.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.emptyvendor.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