Fix Missing utm_term in Search Campaigns (5-Minute Guide)
Quick check: Open your Bing Ads or DuckDuckGo search campaign. Look at your tracking URL.
Do you see utm_term= in the URL?
- ✅ Yes → You're tracking keywords correctly
- ❌ No → You can't see which keywords drive conversions
This guide shows you how to add utm_term in 5 minutes across every major search platform.
🚨 Not sure what's breaking your tracking?
Run a free 60-second audit to check all 40+ ways UTM tracking can fail.
Scan Your Campaigns Free✓ No credit card ✓ See results instantly
Do You Need utm_term?
Skip utm_term if:
- ✅ Google Ads with auto-tagging (gclid)
- ✅ Microsoft Ads with auto-tagging (msclkid)
Add utm_term if:
- ❌ Bing Ads with manual UTMs (no auto-tagging)
- ❌ DuckDuckGo Ads
- ❌ Baidu, Yandex, other international search engines
- ❌ Any search platform without auto-tagging
Platform-Specific Instructions
Bing/Microsoft Ads (Manual UTMs)
Time: 2 minutes
Step 1: Bing Ads → Campaign → Ad group → Keywords
Step 2: Click keyword → Edit destination URL
Step 3: Add utm_term parameter:
Before:
?utm_source=bing&utm_medium=cpc&utm_campaign=product-search-jan-2025
After:
?utm_source=bing&utm_medium=cpc&utm_campaign=product-search-jan-2025&utm_term=`{"{"}{"{"}QueryString{"}"}{"}"}}`
{"{"}{"{"}QueryString{"}"}{"}"}} = Bing's macro that auto-fills the actual search query
Step 4: Save
Step 5: Repeat for all keywords (or use bulk edit - see below)
DuckDuckGo Ads
Time: 2 minutes
Step 1: Campaign settings → Tracking template
Step 2: Add utm_term:
?utm_source=duckduckgo&utm_medium=cpc&utm_campaign=product-search-jan-2025&utm_term=`{"{"}{"{"}keyword{"}"}{"}"}}`
Check DuckDuckGo docs for exact macro syntax (may vary)
Step 3: Save
Baidu (China)
Step 1: Campaign → Tracking URL template
Step 2: Add:
?utm_source=baidu&utm_medium=cpc&utm_campaign=product-search-jan-2025&utm_term=`{"{"}{"{"}keyword{"}"}{"}"}}`
Step 3: Save
Yandex (Russia)
Step 1: Campaign settings → URL parameters
Step 2: Add:
?utm_source=yandex&utm_medium=cpc&utm_campaign=product-search-jan-2025&utm_term=`{"{"}{"{"}keyword{"}"}{"}"}}`
Step 3: Save
Yahoo (Gemini)
Step 1: Campaign → Tracking template
Step 2: Add:
?utm_source=yahoo&utm_medium=cpc&utm_campaign=product-search-jan-2025&utm_term=`{"{"}{"{"}keyword{"}"}{"}"}}`
Step 3: Save
Bulk Update (Save Time)
If you have 10+ keywords to update:
Bing Ads Editor Method
Step 1: Download Bing Ads Editor (desktop app)
Step 2: File → Open → Your account
Step 3: Keywords tab → Select all keywords
Step 4: Edit → Destination URLs
Step 5: Find/Replace:
Find: ?utm_campaign=product-search-jan-2025
Replace: ?utm_campaign=product-search-jan-2025&utm_term=`{"{"}{"{"}QueryString{"}"}{"}"}}`
Step 6: Post changes
Result: All keywords updated with utm_term in one action.
😰 Is this your only tracking issue?
This is just 1 of 40+ ways UTM tracking breaks. Most marketing teams have 8-12 critical issues they don't know about.
• 94% of sites have UTM errors
• Average: $8,400/month in wasted ad spend
• Fix time: 15 minutes with our report
✓ Connects directly to GA4 (read-only, secure)
✓ Scans 90 days of data in 2 minutes
✓ Prioritizes issues by revenue impact
✓ Shows exact sessions affected
Keyword Macro Reference
| Platform | Macro for Keyword |
|---|---|
| Bing/Microsoft | {"{"}{"{"}QueryString{"}"}{"}"}} |
| DuckDuckGo | {"{"}{"{"}keyword{"}"}{"}"}} (verify in docs) |
| Baidu | {"{"}{"{"}keyword{"}"}{"}"}} |
| Yandex | {"{"}{"{"}keyword{"}"}{"}"}} |
| Yahoo (Gemini) | {"{"}{"{"}keyword{"}"}{"}"}} |
Always check platform documentation for current macro syntax (may change).
utm_term Naming Format
Dynamic (Recommended)
Use platform's keyword macro:
utm_term=`{"{"}{"{"}QueryString{"}"}{"}"}}`
Platform automatically fills with actual search query:
- "buy crm software" becomes utm_term=buy crm software
- "best project management" becomes utm_term=best project management
Manual (If Platform Has No Macro)
Format:
utm_term=buy-crm-software (lowercase, hyphens)
Rules:
- Lowercase
- Hyphens instead of spaces
- No special characters
Verify It Works
Test 1: Check URL (30 seconds)
Step 1: Search for your ad (or use ad preview tool)
Step 2: Click ad
Step 3: Look at browser address bar
Step 4: Confirm you see utm_term:
✅ Good:
https://yoursite.com/demo?utm_term=buy-crm-software
❌ Missing:
https://yoursite.com/demo
(no utm_term)
Test 2: GA4 Real-Time (1 minute)
Step 1: Click your ad
Step 2: Open GA4 → Reports → Real-time
Step 3: Find your session
Step 4: Verify "Manual term" dimension shows keyword
Expected: Your search keyword appears ✅
Test 3: Campaign Report (24 hours later)
Step 1: GA4 → Reports → Acquisition → Traffic acquisition
Step 2: Primary dimension: Campaign
Step 3: Secondary dimension: First user manual term
Step 4: Look for your campaign → keywords should be listed
What to Do After Adding utm_term
Week 1: Verify Tracking
- Test 3-5 different keywords
- Check GA4 real-time for each
- Confirm keywords appearing correctly
Week 2-3: Collect Data
- Let campaign run (minimum 50 clicks per keyword)
- Don't optimize yet (need enough data)
Week 4: Analyze Performance
GA4 → Explore → Free form
Dimensions: First user manual term Metrics: Sessions, Conversions, Conversion rate
Look for:
- Which keywords have highest CVR?
- Which have most conversions?
- Any obvious winners or losers?
Month 2: Optimize
- Scale high-converting keywords (+50% bid)
- Pause low-converting keywords (<3% CVR)
- Add zero-conversion keywords as negatives
Result: Same budget, more conversions.
Common Mistakes
Mistake #1: Not Using Dynamic Macro
Wrong:
All keywords: utm_term=search-keyword
Problem: All keywords merge, can't differentiate.
Fix:
utm_term=`{"{"}{"{"}QueryString{"}"}{"}"}}`
Mistake #2: Mixing with Auto-Tagging
Wrong:
Google Ads: ?gclid=abc123&utm_term=keyword
Problem: Breaks auto-tagging.
Fix: Use EITHER gclid OR utm_term, never both.
Mistake #3: Using utm_term for Display Ads
Wrong:
Display banner: utm_term=300x250-blue-cta
Problem: utm_term is for keywords (search), not display creatives.
Fix: Use utm_content for display:
utm_content=300x250-blue-cta
Mistake #4: Adding to Wrong Ad Type
utm_term is ONLY for search ads (keyword-triggered).
Don't use for:
- Display ads (use utm_content)
- Social ads (use utm_content)
- Email (use utm_content if needed)
- Video ads (use utm_content)
Quick Reference Checklist
✅ Identify platform (Bing, DuckDuckGo, etc.)
✅ Find correct keyword macro ({"{"}{"{"}QueryString{"}"}{"}"}}, {"{"}{"{"}keyword{"}"}{"}"}})
✅ Add to destination URL: &utm_term={"{"}{"{"}macro{"}"}{"}"}}
✅ Test with real search (check browser URL)
✅ Verify in GA4 real-time (keyword appears)
✅ Wait 2 weeks for data
✅ Analyze keyword performance in GA4
✅ Optimize budget based on conversion rates
✅ Fixed this issue? Great! Now check the other 39...
You just fixed one tracking issue. But are your Google Ads doubling sessions? Is Facebook attribution broken? Are internal links overwriting campaigns?
• Connects to GA4 (read-only, OAuth secured)
• Scans 90 days of traffic in 2 minutes
• Prioritizes by revenue impact
• Free forever for monthly audits
Join 2,847 marketers fixing their tracking daily
FAQ
Do I need utm_term for Google Ads?
No. Google Ads auto-tagging (gclid) captures keywords automatically. Adding utm_term breaks auto-tagging.
Use utm_term only for:
- Bing Ads (manual UTMs)
- DuckDuckGo
- Other search platforms without auto-tagging
What if my keyword macro doesn't work?
Troubleshoot:
- Check platform documentation for correct syntax
- Try alternative:
{"{"}{"{"}keyword{"}"}{"}"}}vs{"{"}{"{"}QueryString{"}"}{"}"}} - Contact platform support for correct macro
Fallback: Manually add utm_term to each keyword (tedious but works)
Can I change utm_term mid-campaign?
You can, but don't. Changing mid-campaign fragments data:
- Week 1-2: Old utm_term format
- Week 3-4: New utm_term format
- GA4 treats as different keywords
Better: Set once at campaign start, don't change.
What if I have 200+ keywords?
Use bulk edit tools:
- Bing Ads Editor (desktop app)
- Spreadsheet import (if platform supports)
- API scripts (for automation)
Don't manually update 200 keywords one by one.
How do I track keywords from Google Ads?
Use auto-tagging. Enable in Google Ads settings:
- Settings → Account settings
- Auto-tagging: ON
- Save
Don't add manual UTMs. gclid captures keywords automatically.
Can I use utm_term for organic keywords?
No. utm_term is for paid search only.
For organic keywords:
- Google Search Console (keyword query report)
- GA4's organic search traffic report (limited data)
Conclusion
Fix missing utm_term in 3 steps:
-
Add utm_term to search ad tracking URLs
- Use platform's keyword macro
- Example:
&utm_term={"{"}{"{"}QueryString{"}"}{"}"}}
-
Verify in GA4 real-time (keyword appears)
-
Analyze after 2 weeks (keyword performance data)
Result: You can now see which keywords drive conversions, enabling data-driven bid optimization.
Time investment: 5 minutes setup → lifetime of keyword insights.
Related: utm_term vs gclid: When to Use Which