Tutorial

UET & Conversion Tracking: A Complete Setup

Install UET, define high-signal goals, make the setup consent-friendly, and validate your data so bidding can actually learn.

Why UET matters

UET (Universal Event Tracking) is the data backbone for Microsoft Advertising. Clean UET signals unlock:

  • Accurate conversion reporting and bidding
  • Audience building for remarketing/in-market layers
  • Diagnostics to find leaks and scale efficiently
Performance dashboard with charts

Prepare (what you need)

  • Admin access to Microsoft Advertising
  • Access to your site’s tag manager or codebase
  • Clear KPIs (e.g., qualified lead, purchase, revenue)
  • Test page(s) to validate goal firing end-to-end

Create & install the UET tag

  1. In Microsoft Advertising, go to ToolsUETCreate UET tag.
  2. Name it clearly (e.g., Site-wide UET – Brand.com).
  3. Install site-wide via your tag manager or just before </head> on every page.
  4. Publish and confirm the base page view signal is received.
Keep the site-wide UET base tag always on (subject to consent). Specific conversions are configured as goals (next section).
// Pseudo-example: if installing manually, paste your official UET snippet here.
// Use Tag Manager where possible for reliability and versioning.

Define conversion goals

Create goals that map to business value. Mark only high-signal outcomes as Primary so bidding chases what matters.

Lead gen

  • Primary: Qualified form submit / booked demo
  • Secondary: Newsletter, ebook, time-on-site

Ecommerce

  • Primary: Purchase (with revenue)
  • Secondary: Add to cart, view content

Avoid double-counting: 1 user action → 1 conversion. If there are multiple steps, keep lower-signal steps as secondary.

// Option A: Tag Manager
// Trigger: Form submit → Event: lead_submit (goal: Qualified lead)

// Option B: Code hook after successful submit
if (window.msftUet && window.msftUet.reportConversion) {{
  window.msftUet.reportConversion({{ goal: 'lead_submit', value: 1 }});
}}

Enhanced & offline conversions

Improve attribution and bidding with richer data.

  • Enhanced conversions: Pass hashed user identifiers (e.g., email) where supported and consented to raise match rates.
  • Revenue tracking: For ecommerce, send order value/currency on purchase.
  • Offline conversions: Import CRM outcomes (qualified opportunity/won) to train bidding on revenue-quality leads.
// Example purchase event (pseudo)
window.msftUet?.reportConversion?.({{
  goal: 'purchase',
  value: 129.99,
  currency: 'USD',
  order_id: 'ORD-12345',
  // enhanced: hashed identifiers (ensure hashing + consent)
  user_data: {{ email_sha256: 'abc123...' }}
}});

Server-side (optional)

When client-side signals are limited (ITP, ad blockers, stricter CMP), mirror events from your backend.

  • Send deduplicated events (use consistent order/lead IDs).
  • Honor consent and regional policies; do not send events for users who opted out.
  • Keep payloads minimal and consistent with client-side schema.

QA & validation

  1. Use a tag assistant to confirm the base UET fires on every page.
  2. Trigger each goal manually on a staging page and confirm in Microsoft Ads real-time/diagnostics.
  3. Check that only one conversion fires per action (no duplicates on reload).
  4. For purchases, validate totals vs. your ecommerce backend (spot-check order IDs).
  5. Verify primary vs. secondary goals and attribution windows match your KPI.

Troubleshooting

No conversions recorded

  • UET base not present on some pages
  • Consent blocking goals (test with consent granted)
  • Goal misconfigured (wrong event name/URL rule)
  • Tag published in GTM but not deployed to production

Too many conversions

  • Double tag firing (GTM + hard-coded)
  • Event bound to both click and submit
  • Thank-you page firing on refresh without dedupe

Implementation checklist

  • ✅ UET base tag installed site-wide (with consent controls)
  • ✅ Primary goals defined for high-signal outcomes
  • ✅ Revenue passed for ecommerce purchases
  • ✅ Enhanced/Offline conversions configured (if applicable)
  • ✅ QA done: no duplicates, correct attribution, sane volumes
  • ✅ Monitoring: set alerts for sudden drops/spikes

Next steps

With UET stable, move on to building product intent with Shopping Feeds, or start scaling with Bidding Strategies & Automation.