Server-side tracking for Microsoft Ads
Your UET tag only reports the conversions the browser survives to report. AxiTrace sends purchases, leads and sign-ups server-side through the Microsoft Advertising UET Conversions API, matched on the Microsoft Click ID and on hashed email and phone, so Microsoft bidding optimizes on the sales you actually made.
Microsoft Ads is one of 9 destinations: the AxiTrace Conversion API sends each order to Microsoft Ads, Meta, Google Ads and 6 more from one install.
MSCLKID attribution
AxiTrace captures the msclkid click identifier from the ad-click landing URL at
first touch and keeps it on the visitor, so a conversion days later still points back at the click.
Counted once, not twice
The browser UET bridge and the server event share one event ID and one event name, which is what Microsoft deduplicates on. Keep your UET tag for audiences and remarketing.
All channels, one feed
The same events also forward to Facebook CAPI, TikTok, Google Ads, GA4, Reddit CAPI, OpenAI Ads, Pinterest CAPI and LinkedIn CAPI.
Spend and campaigns imported
Sign in with Microsoft and AxiTrace imports your campaigns and daily performance - impressions, clicks and spend - read-only, so Microsoft cost sits next to the visits and orders you already track.
How to set it up
- 1 Create a free AxiTrace account and workspace
- 2 In Microsoft Advertising open your UET tag, continue to Set up tagging, select Use Conversions API and copy the token (one token per UET tag)
- 3 Paste the UET tag ID, the token and your customer ID into the Microsoft Ads connection in AxiTrace, and tick the events you want forwarded
- 4 Create one event goal in Microsoft Advertising per conversion, using the Action strings below - then enable the connection
- 5 Click Sign in with Microsoft in the connection to import spend and campaigns, read-only. If your Entra tenant blocks user consent, a tenant admin approves AxiTrace first
-
6
Set the Final URL Suffix in Microsoft Advertising to
ms_campaign_id={CampaignId}&ms_adgroup_id={AdGroupId}&ms_ad_id={AdId}and keep MSCLKID auto-tagging on, so AxiTrace ties visits and orders to the right campaign
Full walkthrough: Microsoft Ads integration guide →
The event goal Action strings
AxiTrace sends ten fixed event names. Create an event goal for each conversion you care about, set the operator to Equals and type the Action exactly as shown. Microsoft factors capitalization and punctuation into the match, so the string has to be identical character for character.
- purchase
- add_to_cart
- begin_checkout
- add_payment_info
- generate_lead
- sign_up
- start_trial
- subscribe
- search
- view_item
Turn on Enhanced conversions on each goal so Microsoft can use the hashed email and phone AxiTrace sends; the setting is per goal, not per account. Leave Category and Label unset, because AxiTrace does not send them and a goal that also matches on those values would never fire.
Frequently asked questions
How does AxiTrace send events to Microsoft Advertising server-side?
AxiTrace forwards your conversions to the Microsoft Advertising UET Conversions API - a server-to-server connection to your UET tag - instead of relying on the browser alone. Events sent this way arrive even when ad blockers, Safari ITP or iOS privacy stop the browser UET tag from firing, so Microsoft bidding sees the conversions your reports were missing.
What do I need to connect Microsoft Ads?
Conversions need your numeric UET tag ID and a Conversions API token, both taken from the UET section of your Microsoft Advertising account: open the tag, go to Set up tagging, choose Use Conversions API and copy the token. Paste the two values into the Microsoft Ads connection in AxiTrace. There is one token per UET tag, and no Microsoft developer app or approval wait is involved for conversions. Spend and campaign import is separate: it uses a Microsoft sign-in from the same connection.
What does the Microsoft sign-in read, and can it change my campaigns?
The sign-in asks for read-only access to your Microsoft Advertising reporting data. AxiTrace reads your accounts, campaigns, ad groups, ads and daily performance - impressions, clicks, spend and conversions as reported by Microsoft - and never edits campaigns, ad groups, ads or budgets. It also never creates or uploads conversion goals. One Microsoft Advertising account is connected per workspace, and signing in with a different account replaces it.
How fast does Microsoft Ads spend appear in AxiTrace?
Microsoft reporting data can be up to about 3 hours behind. Every sync re-fetches the last 7 days, so a recent day of spend and conversions can still change and settles within a week. Judge a new connection after the first full sync rather than minute by minute.
Do I have to create conversion goals in Microsoft Advertising?
Yes, and AxiTrace does not create them for you. In Microsoft Advertising you create one event goal per conversion you want to measure and type the Action exactly as AxiTrace sends it, with the operator set to Equals: purchase, add_to_cart, begin_checkout, add_payment_info, generate_lead, sign_up, start_trial, subscribe, search, view_item. Microsoft factors in capitalization and punctuation when it matches a goal, so a goal named "Purchase" will never match the event name "purchase". Leave Category and Label unset on the goal, because AxiTrace deliberately does not send them.
Which events does AxiTrace send to Microsoft Ads?
Purchases, add-to-carts, checkout starts, payment-info steps, leads, sign-ups, trials, subscriptions, searches and product views - ten fixed event names, one per goal you create. Page views are not forwarded to the Conversions API. Order value, currency and transaction ID travel with purchases. Microsoft accepts events from the last seven days, so AxiTrace drops anything older instead of sending a conversion that would be rejected.
Will conversions be counted twice if I keep the browser UET tag?
No. Keep your UET tag exactly where it is. The AxiTrace browser bridge pushes the same conversion to the UET tag with the same event name and the same event ID that the server event carries, which is what Microsoft uses to deduplicate the two. You get the browser signal when the browser is available and the server signal when it is not, counted once either way.
How does Microsoft match a server event back to an ad click?
Primarily on the Microsoft Click ID (MSCLKID), which AxiTrace captures from the ad-click landing URL at first touch and attaches to every later conversion for that visitor. Auto-tagging of MSCLKID is on by default in Microsoft Advertising account settings. AxiTrace also sends SHA-256 hashed email and phone number, which Microsoft uses through Enhanced conversions - that has to be turned on per goal, there is no account-level switch. AxiTrace also runs Microsoft ID Sync from the browser, which lets Microsoft line up its own anonymous identifier with the one attached to your server events.
Can I track Microsoft Ads alongside Facebook, TikTok, Google Ads, GA4, Reddit, OpenAI Ads, Pinterest and LinkedIn?
Yes. AxiTrace forwards the same server-side events to all nine ad destinations - Facebook CAPI, TikTok Events API, Google Ads, GA4, Reddit CAPI, OpenAI Ads, Pinterest Conversions API, LinkedIn Conversions API and the Microsoft Ads UET Conversions API - from one integration. The free tier covers 10,000 visits per month across all of them.
Ready to track conversions
accurately?
Join e-commerce teams who stopped guessing and started measuring. Free plan, no credit card, setup in minutes.
10,000 free visits/month · All 9 ad platforms · Full dashboard