Microsoft Ads Offline Conversions: Import CRM Data: 2026 Guide

On this page
Microsoft Ads Offline Conversions: Import CRM Data: 2026 Guide
Generating leads through Microsoft Ads is only the first part of the job.
The real question is what happens after the click.
Did the lead answer the phone?
Did they qualify?
Did they book a call?
Did they become an opportunity?
Did they close?
Did they generate revenue?
If Microsoft Ads only sees the first form submission, it cannot tell the difference between a weak lead and a valuable customer. That is where offline conversion import becomes important.
Offline conversion import lets you send CRM data back into Microsoft Advertising after the original ad click. This helps you measure and optimise for what actually happened after the lead entered your sales process.
This guide covers:
- What Microsoft Ads offline conversions are.
- Why the
msclkidmatters. - How to capture Microsoft Click ID from landing pages.
- How to store click IDs in your CRM.
- How to prepare offline conversion uploads.
- How to use manual uploads.
- How to automate CRM imports.
- Which CRM stages to import.
- How to use offline conversions for bidding.
- Common errors and troubleshooting.
- A full implementation checklist.
Offline conversion import closes the loop between Microsoft Ads and your CRM. Instead of optimising for anyone who fills out a form, you can optimise towards the leads that become qualified opportunities and revenue.
What Are Microsoft Ads Offline Conversions?
Offline conversions are conversion events that happen after the initial online click, usually outside the website session.
Examples include:
- A lead becomes qualified.
- A sales call is completed.
- A demo is booked.
- A proposal is sent.
- A deal is marked as closed won.
- A booking is confirmed in a CRM.
- A contract is signed.
- A customer pays an invoice.
- A lead becomes a sales accepted lead.
- A pipeline opportunity is created.
These events may happen hours, days or weeks after the person first clicked your Microsoft Ads campaign.
Without offline conversion tracking, Microsoft Ads may only see the first surface-level event, such as a form submission.
That is often not enough.
Online Conversion vs Offline Conversion
| Conversion type | Example | Where it happens |
|---|---|---|
| Online conversion | Form submission | Website |
| Online conversion | Phone click | Website or call extension |
| Online conversion | Trial signup | Website or app |
| Offline conversion | Lead qualified | CRM |
| Offline conversion | Sales accepted lead | CRM |
| Offline conversion | Opportunity created | CRM |
| Offline conversion | Closed-won deal | CRM or sales system |
| Offline conversion | Revenue confirmed | CRM, booking system or finance system |
The word “offline” does not always mean the sale happened physically offline.
It means the conversion happened outside the original ad click and website tracking flow.
Why Offline Conversion Import Matters
Microsoft Ads can only optimise based on the data you give it.
If every form submission is treated as equal, the platform may optimise for cheap leads rather than valuable customers.
That creates a common problem.
The Raw Lead Problem
| Lead | Cost | CRM result | Actual value |
|---|---|---|---|
| Lead A | £20 | Student research | £0 |
| Lead B | £35 | Poor fit | £0 |
| Lead C | £60 | Qualified opportunity | £5,000 |
| Lead D | £90 | Closed-won customer | £20,000 |
If Microsoft Ads only sees “lead submitted”, Lead A and Lead D may look similar.
They are not similar.
Offline conversion import helps Microsoft Ads understand which clicks later became valuable.
What Offline Conversion Import Helps With
| Problem | How offline conversions help |
|---|---|
| Cheap but poor-quality leads | Import qualified lead stages |
| Long sales cycles | Connect later revenue back to original clicks |
| Weak platform optimisation | Feed better conversion signals |
| Poor channel reporting | See which campaigns create pipeline |
| Sales and marketing disconnect | Use shared CRM outcomes |
| Overvaluing form fills | Separate raw leads from valuable leads |
| Underinvesting in Microsoft Ads | Prove revenue from Bing traffic |
For lead generation, the most important conversion is rarely the form submission. It is what happens after the form submission.
The Role of msclkid
Microsoft Ads uses the Microsoft Click ID, usually called msclkid, to connect an ad click to a later offline conversion.
When auto-tagging is enabled, Microsoft can add a unique msclkid parameter to the landing page URL after someone clicks an ad.
A landing page URL may look like this:
https://example.com/demo?msclkid=123abc456def789
That click ID must be captured and stored.
Later, when the lead becomes qualified or closed won, you send that same msclkid back to Microsoft Ads with the conversion details.
Simple Flow
| Step | What happens |
|---|---|
| 1 | User clicks a Microsoft Ads ad |
| 2 | Microsoft adds msclkid to the landing page URL |
| 3 | Your website captures the msclkid |
| 4 | The msclkid is saved with the form submission |
| 5 | The lead is stored in the CRM |
| 6 | The lead moves through sales stages |
| 7 | A qualified or closed-won event is uploaded back to Microsoft Ads |
| 8 | Microsoft Ads attributes the offline conversion to the original click |
If the msclkid is not captured, you cannot reliably import the offline conversion.
Step 1: Enable Microsoft Click ID Auto-Tagging
Before you can import offline conversions, Microsoft Ads needs to append the click ID to your ad URLs.
The setting is usually handled at account level.
You need auto-tagging enabled so Microsoft can add the msclkid parameter to landing page URLs.
Auto-Tagging Checklist
Common Auto-Tagging Issues
| Issue | Result |
|---|---|
| Auto-tagging disabled | No msclkid is added |
| Redirect strips URL parameters | Click ID is lost |
| Landing page script does not read the URL | Click ID is not captured |
| Form does not have hidden field | Click ID cannot be submitted |
| CRM does not store the field | Click ID is lost after lead creation |
| User returns later without stored ID | Click ID may be missing unless stored first-party |
| Cross-domain journey | Click ID may be lost between domains |
Do not assume msclkid is being captured just because auto-tagging is enabled. Test the full journey from ad click to CRM record.
Step 2: Capture msclkid on the Website
Once the click ID is in the URL, your website needs to capture it.
The common method is:
- Read the
msclkidparameter from the URL. - Store it in a cookie or browser storage.
- Populate a hidden form field.
- Submit it with the lead form.
- Save it in the CRM.
The hidden field might be called:
msclkidmicrosoft_click_idMicrosoft Click IDMS Click IDbing_click_id
The exact field name is up to your setup, but it must be mapped clearly in the CRM.
Capture Requirements
| Requirement | Why it matters |
|---|---|
| Read the URL parameter | Finds the click ID |
| Store the value | Keeps it if the user visits multiple pages |
| Populate hidden forms | Sends it with the enquiry |
| Save it to CRM | Keeps it for later upload |
| Preserve original click ID | Prevents overwriting with blank values |
| Capture timestamp | Helps with troubleshooting |
| Capture landing page | Helps with reporting |
| Capture campaign data | Useful for CRM analysis |
Hidden Field Example
Your form does not need to show the click ID to the user.
It can be stored as a hidden field.
<input type="hidden" name="msclkid" value="" />
Your website script or tag manager setup can populate this value when a user lands with an msclkid.
Storage Logic
A practical setup should:
| Scenario | Recommended handling |
|---|---|
User lands with msclkid | Store it |
| User moves to another page | Keep it available |
| User submits a form later | Send stored value |
| User returns within the sales cycle | Keep original value where appropriate |
User lands without msclkid | Do not overwrite existing value with blank |
| User clicks a new Microsoft ad later | Decide whether to store first click or latest click |
For most offline import setups, you need a consistent attribution rule.
Many advertisers store the latest paid click ID, but the right choice depends on your reporting model.
Step 3: Save msclkid in the CRM
Capturing the click ID on the website is not enough.
It needs to be stored in the CRM lead, contact, deal or opportunity record.
Useful CRM fields include:
| Field | Purpose |
|---|---|
| Microsoft Click ID | Required for offline conversion import |
| Lead created date | Helps compare click and conversion dates |
| Landing page | Shows first page after click |
| Source | Helps identify Microsoft Ads |
| Campaign | Helps CRM reporting |
| Keyword or search term | Useful if available |
| Lead status | Shows qualification |
| Deal stage | Tracks sales progress |
| Deal value | Used for revenue import |
| Closed-won date | Used as conversion time for revenue |
| Currency | Needed if importing value |
CRM Mapping Checklist
If the click ID disappears when the lead becomes a deal, offline conversion import will fail later.
Step 4: Create Offline Conversion Goals
Before uploading offline conversions, you need conversion goals in Microsoft Ads that match the events you plan to import.
Examples:
- Qualified Lead.
- Sales Accepted Lead.
- Demo Booked.
- Opportunity Created.
- Closed Won.
- Revenue.
- Customer Created.
- Booking Confirmed.
The conversion name in your upload must match the conversion goal name in Microsoft Ads.
Goal Planning Table
| CRM stage | Conversion goal name | Include in conversions? |
|---|---|---|
| Raw lead | Lead Submitted | Usually no, or separate |
| Marketing-qualified lead | Qualified Lead | Often yes |
| Sales accepted lead | Sales Accepted Lead | Often yes |
| Opportunity created | Opportunity Created | Yes for pipeline bidding |
| Closed won | Closed Won | Yes if volume is enough |
| Revenue confirmed | Revenue | Yes for value-based reporting |
The right primary goal depends on volume.
A closed-won goal is best for business truth, but it may have too little volume for bidding in some accounts.
A qualified lead or opportunity stage may be a better optimisation signal.
Step 5: Prepare the Offline Conversion Upload
Microsoft offline conversion uploads usually need a structured file or API payload.
Important fields commonly include:
- Microsoft Click ID.
- Conversion Name.
- Conversion Time.
- Conversion Value.
- Conversion Currency Code.
The details must match the Microsoft Ads goal and the original click.
Upload Field Table
| Field | What it means | Example |
|---|---|---|
| Microsoft Click ID | The msclkid captured from the ad click | f894f652ea334e739002f7167ab8f8e3 |
| Conversion Name | The name of the offline conversion goal | Qualified Lead |
| Conversion Time | When the offline event happened | 2026-01-28 14:30:00 |
| Conversion Value | The value of the conversion | 500 |
| Conversion Currency Code | Currency for the value | GBP |
Formatting Checks
Most offline conversion import issues are caused by missing click IDs, mismatched conversion names, invalid timestamps or CRM records that lost the original msclkid.
Manual Upload Workflow
Manual upload is useful for testing.
It is not ideal for long-term operation, but it helps confirm that your data is formatted correctly.
Manual Upload Steps
- Export qualified conversion records from your CRM.
- Include the Microsoft Click ID field.
- Include conversion name, time, value and currency.
- Download or use the correct Microsoft Ads template.
- Paste or map your CRM data into the template.
- Upload the file in Microsoft Ads.
- Review upload errors.
- Check whether conversions appear in reporting after processing.
- Fix formatting or matching issues.
- Repeat with a clean test batch.
Manual Upload Test Table
| Test | Pass condition |
|---|---|
CRM export includes msclkid | Every test row has a click ID |
| Conversion goal exists | Name matches upload exactly |
| Conversion time is valid | Time is after click and inside window |
| Value is valid | Numeric value and correct currency |
| Upload accepted | No formatting errors |
| Conversions attributed | Data appears in reporting after processing |
| Lead record matches campaign | CRM and Microsoft Ads data make sense |
Manual upload is the best way to find problems before building automation.
Automated Offline Conversion Import
Manual uploads become slow quickly.
For a proper setup, offline conversions should be automated.
Automation can happen through:
- Microsoft Advertising API.
- Bulk API.
- CRM integration.
- Middleware.
- Server-side workflow.
- Zapier or similar automation tools where supported.
- Segment or customer data platforms.
- Custom scripts.
- Data warehouse pipelines.
Automation Flow Example
| Step | System |
|---|---|
| User clicks Microsoft Ads ad | Microsoft Ads |
msclkid is added to URL | Microsoft Ads auto-tagging |
| Website captures click ID | Website or tag manager |
| Form submits lead | Website |
| Lead is stored | CRM |
| Sales updates deal stage | CRM |
| Deal becomes qualified or closed won | CRM |
| Workflow sends offline conversion | API or integration |
| Microsoft Ads receives conversion | Microsoft Ads |
| Campaign reporting and bidding use data | Microsoft Ads |
Automation Trigger Examples
| CRM event | Offline conversion to send |
|---|---|
| Lead marked qualified | Qualified Lead |
| Demo booked | Demo Booked |
| Opportunity created | Opportunity Created |
| Deal marked closed won | Closed Won |
| Payment received | Revenue |
| Booking confirmed | Booking Confirmed |
| Lead rejected | Usually do not import as primary conversion |
Automation should not send every CRM update as a primary conversion. Send the stages that actually matter for bidding and reporting.
Which CRM Stages Should You Import?
The best offline conversion stage depends on your volume and sales cycle.
If you import a stage that is too shallow, quality may still be weak.
If you import a stage that is too deep, there may not be enough conversions for the platform to optimise.
Stage Selection Table
| Stage | Pros | Cons | Best use |
|---|---|---|---|
| Raw lead | High volume | Poor quality signal | Reporting only or early accounts |
| Qualified lead | Good balance | Needs qualification rules | Most lead gen accounts |
| Sales accepted lead | Stronger quality | Lower volume | B2B and SaaS |
| Opportunity created | Strong pipeline signal | Delayed and lower volume | Higher-value sales |
| Closed won | Best revenue truth | Low volume and delayed | Mature accounts |
| Revenue value | Strongest value signal | Needs clean CRM values | Accounts with reliable sales data |
A good setup may import several stages but only use selected stages as primary conversion goals.
Recommended Approach
| Account maturity | Primary optimisation goal |
|---|---|
| New account | Lead submitted, but monitor quality |
| Early CRM setup | Qualified Lead |
| Established lead gen | Sales Accepted Lead or Opportunity |
| Mature B2B or SaaS | Opportunity and Closed Won |
| Ecommerce with offline sales | Revenue or confirmed sale |
| High-ticket sales | Qualified Opportunity with value |
Do not wait for a perfect setup before improving measurement.
Start by importing a meaningful qualification stage, then work towards revenue.
Bidding With Offline Conversions
Once offline conversions are flowing reliably, you can use them for optimisation.
This is where the real benefit starts.
Instead of bidding for people likely to submit any form, Microsoft Ads can use better conversion signals when your conversion goals and bidding strategy are set correctly.
Bidding Strategy Table
| Situation | Possible bidding approach |
|---|---|
| Enough qualified lead volume | Maximise conversions or Target CPA using qualified lead goal |
| Enough opportunity volume | Optimise towards Opportunity Created |
| Reliable revenue values | Use value-based optimisation where appropriate |
| Low offline conversion volume | Use offline conversions for reporting first |
| Long sales cycle | Optimise to earlier qualified stage |
| Mixed lead quality | Exclude raw leads from primary conversions |
| High-value but low-volume deals | Use CRM reporting and manual budget decisions |
Conversion Goal Inclusion
Not every conversion should be included as a primary optimisation signal.
| Conversion | Include in conversions? |
|---|---|
| Page view | No |
| Button click | No |
| Raw lead | Maybe, early only |
| Qualified lead | Usually yes |
| Sales accepted lead | Usually yes |
| Opportunity created | Yes if volume allows |
| Closed won | Yes for reporting, bidding if volume allows |
| Revenue | Yes when reliable |
The aim is not to send more data for the sake of it. The aim is to send better data so Microsoft Ads can optimise towards valuable outcomes.
Example: From Lead Bidding to Revenue Bidding
Imagine a B2B service campaign.
Before offline conversion import:
| Metric | Result |
|---|---|
| Spend | £2,000 |
| Raw leads | 100 |
| Cost per lead | £20 |
| Qualified leads | 10 |
| Opportunities | 3 |
| Closed-won deals | 1 |
| Revenue | £6,000 |
At first glance, £20 per lead looks good.
But only 10% of leads qualify.
After offline conversion import, you can see which campaigns create qualified leads and opportunities.
| Campaign | Raw CPL | Qualified lead CPA | Revenue |
|---|---|---|---|
| Campaign A | £15 | £300 | £0 |
| Campaign B | £35 | £120 | £6,000 |
| Campaign C | £25 | £250 | £0 |
Campaign A looks cheaper at lead level.
Campaign B is better commercially.
Without offline conversion import, budget might move in the wrong direction.
Value-Based Offline Conversion Strategy
If your CRM has reliable values, you can import conversion value.
This is useful when not all conversions are equal.
For example:
| Conversion | Value approach |
|---|---|
| Qualified lead | Estimated value based on close rate |
| Opportunity | Pipeline value |
| Closed won | Actual revenue |
| Booking confirmed | Booking value |
| Contract signed | Contract value |
| Subscription sold | First-year value or estimated LTV |
Value Assignment Example
| CRM stage | Estimated value |
|---|---|
| Qualified Lead | £100 |
| Sales Accepted Lead | £250 |
| Opportunity Created | £1,000 |
| Closed Won | Actual deal value |
Value-based conversion import can help you understand quality even before revenue closes.
However, estimated values should be realistic.
Do not inflate values to make campaigns look better.
Troubleshooting Offline Conversion Import
Offline conversion import often fails for simple reasons.
Use this diagnostic table.
| Problem | Possible cause | Fix |
|---|---|---|
| Upload accepted but no conversions show | Click ID does not match eligible click | Check msclkid capture and account source |
| Conversions rejected | Wrong file format | Use correct template and formatting |
| Goal not found | Conversion name mismatch | Match goal name exactly |
| Conversion time invalid | Time before click or outside window | Check timestamps and time zone |
No msclkid in CRM | Hidden field not mapped | Fix form and CRM mapping |
msclkid lost after redirect | Redirect strips parameters | Preserve query parameters |
| Duplicate conversions | Same event uploaded multiple times | Deduplicate by record ID or CRM ID |
| Low match rate | Missing or invalid click IDs | Audit capture process |
| Wrong value | CRM value field mapped incorrectly | Check export mapping |
| Offline conversions attributed to wrong goal | Goal name or upload logic wrong | Review automation rules |
Import Debugging Checklist
Privacy and Consent Considerations
Offline conversion tracking involves passing lead and sales data between your CRM and Microsoft Ads.
You should make sure your setup is compliant with privacy requirements that apply to your business and region.
Important areas to review:
- Cookie consent.
- Advertising consent.
- Privacy policy wording.
- CRM data permissions.
- Data retention.
- Lead form disclosures.
- Customer data handling.
- Access controls.
- Data processing agreements.
- How user identifiers are stored.
- Who can export conversion data.
- How automation tools handle the data.
Tracking should improve measurement without ignoring consent or data protection responsibilities. Make sure your privacy policy and CRM processes reflect how advertising data is used.
Implementation Plan
Here is a practical rollout plan.
Phase 1: Manual Test
Phase 2: CRM Mapping
Phase 3: Automation
Phase 4: Optimisation
Microsoft Ads Offline Conversion Audit Checklist
Use this to review your current setup.
Common Mistakes
Mistake 1: Not Capturing msclkid
This is the biggest failure point.
If the click ID is not captured at the start, the later CRM event cannot be matched back to the ad click.
Mistake 2: Only Importing Closed-Won Deals Too Early
Closed-won revenue is valuable, but many accounts do not have enough volume for bidding.
Start with a qualified stage if closed-won volume is too low.
Mistake 3: Treating Raw Leads as the Main Goal Forever
Raw leads are useful for early measurement, but they are not the final truth.
Move towards qualified leads, opportunities and revenue.
Mistake 4: Using the Wrong Conversion Time
The conversion time should reflect when the offline event happened, not necessarily when the original lead was created.
Mistake 5: Uploading to the Wrong Account
If you manage multiple accounts, make sure the conversion goal and click ID belong to the correct account.
Mistake 6: Letting Redirects Strip Parameters
Website redirects, booking tools, landing page platforms and CRM forms can remove query parameters.
Test the full journey.
Mistake 7: Forgetting Currency Code
If you import values, make sure the currency code is included and correct.
Mistake 8: No CRM Alignment
Marketing and sales need to agree what “qualified lead”, “opportunity” and “closed won” mean.
If the stages are inconsistent, the data becomes unreliable.
Final Recommendation
Microsoft Ads offline conversion import is one of the most important upgrades for lead generation accounts.
It turns Microsoft Ads from a lead-counting platform into a revenue-informed acquisition channel.
Without offline conversions, campaigns may optimise towards the easiest people to get through a form.
With offline conversions, you can show Microsoft Ads which clicks became qualified leads, opportunities and customers.
The setup requires care.
You need auto-tagging. You need msclkid capture. You need CRM fields. You need matching conversion goals. You need clean upload formatting. You need automation if you want the system to work consistently.
But once the data is flowing, your reporting becomes much more useful.
You can stop asking:
“Which campaign generated the cheapest leads?”
And start asking:
“Which campaign generated the best opportunities and revenue?”
Close the loop. Capture the click ID, store it in the CRM, import the outcome and optimise Microsoft Ads around what actually became business.
Action Plan
Next Best Step
Where to go from here
Microsoft Ads Management
Explore our professional Microsoft Ads management services.
Microsoft Ads Guide
Master Microsoft Ads with our free, comprehensive educational curriculum.
Marketing Tools
Analyze and optimize your campaigns with our suite of free advertising tools.

About the Author
Kiril Ivanov is a digital marketing specialist with experience managing local, national and international campaigns for businesses ranging from growing independent companies to major consumer brands. His background includes leading advertising automation work for Michael Kors and working on campaigns involving Canon, Dormeo, esure, DLG Group, Village Gym, Cameron House, Crerar Hotels, Cromlix Hotel, Harrison Fund and the Advertising Standards Authority. His experience spans paid search, paid social, advertising automation, SEO, conversion optimisation and wider digital strategy across hospitality, retail, financial services, professional services and other competitive sectors.
Need this implemented for you?
Read the guide, or let our specialist team handle it while you focus on the big picture.
Get Your Free Audit