- Delivery
- Microsoft Advertising offline conversions upload (ApplyOfflineConversions)
- Matching
- The msclkid click ID captured on the landing page
- Goals
- Offline conversion goals only. SignalBridge reads your active goals and you map events to them
- Values sent
- Conversion name, time, value and currency
- Connect with
- Microsoft sign-in, or Google sign-in for accounts that use it, then choose the ad account
- Consent
- Conversions are held back when marketing consent is denied or required and not granted
- Time limits
- Conversions older than about 89 days are not uploaded, and the click must precede the conversion
- Ad spend
- Synced through the Reporting API on the Pro plan and above
How it works
Microsoft tags the click
With auto-tagging on, Microsoft adds msclkid to the final URL of every ad click. The SignalBridge script reads it on arrival and stores it, with the time of the click, for that visitor.
The conversion is captured
The script or the Shopify app records the purchase or lead. SignalBridge keeps the stored msclkid with it, so a conversion in a later session is still attributed to the click that started the journey.
The event is checked
Consent is read first. The event must then be a type Microsoft supports (see the table), have a plausible msclkid, and have a timestamp that is not in the future or too old. The click time must not be later than the conversion time.
The goal is chosen
SignalBridge looks up the offline conversion goal you mapped to the event and uses that goal's name as the conversion name. An event with no mapped goal is not sent.
The conversion is uploaded
SignalBridge calls the offline conversions upload with the msclkid, goal name, conversion time, value and currency. Temporary failures are retried from a durable queue. If Microsoft says the authorisation has expired, the dashboard asks you to reconnect.
Which events become Microsoft conversions
Microsoft conversion goals use a fixed set of categories. SignalBridge events are translated into them. Page views and other browsing events are never uploaded.
| SignalBridge event | Microsoft category | Notes |
|---|---|---|
| Purchase | Purchase | Sent with value and currency. |
| AddToCart | Add to cart | Optional. Most accounts only use purchases and leads. |
| InitiateCheckout, AddPaymentInfo | Begin checkout | Both are reported as a checkout start. |
| Lead, SubmitApplication | Submit lead form | Lead and application forms are both reported as a lead form submission. |
| SignUp, CompleteRegistration, StartTrial | Sign up | A trial start is reported as a sign-up. |
| Subscribe | Subscribe | Newsletter and subscription sign-ups. |
| Contact | Contact | Contact form and similar conversions. |
| Schedule, ScheduleCall, BookConsultation | Book appointment | Bookings and consultations are reported as appointments. |
| RequestQuote | Request quote | Quote request forms. |
| PageView, ViewContent, Search, AddToWishlist and other browsing events | Not sent | They do not map to a Microsoft conversion category. |
What a conversion must satisfy
These checks run before every upload. An event that fails one is not sent, and the reason is visible in the event details.
| Check | What it means |
|---|---|
| msclkid present | A click ID between 10 and 512 characters with no spaces. Placeholders such as null or undefined are rejected. |
| Conversion time is valid | Not more than five minutes in the future, and not older than about 89 days. |
| Click before conversion | The recorded click time must not be later than the conversion time. |
| Goal mapped | The event is mapped to an active offline conversion goal in this account. |
| Consent | Marketing consent was not denied, and was granted where your site requires it. |
Requirements
- A Microsoft Advertising account with auto-tagging enabled, so msclkid is added to ad URLs.
- Access with the Microsoft account that manages the ad account, or the Google account if your Microsoft Advertising sign-in is federated to Google.
- At least one active offline conversion goal. Create it and give it time to activate before connecting.
- The SignalBridge script on your site, or the SignalBridge Shopify app.
Set up Microsoft Ads (Bing)
Turn on auto-tagging
In Microsoft Advertising open the account settings and confirm that auto-tagging is on. Without it there is no msclkid to capture.
Create offline conversion goals
In Microsoft Advertising go to Tools, then Conversion tracking, then Conversion goals, and create a goal. Choose the offline conversions type, name it clearly, and set the counting, conversion window and revenue options. Microsoft asks you to wait about two hours after creating a goal before uploading conversions to it.
Connect the account in SignalBridge
In your pixel's settings choose Connect Microsoft Ads. If your account uses Google sign-in, choose Sign in with Google instead. After you approve access, pick the ad account.
Map events to goals
Under Offline Conversion Goals, choose a SignalBridge event and the active goal it should feed, and repeat for each event. If the list is empty, create and activate a goal in Microsoft Advertising and reload the page. Changing the account clears all mappings.
Install SignalBridge on the site
Add the snippet to your site header or install the Shopify app, so the msclkid is stored when visitors land and conversions are captured.
Verify it works
Check the event in SignalBridge
Click one of your own Microsoft ads, convert in the same browser, and open the event stream. The event should show an msclkid and Microsoft Ads marked as delivered.
Wait, then check the goal in Microsoft Advertising
Uploaded conversions can take several hours to appear in reporting. Look at the goal's conversion count and its status in the Conversion goals view.
Compare against the UET tag
If you also run the UET tag, expect the server-side count to be equal or higher. Differences come from blocked tags, expired cookies and attribution settings.
Troubleshooting
The goal list is empty when mapping
SignalBridge only lists active offline conversion goals. Create one in Microsoft Advertising, wait for it to activate, then reload the page.
No msclkid on the event
Confirm auto-tagging is on, that the ad's final URL does not drop query parameters, and that no redirect strips msclkid before the SignalBridge script runs.
Uploads are rejected right after creating a goal
Microsoft needs time after you create an offline goal. Wait a couple of hours and send another test conversion.
Microsoft says the authorisation has expired
Reconnect Microsoft Ads in SignalBridge. If your account uses Google sign-in, use the Google option.
Conversions appear in Microsoft Advertising on a different day than expected
Microsoft credits a conversion by its own attribution and reporting rules, and reporting lags by hours. Compare totals over several days.
A conversion is skipped because the click is newer than the conversion
The click time must be earlier than the conversion time. Check that the visitor's device clock and the event timestamp are not skewed, and that the conversion is not backdated.
What to know before you rely on it
Where this integration stops, so the numbers you see are read correctly.
- Only visitors who arrived from a Microsoft ad click with an msclkid can be reported. Other channels are not sent to Microsoft.
- Only offline conversion goals are used. Existing UET event goals do not receive these uploads.
- SignalBridge does not use Microsoft's separate real-time Conversions API for UET events. It uses the click-ID based offline upload.
- Conversions older than about 89 days, or inside the five-minute future tolerance, are not uploaded.
- Visitors who have not agreed to marketing tracking are not sent to Microsoft.
Questions about this integration
What is the msclkid?
It is the Microsoft Click ID. When auto-tagging is on, Microsoft adds it to the landing page URL of each ad click. It is the key that lets a later conversion be matched to the exact click, campaign and keyword.
Do I still need the UET tag?
Yes, keep it if you use it for remarketing, audiences and on-site conversion goals. SignalBridge adds server-side uploads for the conversions the tag misses. Avoid counting the same purchase in two primary goals.
Is this the Microsoft Conversions API?
No. Microsoft offers a newer Conversions API that sends UET-style events with deduplication. SignalBridge uses the offline conversions upload, which matches conversions to clicks by msclkid.
Do I need a Microsoft developer account?
No. You sign in with the account that manages your ad account and SignalBridge handles the authorisation.
What if my Microsoft Advertising account uses Google sign-in?
SignalBridge detects this and offers Sign in with Google. Use it, because the Microsoft sign-in will not find the account.
How long do conversions take to show?
Several hours is normal. A brand-new offline goal also needs time before Microsoft accepts uploads to it.
Does this work for Yahoo and DuckDuckGo traffic?
Yes, to the extent that Microsoft Advertising serves those clicks with an msclkid. Anything Microsoft tags is captured the same way as a Bing click.
Can SignalBridge sync Microsoft Advertising spend?
On the Pro plan and above, SignalBridge reads daily spend through the Reporting API, so cost per acquisition and return on ad spend use actual spend.