What Is an MSCLKID? Microsoft Click Identifier Explained
An MSCLKID (Microsoft Click Identifier) is a unique tracking parameter that Microsoft Ads (formerly Bing Ads) appends to your ad destination URLs when a user clicks on your ad. It functions identically to Google’s GCLID — providing the critical link between an ad click and a downstream offline conversion.
The Upload Offline Conversions App (TUOCA) uses MSCLKIDs to upload offline conversion data — booked jobs, signed contracts, completed sales — directly to Microsoft Ads, enabling Smart Bidding to optimize for actual revenue rather than proxy metrics.
How MSCLKIDs Work
The MSCLKID flow mirrors the GCLID flow:
- User clicks your Microsoft Ads ad — The click occurs on Bing, Yahoo, DuckDuckGo, or a Microsoft Audience Network placement
- MSCLKID appended to URL — Microsoft adds
msclkid=to the destination URL - You capture it — Your website, CRM, or call tracking tool stores the MSCLKID
- Conversion happens offline — Days or weeks later, the lead becomes a customer
- You upload the conversion — Send the MSCLKID + conversion data back to Microsoft Ads
- Microsoft attributes it — Microsoft matches the MSCLKID to the original click and credits the campaign
What an MSCLKID Looks Like
A typical MSCLKID in your URL:
https://yourwebsite.com/contact?msclkid=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
| Property | Value |
|---|---|
| URL parameter | msclkid |
| Typical length | 32 characters |
| Format | Hexadecimal string (lowercase a-f, 0-9) |
| Validity | 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. |
| Auto-tagging required | Yes (NOT enabled by default) |
Enabling Auto-Tagging (Required)
Unlike Google Ads where auto-tagging is enabled by default, Microsoft Ads requires you to manually enable auto-tagging:
- Sign in to Microsoft Ads
- Go to Settings → Account settings
- Find Auto-tagging and select Append the MSCLKID to URLs
- Click Save
Without this setting, no MSCLKID is appended, and offline conversion uploads cannot match clicks.
MSCLKID vs. GCLID: Key Differences
| Feature | MSCLKID | GCLID |
|---|---|---|
| Platform | Microsoft Ads (Bing, Yahoo, DuckDuckGo) | Google Ads (Search, Display, YouTube) |
| Format | 32-char hex string | 50-100 char Base64 string |
| Auto-tagging default | Off (must enable) | On |
| Validity window | 90 days after the click, and the conversion time must be within 90 days of the upload | 90 days after the click |
| CSV date format | MM/dd/yyyy HH:mm:ss | yyyy-MM-dd HH:mm:ss±HH:mm |
| CSV column header | Microsoft Click ID | Google Click ID |
| Enhanced Conversions | Supported | Supported |
| Privacy alternatives | None currently | WBRAID, GBRAID |
The most notable operational difference is the date format — Microsoft uses MM/dd/yyyy while Google uses yyyy-MM-dd. This is a common source of upload errors when marketers copy their Google Ads CSV template for Microsoft.
Uploading Offline Conversions with MSCLKID
CSV Format for Microsoft Ads
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
Key differences from Google Ads CSV:
- Column header is
Microsoft Click ID(notGoogle Click ID) - Date format is
MM/dd/yyyy HH:mm:ss(Google wantsyyyy-MM-dd HH:mm:ss±HH:mmon each conversion time) - Revenue column (not Conversion Value)
- Timezone is set on the Microsoft conversion goal. Google wants the offset on each conversion time rather than only a header row.
Common Upload Errors
| Error | Cause | Fix |
|---|---|---|
| Click ID not found | MSCLKID not recognized | Verify auto-tagging is enabled, check for data corruption |
| Invalid date format | Wrong date format | Use MM/dd/yyyy HH:mm:ss format |
| Conversion goal not found | Goal name mismatch | Use the exact goal name from Microsoft Ads |
| Click too old | The conversion is more than 90 days after the click, or the conversion time is more than 90 days before the upload | Upload a qualified lead while the click is still inside 90 days. A hashed email does not stretch either limit. |
| Duplicate conversion | Already uploaded | Check for duplicates before uploading |
Capturing MSCLKIDs
Hidden Form Field (Updated for Multi-Platform)
<input type="hidden" name="click_id" id="click_id" value="">
<script>
const params = new URLSearchParams(window.location.search);
const msclkid = params.get('msclkid');
const gclid = params.get('gclid');
if (msclkid) {
document.getElementById('click_id').value = msclkid;
} else if (gclid) {
document.getElementById('click_id').value = gclid;
}
</script>
Call Tracking Tools
CallRail and CallTrackingMetrics automatically capture MSCLKIDs from the referring URL when a tracked call occurs. Use the Click ID Tester tool to verify MSCLKID capture.
How TUOCA Uses MSCLKIDs
TUOCA handles Microsoft Ads offline conversions through the same relay pipeline as Google Ads:
- Auto-detection — TUOCA identifies MSCLKIDs by their 32-character hex format
- Platform routing — Records with MSCLKIDs are routed to the Microsoft Ads API
- Date format handling — TUOCA converts timestamps to Microsoft’s
MM/dd/yyyyformat automatically - Validation — Checks MSCLKID format and 90-day expiration before upload
- Enhanced Conversions fallback — When MSCLKID is unavailable, sends hashed PII for matching
- Error handling — Logs and categorizes Microsoft-specific errors
Why Microsoft Ads Matters for Offline Conversions
Microsoft Ads is often overlooked for offline conversion tracking, but it has unique advantages:
- 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.
- Business audience — Bing’s default browser (Edge) has higher usage in business environments
- Less competition — Fewer advertisers means better ad positions at lower cost
- 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.
- Import from Google — Can import campaign structure from Google Ads
For agencies managing multi-platform campaigns, uploading offline conversions to both Google Ads and Microsoft Ads ensures Smart Bidding is optimized across all channels.
Next Steps
- Enable auto-tagging in your Microsoft Ads account settings
- Verify MSCLKID capture with the Click ID Tester
- Set up your conversion goal as “Offline conversions” type
- Configure a TUOCA relay for Microsoft Ads
- Read the full guide — Microsoft/Bing Ads Offline Conversions Guide