wbraid vs gclid: Understanding the Differences
Technical comparison of Google's wbraid and gclid parameters. When to use each for web campaigns vs iOS app campaigns.
Google Ads appends different click IDs depending on campaign type and platform. For app campaigns on iOS, you'll see wbraid instead of the standard gclid. Understanding the difference matters for tracking setup and troubleshooting.
Table of contents
- The Key Differences
- When Google Uses Each Parameter
- gclid: Standard Web Campaigns
- wbraid: iOS App Campaigns
- gbraid: Safari/iOS Web Campaigns (NOT wbraid)
- Campaign Type Comparison
- Technical Comparison
- How wbraid Works for iOS App Campaigns
- Complete Tracking Flow
- Why Manual UTMs are Redundant
- Exception: Hybrid Web + App Campaigns
- iOS Privacy Compliance
- How wbraid Respects ATT
- Troubleshooting
- Issue 1: App Installs Not Showing in Google Ads
- Issue 2: wbraid Parameter Missing from App Store URL
- Issue 3: Both gclid and wbraid in Same Campaign
- FAQ
- Can I use wbraid for Android app campaigns?
- Does wbraid work without Firebase?
- How long does wbraid track conversions after install?
- Can I decode wbraid to see campaign data?
- What if user doesn't grant ATT permission?
- How do I track web-to-app conversions?
- Can I see which specific ad drove app installs?
- Should I track "firstopen" or custom install events?
- Why is there a 24-48h delay for iOS conversions?
- Can I use UTMs with wbraid?
- Related Resources
- Internal Guides
- Google Official Documentation
- Apple 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 Key Differences
gclid (Google Click ID)
- Campaign type: Standard web campaigns
- Platform: All browsers and devices (for web traffic)
- Purpose: Track clicks to websites and web conversions
- Technology: Cookie-based attribution
- Attribution window: 90 days (default)
- First introduced: 2005
wbraid (Web-to-App Browsing ID)
- Campaign type: App install and app engagement campaigns
- Platform: iOS only (iPhone, iPad)
- Purpose: Track app installs and web-to-app conversions
- Technology: Privacy-safe, ATT-compliant attribution via SKAdNetwork
- Attribution window: 30 days (default, adjustable)
- First introduced: 2021 (response to iOS 14 privacy changes)
😰 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
When Google Uses Each Parameter
Google Ads automatically selects the appropriate parameter based on campaign type, platform, and browser.
gclid: Standard Web Campaigns
Used for:
- Google Search campaigns (web destination)
- Google Display campaigns (web destination)
- Google Shopping campaigns
- YouTube campaigns (web destination)
- Performance Max campaigns (web conversions)
Platforms:
- All desktop browsers (Chrome, Firefox, Edge, Safari)
- Android mobile browsers
- iOS mobile browsers (for web campaigns only)
Example URL:
yoursite.com/product?gclid=EAIaIQobChMI7qHM4o7t-gIVBxatBh2yZwG6EAAYASAAEgJYY_D_BwE
wbraid: iOS App Campaigns
Used for:
- Google App campaigns (iOS app install)
- App engagement campaigns (iOS)
- Universal app campaigns targeting iOS
Platforms:
- iOS only (all traffic directed to App Store)
Example URL (App Store):
apps.apple.com/app/your-app/id123456789?wbraid=abc123xyz...
gbraid: Safari/iOS Web Campaigns (NOT wbraid)
Important distinction:
- wbraid = iOS app campaigns
- gbraid = Safari/iOS web campaigns
Don't confuse these. They serve different purposes despite both targeting iOS.
Campaign Type Comparison
| Campaign Type | iOS | Android | Desktop |
|---|---|---|---|
| Web campaigns | gbraid (Safari) | gclid | gclid |
| App campaigns | wbraid | gclid | N/A |
Technical Comparison
| Feature | gclid | wbraid |
|---|---|---|
| Use case | Web campaigns | iOS app campaigns |
| Destination | Website URL | App Store URL |
| Attribution | Website conversions | App installs, in-app events |
| Privacy framework | Standard cookies | ATT-compliant (SKAdNetwork) |
| GA4 integration | Full support | App + web tracking |
| Remarketing | Web remarketing | App remarketing |
| Conversion delay | Real-time | 24-48h (aggregated) |
| User-level data | Full granularity | Aggregated (privacy-protected) |
| Attribution window | 90 days | 30 days (default) |
| Firebase required? | No | Yes (for app tracking) |
How wbraid Works for iOS App Campaigns
Complete Tracking Flow
Step 1: User Sees Google App Campaign
User searches "meditation apps" on Google
↓
Google App campaign triggers
↓
Ad shows with App Store link
Step 2: User Clicks Ad
User clicks ad on iOS device
↓
Google appends wbraid to App Store URL
↓
Redirected to: apps.apple.com/app/id123?wbraid=abc123xyz
Step 3: User Installs App
User clicks "Get" in App Store
↓
App installs on iPhone
↓
App opens for first time
Step 4: Firebase Tracks Install
Firebase SDK initializes
↓
Reads wbraid from iOS system (via SKAdNetwork)
↓
Sends install event to Google Ads with wbraid
↓
Google Ads attributes install to campaign
Step 5: In-App Conversions
User completes purchase in app
↓
Firebase logs "purchase" event
↓
Event sent to Google Ads with original wbraid
↓
Purchase attributed to original campaign
Why Manual UTMs are Redundant
Both gclid and wbraid provide complete attribution for their respective campaign types. Adding manual UTM parameters:
- Provides zero additional tracking value (GA4 and Firebase ignore them)
- Clutters URLs unnecessarily
- Makes campaign management harder
- May create confusion in attribution reports
Best practice: Enable Google Ads auto-tagging and let Google handle everything automatically.
Exception: Hybrid Web + App Campaigns
If you run campaigns that send users to a landing page first (not directly to App Store), you may see:
yoursite.com/app-landing?gclid=abc123 (web tracking)
↓
User clicks "Download on App Store"
↓
apps.apple.com/app/id123?wbraid=xyz789 (app tracking)
Both parameters track different stages of the journey.
iOS Privacy Compliance
How wbraid Respects ATT
Pre-iOS 14 (IDFA-based tracking):
- App tracking used IDFA (Identifier for Advertisers)
- Full user-level attribution
- No user permission required
iOS 14+ (wbraid + SKAdNetwork):
- wbraid uses Apple's SKAdNetwork framework
- Aggregated attribution (no user-level data)
- Privacy-safe without ATT permission
- User can still grant ATT for enhanced tracking
Impact of ATT permission:
| Data Type | Without ATT | With ATT |
|---|---|---|
| Install attribution | ✅ Campaign-level | ✅ User-level |
| Conversion value | ✅ Aggregated | ✅ Detailed |
| Retargeting | ❌ Limited | ✅ Full |
| Attribution delay | 24-48h | Real-time |
| Cross-app tracking | ❌ No | ✅ Yes |
Troubleshooting
Issue 1: App Installs Not Showing in Google Ads
Problem: Users install app from Google Ads, but installs don't appear in Google Ads reporting.
Cause: Firebase not installed or not linked to Google Ads.
Fix:
- Install Firebase SDK in iOS app
- Link Firebase project to Google Ads account
- Create "first_open" conversion action in Google Ads
- Wait 24-48h for iOS installs (aggregated reporting via SKAdNetwork)
Issue 2: wbraid Parameter Missing from App Store URL
Problem: Clicking ad doesn't append wbraid to App Store URL.
Cause: Not using app campaign type or auto-tagging disabled.
Fix:
- Verify campaign type is "App campaign" (not Search or Display)
- Check auto-tagging enabled: Google Ads → Settings → Auto-tagging
- Test from iOS device (wbraid only appears on iOS)
Issue 3: Both gclid and wbraid in Same Campaign
Problem: Campaign URLs show both parameters.
Cause: Hybrid campaign sending users to web landing page first, then App Store.
Reality: This is expected for web-to-app funnels:
- gclid tracks web landing page visit
- wbraid tracks subsequent app install
Action: Ensure Firebase tracks both web events (via GA4) and app events (via Firebase SDK).
FAQ
Can I use wbraid for Android app campaigns?
No. Android app campaigns use standard gclid parameter. wbraid is iOS-only due to Apple's privacy restrictions.
Does wbraid work without Firebase?
No. wbraid requires Firebase SDK in your iOS app to read the parameter and send attribution data to Google Ads.
How long does wbraid track conversions after install?
Default: 30 days post-install. Adjustable in Google Ads conversion settings (maximum 90 days).
Can I decode wbraid to see campaign data?
No. wbraid is an encrypted identifier. Only Google's servers can decrypt it. All attribution data is visible in Google Ads reports.
What if user doesn't grant ATT permission?
wbraid still works. It uses SKAdNetwork for privacy-safe aggregated attribution without requiring ATT permission. Individual user tracking requires ATT, but campaign-level attribution doesn't.
How do I track web-to-app conversions?
Use both gclid (for web landing page) and wbraid (for app install). Set up:
- GA4 for web tracking (reads gclid)
- Firebase for app tracking (reads wbraid)
- Link both to Google Ads
Can I see which specific ad drove app installs?
Yes, but with limitations:
- Android: Full ad-level data (headline, description, creative)
- iOS: Ad group level only (privacy restrictions via SKAdNetwork)
Should I track "first_open" or custom install events?
Track both:
- first_open: Default Firebase event, tracks when app opens
- Custom install: Create event for completed onboarding (more valuable)
Example:
// Track when user completes onboarding (higher quality conversion)
Analytics.logEvent("onboarding_complete", parameters: [:])Why is there a 24-48h delay for iOS conversions?
iOS uses SKAdNetwork for privacy-safe attribution, which batches and aggregates conversion data. Android shows conversions in real-time because it has fewer privacy restrictions.
Can I use UTMs with wbraid?
Technically yes, but they're redundant and ignored. Firebase and Google Ads only use wbraid for app campaign attribution.
Related Resources
Internal Guides
- Fix wbraid UTM Conflicts - Remove redundant UTMs
- Google App Campaigns Tracking - Complete setup guide
- Google Ads Double Sessions Fix - Troubleshooting duplicate data
- Platform Click ID Conflicts - Auto-tagging across all platforms
Google Official Documentation
- Google Ads App Campaigns - Official campaign setup
- Track app conversions with wbraid - wbraid documentation
- Firebase for iOS - iOS SDK setup
Apple Resources
- App Tracking Transparency - Official ATT documentation
- SKAdNetwork - Apple's attribution framework
Conclusion
wbraid and gclid serve different purposes: wbraid for iOS app campaigns, gclid for web campaigns and Android apps.
Key takeaways:
- gclid: Web campaigns (all platforms) + Android app campaigns
- wbraid: iOS app campaigns only
- gbraid: Safari/iOS web campaigns (different from wbraid!)
- Auto-tagging: Google selects the correct parameter automatically based on campaign type
- Manual UTMs: Redundant for Google Ads (auto-tagging provides complete attribution)
- Firebase required: wbraid requires Firebase SDK for iOS app tracking
- Privacy: wbraid uses SKAdNetwork for ATT-compliant aggregated attribution
Best practice: Enable auto-tagging, install Firebase SDK in iOS apps, link Firebase to Google Ads, create conversion actions for app events.
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