twclid vs Manual UTM Parameters: Twitter/X Ads Tracking Guide
Complete comparison of Twitter/X's twclid vs manual UTMs. How to track Twitter Ads correctly in GA4 and Twitter Analytics.
Twitter/X Ads automatically append the twclid parameter to track conversions. But unlike Google's gclid, GA4 cannot read twclid for attribution. You need manual UTM parameters for GA4 tracking.
Here's how to track Twitter/X Ads correctly across both platforms.
Table of contents
- The Critical Difference: twclid vs gclid
- Google Ads Parameters (gclid, gbraid, wbraid)
- Twitter/X Ads Parameter (twclid)
- Why You Need Both twclid AND UTMs
- twclid (Automatic - Twitter's Tracking)
- Manual UTM Parameters (Required - GA4 Tracking)
- Combined Example
- Setup Twitter/X Ads Tracking
- Step 1: Install Twitter Pixel
- Step 2: Add UTM Parameters to Twitter Ads
- Step 3: Verify Tracking
- Comparison: Platform Parameters
- Common Issues & Troubleshooting
- Issue 1: Twitter Traffic Shows as "t.co / referral"
- Issue 2: Conversions Not Showing in Twitter Ads Manager
- Issue 3: twclid Parameter Missing
- Issue 4: Duplicate Sessions in GA4
- FAQ
- Do UTMs conflict with twclid?
- Why doesn't GA4 recognize twclid automatically?
- Can I track Twitter Ads without UTMs?
- Should I use utmmedium=cpc or paid-social for Twitter Ads?
- How long does twclid track conversions?
- What if I'm already using UTMs without twclid?
- Can I use dynamic UTM parameters in Twitter Ads?
- Does twclid work with iOS 14+ restrictions?
- How do I track Twitter Ads app installs?
- Can I see which specific tweet drove conversions?
- Related Resources
- Internal Guides
- Twitter/X Official Documentation
- GA4 Resources
- Conclusion
🚨 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
The Critical Difference: twclid vs gclid
Understanding why Twitter/X Ads require manual UTMs starts with knowing how different platforms handle tracking parameters.
Google Ads Parameters (gclid, gbraid, wbraid)
GA4 recognition: ✅ Yes, automatic attribution
How it works:
- GA4 natively recognizes Google click IDs
- Automatically classifies as "Paid Search" or "Paid Social"
- No manual UTMs needed
Example:
yoursite.com/product?gclid=abc123
↓
GA4 reads gclid automatically
↓
Classified as: google / cpc
Twitter/X Ads Parameter (twclid)
GA4 recognition: ❌ No, requires manual UTMs
How it works:
- twclid provides tracking only for Twitter's native analytics
- GA4 cannot read twclid for attribution
- Manual UTMs required for GA4 tracking
Example without UTMs:
yoursite.com/product?twclid=xyz789
↓
GA4 cannot read twclid
↓
Classified as: t.co / referral (incorrect!)
Example with UTMs:
yoursite.com/product?utm_source=twitter&utm_medium=paid-social&twclid=xyz789
↓
GA4 reads UTMs for attribution
Twitter reads twclid for conversion tracking
↓
GA4 classification: twitter / paid-social (correct!)
😰 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
Why You Need Both twclid AND UTMs
Unlike Google Ads where UTMs are redundant, Twitter/X Ads require both tracking methods:
twclid (Automatic - Twitter's Tracking)
What twclid tracks:
- Twitter Pixel conversion events
- Post-click conversions in Twitter Analytics
- Campaign and ad performance in Twitter Ads Manager
- Audience building for retargeting
- View-through conversions (users who saw but didn't click)
Setup: Automatic. Twitter appends twclid to all ad clicks.
Manual UTM Parameters (Required - GA4 Tracking)
What UTMs track:
- Traffic source attribution in GA4
- Cross-platform campaign analysis
- Conversion funnel analysis in GA4
- User behavior and engagement metrics
- Custom dimensions and segments
Setup: Manual. You add UTMs to destination URLs in Twitter Ads Manager.
Combined Example
Your destination URL in Twitter Ads Manager:
https://yoursite.com/product?utm_source=twitter&utm_medium=paid-social&utm_campaign=summer_promo
What user sees after clicking ad:
https://yoursite.com/product?utm_source=twitter&utm_medium=paid-social&utm_campaign=summer_promo&twclid=o-vkg1hkp03m201f5ld6kp5go8wd6pf5d
Result:
- Twitter Ads Manager shows conversions (via twclid)
- GA4 shows traffic attribution (via UTMs)
- No conflicts, no duplicate sessions
Setup Twitter/X Ads Tracking
Step 1: Install Twitter Pixel
Twitter Pixel tracks conversions for Twitter Ads Manager.
Base code (add to all pages):
<!-- Twitter Pixel Base Code -->
<script>
!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
},s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js',
a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');
twq('config','YOUR_PIXEL_ID');
</script>Conversion events (add to confirmation/thank-you pages):
// Purchase event
twq('event', 'tw-obqde-ocjxl', {
value: 99.99,
currency: 'USD',
num_items: 1,
order_id: 'ORDER-12345'
});
// Signup event
twq('event', 'tw-obqde-ocjxm', {
email_address: 'user@example.com' // Hashed automatically
});
// Add to cart
twq('event', 'tw-obqde-ocjxn', {
value: 49.99,
currency: 'USD',
content_name: 'Product Name'
});Step 2: Add UTM Parameters to Twitter Ads
Recommended UTM structure for Twitter/X Ads:
?utm_source=twitter
&utm_medium=paid-social
&utm_campaign={campaign_name}
&utm_content={ad_group_name}
&utm_term={keyword} (optional)
Twitter Ads Manager setup:
- Open Twitter Ads Manager
- Navigate to Campaign → Edit
- Expand Website URL section
- Add UTMs to destination URL:
Code
https://yoursite.com/landing?utm_source=twitter&utm_medium=paid-social&utm_campaign=q4_promo - Save changes
Twitter automatically appends &twclid=... when user clicks ad.
Step 3: Verify Tracking
Test Twitter Pixel:
- Install Twitter Pixel Helper Chrome extension
- Visit your website
- Check extension shows "Pixel found" with green checkmark
- Complete test conversion
- Verify conversion event appears in extension
- Check Twitter Ads Manager → Events Manager → Event History
Test GA4 attribution:
- Create test campaign with small budget ($10/day)
- Click ad from Twitter/X app or web
- Check landing page URL in browser
- Verify both UTMs and twclid present
- Check GA4 → Real-time report
- Verify traffic shows as "twitter / paid-social"
Comparison: Platform Parameters
| Parameter | Platform | GA4 Recognition | Manual UTMs Needed? |
|---|---|---|---|
| gclid | Google Ads | ✅ Yes | ❌ No (optional) |
| gbraid | Google Ads (Safari/iOS) | ✅ Yes | ❌ No |
| wbraid | Google Ads (iOS apps) | ✅ Yes | ❌ No |
| fbclid | Facebook/Meta | ✅ Yes | ❌ No |
| msclkid | Microsoft Ads | ✅ Yes | ❌ No |
| ttclid | TikTok Ads | ❌ No | ✅ Yes |
| twclid | Twitter/X Ads | ❌ No | ✅ Yes |
| li_fat_id | LinkedIn Ads | ❌ No | ✅ Yes |
Platforms requiring manual UTMs: TikTok, Twitter/X, LinkedIn, Pinterest
Common Issues & Troubleshooting
Issue 1: Twitter Traffic Shows as "t.co / referral"
Problem: Twitter Ads appear as "t.co / referral" in GA4 instead of "twitter / paid-social".
Cause: UTM parameters missing from destination URL.
Fix:
- Twitter Ads Manager → Edit campaigns
- Add UTM parameters to destination URLs
- Verify UTMs present:
?utm_source=twitter&utm_medium=paid-social - Save and wait 24-48h for GA4 data to update
Issue 2: Conversions Not Showing in Twitter Ads Manager
Problem: GA4 shows conversions, but Twitter Ads Manager shows zero.
Cause: Twitter Pixel not installed or conversion events not configured.
Fix:
- Install Twitter Pixel base code on all pages
- Add conversion event code to confirmation pages
- Test with Twitter Pixel Helper
- Verify events appear in Twitter Events Manager
Issue 3: twclid Parameter Missing
Problem: Ad clicks don't include twclid in URL.
Cause: URL redirects stripping the parameter.
Fix:
- Check for 301/302 redirects on landing page
- Ensure redirects preserve query parameters:
Javascript
// ❌ Wrong (loses twclid) window.location = '/new-page'; // ✅ Correct (preserves twclid) window.location = '/new-page' + window.location.search; - Test manually: Add
?test=123to URL, verify parameter persists after redirect
Issue 4: Duplicate Sessions in GA4
Problem: Each Twitter ad click creates 2 sessions in GA4.
Cause: This is extremely rare with Twitter Ads (unlike Google Ads where gclid + UTMs can create conflicts).
Diagnosis:
- GA4 → Acquisition → Traffic acquisition
- Search for "twitter"
- Look for duplicate entries with same timestamp
Most likely cause: Multiple tracking codes (e.g., GA4 tag firing twice)
Fix:
- Google Tag Manager → Check for duplicate GA4 tags
- Verify GA4 snippet appears only once in page source
- Remove redundant tracking implementations
FAQ
Do UTMs conflict with twclid?
No. Unlike Google's gclid (which can cause conflicts when combined with UTMs), twclid and UTMs serve different purposes and coexist without issues:
- twclid → Twitter Ads Manager tracking
- UTMs → GA4 attribution
Why doesn't GA4 recognize twclid automatically?
GA4 only natively recognizes click IDs from Google (gclid, gbraid, wbraid) and Facebook (fbclid). Other platforms require manual UTMs for GA4 attribution.
Can I track Twitter Ads without UTMs?
You can track conversions in Twitter Ads Manager (via Twitter Pixel and twclid), but GA4 won't properly attribute traffic without UTMs. Traffic will show as "t.co / referral" or "direct".
Should I use utm_medium=cpc or paid-social for Twitter Ads?
Either works. Recommended based on GA4's default channel grouping:
utm_medium=paid-social→ Classified as "Paid Social"utm_medium=cpc→ Classified as "Paid Search" (less semantically correct but works)utm_medium=paidsocial→ Also works (no hyphen)
Best practice: utm_medium=paid-social for social platforms.
How long does twclid track conversions?
Twitter's default attribution window:
- Click-through conversions: 30 days
- View-through conversions: 1 day
Adjustable in Twitter Ads Manager → Conversion settings.
What if I'm already using UTMs without twclid?
That's fine. Twitter automatically appends twclid when users click ads. You don't need to manually add it—only UTMs should be added manually.
Can I use dynamic UTM parameters in Twitter Ads?
Twitter doesn't support dynamic parameters like Google Ads ({campaign}, {keyword}). You must hardcode UTM values for each campaign.
Does twclid work with iOS 14+ restrictions?
Yes. Twitter Pixel uses Privacy Thresholds and aggregated reporting to comply with iOS 14+ App Tracking Transparency. Conversion tracking continues with some limitations (24-48h delay, aggregated data).
How do I track Twitter Ads app installs?
For mobile app campaigns, use Twitter's Mobile App Promotion (MAP) campaigns with:
- iOS: Twitter App Install tracking via SKAdNetwork
- Android: Google Play Install Referrer
UTMs are not needed for app install campaigns.
Can I see which specific tweet drove conversions?
Yes, in Twitter Ads Manager:
- Campaigns → Analytics → Tweets
- View performance by individual tweet creative
- See impressions, clicks, conversions per tweet
GA4 won't show tweet-level detail (only campaign/medium/source).
Related Resources
Internal Guides
- Twitter Ads Double Sessions Fix - Troubleshooting duplicate data
- Platform Click ID Conflicts - Auto-tagging across all platforms
- Complete UTM Tracking Guide (GA4 2025) - UTM fundamentals
Twitter/X Official Documentation
- Install Twitter Pixel - Official setup guide
- Twitter Conversions API - Server-side tracking
GA4 Resources
- GA4 Channel Grouping - Default channel definitions
Conclusion
Twitter/X Ads require BOTH twclid (automatic) and manual UTM parameters (manual) for complete tracking.
Setup checklist:
- ✅ Install Twitter Pixel on all website pages
- ✅ Add conversion events (purchase, signup, add_to_cart)
- ✅ Add manual UTM parameters to all Twitter Ads destination URLs
- ✅ Use
utm_source=twitter&utm_medium=paid-social&utm_campaign={name} - ✅ Test with Twitter Pixel Helper Chrome extension
- ✅ Verify GA4 shows traffic as "twitter / paid-social"
- ✅ Check Twitter Ads Manager shows conversions via twclid
Result:
- Twitter Ads Manager tracks conversions via twclid and Twitter Pixel
- GA4 attributes traffic via manual UTM parameters
- No conflicts, complete attribution across both platforms
Related Documentation:
✅ 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