UET, the Microsoft Channel app and the Conversions API
Universal Event Tracking (UET) is Microsoft Advertising's tag: a script (bat.js) that loads on your pages and reports visits and conversion events. Conversion goals, remarketing and automated bidding all depend on it.
Microsoft has its own Shopify app, Microsoft Channel (free to install, by Microsoft, checked October 2026). It syncs your catalog to Microsoft Merchant Center for free listings and Performance Max campaigns, and Microsoft's help pages say it creates a UET tag and adds it to every page of your store. For catalog and a first tag, that's a solid start.
The UET Conversions API is the server-side route: your server sends events straight to Microsoft, authenticated with a token generated on the UET tag. The Microsoft Channel listing doesn't mention it. It runs next to the tag, not instead of it.
Where Microsoft Ads conversions get lost
- Ad blockers and privacy browsers that block bat.js. When the tag doesn't load, the purchase never reaches Microsoft.
- Buyers who click an ad at work or on one device and buy later on another, so the click and the sale end up in different browsers.
- Cookie banners: depending on your consent setup, the tag may wait for consent or run in a limited way.
- A purchase goal that isn't attached to the tag your store actually loads, for example after switching apps or accounts.
What Microsoft uses to match a purchase
- msclkid: the Microsoft click id added to your landing URL when auto-tagging is on. Saved at landing, it ties the sale to the click.
- The visitor id the UET tag stores in the _uetvid cookie, when the tag runs.
- Email and phone, hashed with SHA-256. Settl normalizes the email the way Microsoft asks (lowercase, no dots or +tags before the @) before hashing.
- IP address and user agent from the visit.
- Order value, currency, the products and the transaction id.
Counting each event once
When the same event arrives from the tag and from the server, they need the same event id so Microsoft can treat them as one. Settl sends product views, add-to-carts and searches from the UET tag with an event_id, and the server copy of each event carries that same id.
The purchase itself goes to Microsoft from the server, once per paid order. If another app or a hand-made custom pixel also sends a purchase to the same UET tag, you can end up counting a sale twice: keep one purchase source per tag, and check the totals against your Shopify orders.
How to check it in Microsoft Advertising
In Microsoft Advertising, go to Tools → Conversion tracking → UET tag and check the tag status, then look at your purchase conversion goal. Place a test order through an ad link (or a URL with a test msclkid) and confirm the conversion shows up with the right value.
Then compare a week of Microsoft Ads conversions with the Shopify orders that came from Microsoft clicks. If the gap stays large, the click id is often missing from the landing URL: check that auto-tagging is on. Settl's hourly tracking health check flags ad visits that arrive with an empty or template click id, per platform.
Common mistakes
- Auto-tagging switched off, so there's no msclkid to save.
- A purchase goal of the wrong type, or on a different UET tag than the one your store loads.
- Sending purchases without value and currency, so Microsoft can't bid on revenue.
- Judging Microsoft Ads on tag numbers alone when the tag was blocked for part of your buyers.