Microsoft Ads (Bing) Offline Conversions: Complete Guide
A complete guide to uploading offline conversions to Microsoft Ads (Bing Ads) — from enabling auto-tagging and creating conversion goals to formatting CSVs and automating uploads. The Upload Offline Conversions App walks through every step.
Microsoft Ads (formerly Bing Ads) offline conversion tracking lets you upload real business outcomes — booked jobs, completed services, closed deals — back to Microsoft’s advertising platform. By connecting MSCLKIDs to downstream conversions, you enable Microsoft’s automated bidding to optimize for actual revenue rather than proxy metrics.
This guide from The Upload Offline Conversions App (TUOCA) covers everything you need to set up, upload, and automate offline conversions for Microsoft Ads.
Why Microsoft Ads Offline Conversions Matter
Microsoft Ads is often treated as a “set and forget” secondary channel, but it has unique advantages that make offline conversion tracking highly valuable:
| Advantage | Impact |
|---|---|
| Often a cheaper click | The same service keyword often has fewer bidders than on Google Ads, so the click can cost less. There is no published discount, and the bid still needs the booked job. |
| Business audience | Edge is the default browser on Windows PCs — higher-value B2B traffic |
| LinkedIn targeting | Unique audience segments based on LinkedIn profile data |
| Less competition | Fewer advertisers means better positions and lower costs |
| 90-day limit | Microsoft Advertising rejects an offline conversion whose time is more than 90 days before the upload and will not count one more than 90 days after the click, so keep the MSCLKID for those 90 days: a sale on August 1 can be uploaded on October 20, and a job that closes 100 days after the click cannot be counted even if you upload it that day. |
The Missed Opportunity
Most agencies implement offline conversions for Google Ads but skip Microsoft. This means:
- Google campaigns optimize for revenue → better performance over time
- Microsoft campaigns still optimize for clicks/forms → underperforming
- Microsoft ROAS is likely much higher than reported — revenue just isn’t tracked
Step-by-Step Setup
Step 1: Enable Auto-Tagging
Auto-tagging appends the MSCLKID to your ad URLs. Unlike Google Ads, auto-tagging is OFF by default.
- Sign in to Microsoft Ads
- Go to Settings → Account settings
- Find Auto-tagging
- Select Append the MSCLKID to URLs
- Click Save
Without this step, no MSCLKID is generated and offline conversion uploads cannot match clicks.
Step 2: Install UET Tag (Optional but Recommended)
The Universal Event Tracking (UET) tag is Microsoft’s pixel equivalent. While not required for offline conversion imports, it provides:
- Online conversion baseline for comparison
- Audience data for remarketing
- Visit data for attribution modeling
Step 3: Create an Offline Conversion Goal
- Go to Tools → Conversion tracking → Conversion goals
- Click Create conversion goal
- Select Offline conversions
- Configure:
| Setting | Recommendation |
|---|---|
| Name | Descriptive: “Booked Job,” “Completed Service” |
| Revenue | “Each conversion may have a different value” |
| Count | “Unique” for service businesses |
| Conversion window | Match your sales cycle (30/60/90 days) |
| View-through window | 1 day |
| Include in conversions | Yes |
- Click Save
Step 4: Capture MSCLKIDs
Ensure your website captures the MSCLKID from ad click URLs. Call tracking tools (CallRail, CallTrackingMetrics) capture MSCLKIDs automatically. For form submissions, update your hidden field code:
const params = new URLSearchParams(window.location.search);
const msclkid = params.get('msclkid');
if (msclkid) {
document.getElementById('click_id').value = msclkid;
}
Verify capture with the Click ID Tester.
Upload Formats
CSV Format
Microsoft Click ID,Conversion Name,Conversion Time,Revenue,Currency
a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6,Booked Job,04/10/2026 14:30:00,4500.00,USD
b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6a1,Booked Job,04/11/2026 09:15:00,1200.00,USD
c3d4e5f6a7b8c9d0e1f2a3b4c5d6a1b2,Completed Service,04/12/2026 16:45:00,8500.00,USD
Key Format Differences from Google Ads
| Field | Microsoft Ads | Google Ads |
|---|---|---|
| Column header | Microsoft Click ID | Google Click ID |
| Date format | MM/dd/yyyy HH:mm:ss | yyyy-MM-dd HH:mm:ss±HH:mm |
| Value column | Revenue | Conversion Value |
| Timezone | Set in goal settings | Parameters:TimeZone= row |
| Additional ID | Order ID (optional) | Order ID (optional) |
Enhanced Conversions Format
For uploads using hashed PII instead of MSCLKID:
Hashed Email,Conversion Name,Conversion Time,Revenue,Currency
a8b14f04b2be6c5f...,Booked Job,04/10/2026 14:30:00,4500.00,USD
Uploading via Microsoft Ads UI
- Go to Tools → Conversion tracking → Import
- Click Import conversions from file
- Select your CSV file
- Review the preview for errors
- Click Import
- Monitor status: Processing → Complete
Upload Report
| Status | Meaning |
|---|---|
| Imported | Successfully matched and recorded |
| Click ID not found | MSCLKID not recognized |
| Invalid format | Data formatting error (usually date format) |
| Duplicate | Already uploaded (same MSCLKID + goal + time) |
| Goal not found | Conversion goal name doesn’t match |
Uploading via API
TUOCA uses the Bing Ads API for automated uploads:
POST /OfflineConversions/Apply
The API provides more detailed error responses and supports batch processing of thousands of records per request.
Microsoft Ads Smart Bidding with Offline Data
Once offline conversions flow consistently, enable automated bidding:
Available Strategies
| Strategy | Requirement | Best For |
|---|---|---|
| Maximize Conversions | 30+ conversions/month | Growing conversion volume |
| Target CPA | 30+ conversions/month | Controlling cost per acquisition |
| Maximize Conversion Value | 30+ valued conversions/month | Revenue optimization |
| Target ROAS | 30+ valued conversions/month | Return target optimization |
Migration Path
- Start with Enhanced CPC (low risk, some automation)
- Switch to Maximize Conversions once you have 30+ conversions/month
- Add Target CPA or Target ROAS once you have a stable baseline
Common Issues
| Issue | Cause | Fix |
|---|---|---|
| Auto-tagging not enabled | MSCLKIDs not generated | Enable in Account Settings |
| Wrong date format | Using yyyy-MM-dd instead of MM/dd/yyyy | Switch to MM/dd/yyyy HH:mm:ss |
| Goal name mismatch | CSV name doesn’t match goal exactly | Copy exact name from Conversion Goals |
| Click ID not found | MSCLKID not recognized | Verify auto-tagging, check data integrity |
| No conversions appearing | Looking at wrong date | Check click dates, not upload dates |
How TUOCA Automates Microsoft Ads
TUOCA handles Microsoft Ads offline conversions through the same relay pipeline:
- MSCLKID detection — Identifies 32-character hex MSCLKIDs
- Automatic date formatting — Converts to MM/dd/yyyy HH:mm:ss
- Goal mapping — Maps to your Microsoft conversion goal
- Batch upload — Sends via Bing Ads API
- Error handling — Logs Microsoft-specific errors
- Enhanced Conversions fallback — Sends hashed PII when MSCLKID unavailable
Next Steps
- ✅ Enable auto-tagging in Microsoft Ads
- ✅ Create an offline conversion goal
- ✅ Verify MSCLKID capture with Click ID Tester
- ✅ Set up a TUOCA relay for Microsoft Ads
- ✅ Monitor for 30 days before enabling automated bidding
- ✅ Compare Microsoft vs. Google with the Platform Comparison Tool