UET Tag Issues
UET Tag Not Loading
Symptoms:
- UET tag verification shows "Tag Inactive" in Microsoft Advertising
- No data appearing in UET tag helper
- Conversion goals not recording
Diagnostic Steps:
Check tag installation:
- View page source and search for
bat.bing.com/bat.js - Verify UET tag ID matches Microsoft Advertising account
- Confirm tag is in
<head>section (recommended) or before</body>
- View page source and search for
Test with UET Tag Helper:
- Install UET Tag Helper Chrome extension
- Navigate to your website
- Click UET Tag Helper icon
- Verify tag is detected and firing
Check browser console:
- Open DevTools (F12)
- Look for JavaScript errors preventing tag execution
- Check Network tab for bat.js request (should return 200 OK)
Common Causes & Solutions:
| Issue | Solution |
|---|---|
| Tag missing from page | Add UET tag to all pages via GTM or site template |
| Content Security Policy blocking | Add bat.bing.com to CSP script-src directive |
| Ad blocker interference | Test in incognito mode without extensions |
| Asynchronous loading failure | Ensure tag loads before page interactive event |
| Wrong tag ID | Verify tag ID matches account in Tools > UET tags |
UET Tag Loading But Not Tracking
Symptoms:
- UET Tag Helper shows tag firing
- No conversion data in Microsoft Advertising
- Tag verification shows "Active" but 0 conversions
Solutions:
Verify conversion goal configuration:
Check event tracking syntax:
// Correct syntax
window.uetq = window.uetq || [];
window.uetq.push('event', 'purchase', {
'revenue_value': 99.99,
'currency': 'USD'
});
// Common mistake - wrong parameter format
window.uetq.push('event', {'event_category': 'purchase'}); // WRONG
- Test conversion goal:
- Navigate to Conversions > Conversion goals
- Click goal name
- Click View details > Troubleshooting
- Use URL testing tool to verify goal triggers
Conversion Tracking Issues
Conversions Not Recording
Diagnostic Checklist:
- UET tag is active on conversion page
- Conversion goal is set to "Recording" (not "Paused")
- Goal URL matches actual conversion page URL (for destination goals)
- Event name matches goal configuration (for event goals)
- Conversion window hasn't expired (default: 30 days click, 1 day view)
- User hasn't opted out of tracking (respects Do Not Track)
- Conversion value is within acceptable range (not negative or extremely high)
Testing Procedure:
- Clear browser cookies and cache
- Click your Microsoft Advertising ad (or use preview ad)
- Complete conversion action
- Wait 2-4 hours for data processing
- Check Campaigns > Columns > Add "Conversions" metric
- Verify conversion appears (may take up to 24 hours)
Tip: Use Microsoft Advertising Preview Tool to generate test clicks without spending budget.
Duplicate Conversions
Symptoms:
- Conversion count higher than actual transactions
- Same user generating multiple conversions
- Conversion rate unrealistically high
Causes & Solutions:
Cause 1: Page Reloads
- User refreshes confirmation page, firing conversion multiple times
- Solution: Implement conversion once per session
// Fire conversion only once
if (!sessionStorage.getItem('conversion_fired')) {
window.uetq = window.uetq || [];
window.uetq.push('event', 'purchase', {
'revenue_value': 99.99,
'currency': 'USD'
});
sessionStorage.setItem('conversion_fired', 'true');
}
Cause 2: Conversion Goal Counting
- Goal set to "All" instead of "Unique"
- Solution: Navigate to goal settings, change Count to "Unique"
Cause 3: Multiple UET Tags
- Same tag implemented multiple times on page
- Solution: Use Tag Manager to ensure single tag deployment
Conversion Values Incorrect
Symptoms:
- Conversion values showing $0 when revenue exists
- Values significantly higher or lower than expected
- Currency conversion issues
Solutions:
- Verify revenue parameter syntax:
// Correct - dynamic value
window.uetq = window.uetq || [];
window.uetq.push('event', 'purchase', {
'revenue_value': parseFloat(orderTotal), // Ensure numeric type
'currency': 'USD'
});
Check currency settings:
- Navigate to Conversions > Conversion goals > Goal settings
- Verify Currency matches values being passed
- Microsoft Advertising auto-converts to account currency
Validate data layer integration:
// Example with Google Tag Manager data layer
dataLayer.push({
'event': 'purchase',
'transactionTotal': 99.99,
'transactionCurrency': 'USD'
});
// Corresponding UET tag in GTM
window.uetq = window.uetq || [];
window.uetq.push('event', 'purchase', {
'revenue_value': {{DLV - transactionTotal}},
'currency': {{DLV - transactionCurrency}}
});
MSCLKID Parameter Issues
MSCLKID Not Capturing
Symptoms:
- Offline conversion uploads failing
- "Invalid MSCLKID" errors
- Unable to attribute conversions to clicks
Solutions:
Enable auto-tagging:
- Navigate to Accounts > Account settings
- Scroll to Tracking template
- Ensure Auto-tagging is enabled
- Check for
{msclkid}in destination URL after clicking ad
Preserve MSCLKID through funnel:
// Capture MSCLKID from URL on landing page
function getMSCLKID() {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get('msclkid');
}
// Store in cookie or session for later retrieval
const msclkid = getMSCLKID();
if (msclkid) {
document.cookie = `msclkid=${msclkid}; path=/; max-age=7776000`; // 90 days
}
// Pass to conversion page via hidden form field or server-side storage
- Verify tracking template compatibility:
- Custom tracking templates may override auto-tagging
- Ensure
{lpurl}?msclkid={msclkid}is included - Test with Microsoft Advertising Ad Preview tool
MSCLKID Parameter Stripped
Common Causes:
| Cause | Solution |
|---|---|
| Redirect removes query parameters | Preserve parameters in redirect: Location: /page?msclkid=... |
| Form submission loses parameter | Include MSCLKID as hidden field in forms |
| Client-side navigation (SPA) | Persist MSCLKID in state management or sessionStorage |
| Payment processor redirect | Pass MSCLKID to processor and receive in return URL |
| Link click overrides URL | Use JavaScript to append MSCLKID to navigation links |
Debugging Tools
UET Tag Helper Browser Extension
Installation:
- Install from Chrome Web Store
- Navigate to your website
- Click extension icon to view tag status
Features:
- Real-time tag detection and firing status
- Event tracking validation
- Parameter inspection
- Error identification
Microsoft Advertising Intelligence
Desktop Excel add-in for keyword research and debugging:
Installation:
- Download from Microsoft Advertising Tools
- Install Excel add-in
- Sign in with Microsoft Advertising credentials
Use Cases:
- Bulk keyword performance analysis
- Search term debugging
- Competitive intelligence
- Bid landscape analysis
Browser DevTools Network Tab
Debugging UET Tag Requests:
- Open DevTools (F12)
- Navigate to Network tab
- Filter by "bat.bing.com"
- Click ad and complete conversion
- Inspect request parameters:
Ver: UET versionti: Tag IDevt: Event typeec: Event categoryea: Event actionel: Event labelev: Event valuegv: Goal valuegc: Goal currency
Successful Request Example:
https://bat.bing.com/action/0?
ti=12345678&
Ver=2&
evt=custom&
ec=purchase&
gv=99.99&
gc=USD&
p=https://example.com/thank-you&
msclkid=abc123xyz
Microsoft Advertising API for Debugging
Retrieve Conversion Performance:
from bingads import *
from bingads.v13.reporting import *
# Download conversion performance report
reporting_service = client.get_service('ReportingService')
report_request = reporting_service.factory.create('ConversionPerformanceReportRequest')
report_request.ReportName = 'Conversion Debug Report'
report_request.Format = 'Csv'
report_request.Aggregation = 'Daily'
report_request.Time.CustomDateRangeStart.Day = 1
report_request.Time.CustomDateRangeStart.Month = 12
report_request.Time.CustomDateRangeStart.Year = 2025
report_request.Time.CustomDateRangeEnd.Day = 24
report_request.Time.CustomDateRangeEnd.Month = 12
report_request.Time.CustomDateRangeEnd.Year = 2025
# Include columns: ConversionName, Conversions, Revenue, AssistClick, etc.
Common Error Messages
"Tag Not Verified"
Message: "We haven't detected your UET tag on your website"
Solutions:
- Wait 24 hours after installation for Microsoft to verify
- Check tag is on publicly accessible page (not localhost or staging)
- Verify page isn't blocked by robots.txt
- Ensure tag ID is correct
"Invalid Conversion Goal"
Message: "Goal configuration error"
Solutions:
- Check goal type matches implementation (event vs. destination)
- Verify goal status is "Recording" not "Paused"
- Ensure campaign is associated with conversion goal
- Confirm goal scope (account-level vs. campaign-level)
"Offline Conversion Upload Failed"
Message: "Unable to process conversion import"
Solutions:
- Verify MSCLKID format (no spaces, exact match)
- Check conversion time is within 90-day window
- Ensure conversion time format:
YYYY-MM-DD HH:MM:SS(UTC recommended) - Validate currency code (3-letter ISO: USD, EUR, GBP, etc.)
- Confirm conversion name matches existing goal
- Check file encoding is UTF-8
File Format Validation:
Microsoft Click ID,Conversion Name,Conversion Time,Conversion Value,Conversion Currency
abc123,Purchase,2025-12-01 10:30:00,99.99,USD
Performance Debugging
Low Conversion Rate Investigation
Diagnostic Steps:
Verify conversion goal is realistic:
- Check if goal threshold is too high
- Confirm goal URL matches actual conversion page
- Test goal trigger with URL testing tool
Analyze conversion funnel:
- Use Microsoft Clarity to identify drop-off points
- Check for technical errors on landing or conversion pages
- Verify mobile responsiveness
Review targeting settings:
- Check if audience targeting is too narrow
- Verify location targeting includes intended markets
- Review device bid adjustments (mobile vs. desktop conversion rates)
Inspect ad relevance:
- Ensure ad copy matches landing page content
- Check Quality Score components
- Review search term report for irrelevant queries
Conversion Attribution Issues
Symptoms:
- Conversions attributed to wrong campaign
- Assisted conversions not showing
- Attribution model confusion
Solutions:
Review attribution model:
- Navigate to Conversions > Conversion goals > Goal settings
- Check Attribution model (Last click, First click, Linear, Time decay)
- Consider changing to better match customer journey
Enable assisted conversions:
- Navigate to Reports > Performance reports > Predefined reports
- Run "Assisted conversions" report
- Analyze cross-campaign and cross-device attribution
Check conversion window:
- Navigate to goal settings
- Verify Conversion window (default: 30 days click, 1 day view)
- Extend window if longer sales cycle
Escalation Procedures
If issues persist after troubleshooting:
Microsoft Advertising Support:
- Navigate to Help > Contact support
- Select issue category (Tracking, Conversions, etc.)
- Provide account ID, tag ID, and error details
- Include screenshots and example URLs
Microsoft Advertising Community:
- Post in Microsoft Advertising Community forums
- Tag with relevant categories
- Include anonymized examples
Account Manager (if assigned):
- Email or call your dedicated Microsoft representative
- Provide detailed timeline of issue
- Share debugging steps already attempted
Debugging Checklist
- UET tag loads on all pages without errors
- UET Tag Helper confirms tag firing
- Conversion goals configured correctly
- Test conversion completes successfully
- MSCLKID parameter capturing and persisting
- Conversion values passing correctly
- No duplicate conversions occurring
- Attribution model aligns with business needs
- Browser console shows no JavaScript errors
- Network requests to bat.bing.com return 200 OK
- Offline conversions uploading without errors (if applicable)