How to Sync Revenue and Offline Conversions in Microsoft Ads
Set up Microsoft Ads offline conversion push from SourceLoop. Create a Conversion Goal in Microsoft Ads, find the Goal Name, and map SourceLoop events to push via msclkid.
On this page
After you’ve connected Microsoft Ads to SourceLoop, the next step is wiring up the offline conversion push. You’ll create a Conversion Goal in Microsoft Ads, find its name, and map SourceLoop events to it.
Before you start
You’ll need:
- Microsoft Ads connected to SourceLoop (the card shows the account name)
- Access to Microsoft Ads for the account you connected (Standard or Admin role)
- A clear idea of which SourceLoop events you want to track in Microsoft Ads (typically: Lead, Demo Booked, Paid Signup)
- Admin or Owner role in SourceLoop
Step 1: Create the Conversion Goal in Microsoft Ads
If you already have a Conversion Goal set up for offline conversions, skip to Step 2.
- Sign in to Microsoft Ads.
- Pick the account you connected to SourceLoop.
- Go to Tools -> Conversion Goals.
- Click Create Conversion Goal.
- Pick the goal type that matches your funnel stage:
- Other — generic, works for most lead-style conversions
- Purchase — one-off ecommerce sales
- Sign-up — account registrations
- Lead — form submissions
- Pick Offline as the Conversion source.
- Name it something specific (e.g., “SourceLoop, Demo Booked”). The exact name is what you’ll paste into SourceLoop, so make it memorable and consistent.
- Set the Count type (typically Unique for B2B leads, All for ecommerce).
- Set the Conversion Window (default 30 days, the maximum Microsoft allows).
- Set the Default Conversion Value if you want a baseline value (you’ll override per-conversion in SourceLoop).
- Save the goal.
Repeat for each separate funnel stage you want to track.
Step 2: Find the exact Goal Name
The critical detail: Microsoft Ads matches offline conversions by name, not by a numeric ID. So the name in SourceLoop must match the Goal name in Microsoft Ads exactly, including capitalisation, spaces, and punctuation.
- In Microsoft Ads, go to Tools -> Conversion Goals.
- Find the goal you just created (or the existing one you want to use).
- Copy the Goal Name exactly as shown in the table. Be careful with special characters; even a trailing space can break the match.
Step 3: Add the conversion mapping in SourceLoop
- Sign in to SourceLoop.
- Open Setup -> Ad Platforms -> Microsoft Ads.
- Scroll to Conversion sync.
- Click Add conversion mapping.
- Pick the Trigger event type:
- Conversion created — every new lead conversion (form, meeting, chat with email, initial payment)
- Expected revenue updated — when expected revenue changes
- Realized revenue updated — when a payment integration confirms revenue
- (Optional) Set a Trigger event name filter to scope the mapping.
- Pick an Attribution model: Last touch or First touch.
- Paste the Conversion Goal Name from Step 2 (exactly as it appears in Microsoft Ads).
- Toggle Include value if you want to send a revenue figure. Pick the value source and currency.
- Set the dedup window in minutes (default 1440).
- Click Save.
SourceLoop starts pushing matching conversions on the next 2-minute flush cycle. Microsoft Ads will show the conversion counts within 4-12 hours.
What gets sent in each event
For every matching SourceLoop conversion, the push to Microsoft Ads includes:
- ConversionName — the Goal Name from your mapping
- ConversionTime — when the conversion happened (ISO 8601)
- MicrosoftClickId (msclkid) — captured from the visitor’s session
- ConversionValue — when value is included
- ConversionCurrencyCode — when value is included (defaults to USD)
Note that Microsoft Ads requires msclkid for offline conversions, there’s no PII fallback. Conversions for visitors with no msclkid are skipped (marked pending_identity in the Sync log).
Why isn’t every SourceLoop conversion being pushed?
You’ll typically see push rates around 40-70% in the first weeks after Auto-tagging is enabled, climbing to 80-95% as msclkid-tagged sessions accumulate. The skipped conversions are visitors who:
- Came in via SEO / direct (no msclkid)
- Clicked in before Auto-tagging was enabled
- Had cookies cleared between click and conversion (rare but happens)
These are still tracked in SourceLoop, they just can’t be pushed back to Microsoft Ads because there’s no msclkid to attribute them to.
What’s next
- Troubleshoot pushes that aren’t appearing in Microsoft Ads: Troubleshoot Microsoft Ads sync issues.
- Add more conversion mappings for separate funnels: repeat Step 3 with each Conversion Goal Name.
Frequently asked questions
-
Where do I find the Conversion Goal Name?
Microsoft Ads matches offline conversions by Goal Name (not Goal ID, unlike Google Ads). Open Microsoft Ads -> Tools -> Conversion Goals. The Goal Name is the human-readable name you gave the goal when you created it (e.g., "Demo Booked", "Lead Form Submitted"). Copy it exactly, case-sensitive.
-
What if I haven't created a Conversion Goal yet?
Create one first. In Microsoft Ads, go to Tools -> Conversion Goals -> Create Conversion Goal. Pick Offline as the source. Name it something meaningful like "SourceLoop, Demo Booked". Set the Conversion Window (default 30 days, the maximum). Save. Then come back to SourceLoop and use that exact Goal Name.
-
What's msclkid and why does Microsoft Ads need it?
msclkid is Microsoft Ads' Click ID, like Google's gclid or Meta's fbclid. It's automatically added to ad-click landing URLs when Auto-tagging is on (Microsoft Ads -> Settings -> Account preferences). SourceLoop's tracker captures the msclkid the first time the visitor lands. Microsoft uses it to match every offline conversion back to the original click. Unlike other platforms, Microsoft Ads doesn't support PII fallback for offline conversions, msclkid is the only signal.
-
My SourceLoop conversions show pending_identity. What does that mean?
The visitor's session has no msclkid, meaning they didn't click in from a Microsoft ad (or they clicked in before Auto-tagging was enabled). Microsoft can't match the conversion to a click, so SourceLoop skips it. Make sure Auto-tagging is enabled in Microsoft Ads and wait 1-2 weeks for new msclkid-tagged sessions to accumulate.
-
Can I send revenue values?
Yes. In SourceLoop's conversion mapping, toggle Include value and pick the value source (quote_value, sales_value, or fixed). Microsoft Ads uses the value for tROAS-style bidding. Currency defaults to USD if not set.
-
How long does it take for conversions to appear in Microsoft Ads?
Typically 4-12 hours after the push. Microsoft Ads batches conversion reporting overnight, so the first conversions you push today may show up tomorrow. SourceLoop's Sync log shows the push completing within 2 minutes; Microsoft just takes longer to surface it.
-
Can the same SourceLoop event push to multiple Microsoft Ads Conversion Goals?
Yes. Add multiple configuration rows in SourceLoop with the same trigger but different Conversion Goal Names. Each fires independently.