Paid Campaign Tracking Checklist: Never Miss Auto-Tagging Again
Complete pre-launch checklist ensuring all paid campaigns have proper auto-tagging and UTM parameters
Your team launches a $50,000 campaign. Tracking breaks. No attribution data. Budget wasted.
Use this checklist before launching ANY paid campaign to ensure perfect tracking every time.
Table of contents
- The Pre-Launch Checklist
- Phase 1: Platform Configuration (5 minutes)
- Phase 2: URL Validation (3 minutes)
- Phase 3: GA4 Real-Time Testing (2 minutes)
- Phase 4: Naming Convention Compliance (2 minutes)
- Phase 5: Cross-Domain Tracking (If Applicable)
- Phase 6: Landing Page Verification (2 minutes)
- Phase 7: Budget & Targeting Review (3 minutes)
- Phase 8: Team Communication (2 minutes)
- Phase 9: Monitoring Setup (3 minutes)
- Phase 10: Post-Launch Validation (24 Hours Later)
- Quick Reference: Platform-Specific Requirements
- Google Ads Minimum Requirements
- Microsoft Ads Minimum Requirements
- Facebook Minimum Requirements
- TikTok Minimum Requirements
- LinkedIn Minimum Requirements
- Troubleshooting Common Pre-Launch Issues
- Issue: Test Ad Shows No Parameters
- Issue: GA4 Real-Time Shows Wrong Source
- Issue: Cost Data Not Importing
- FAQ
- How long does this checklist take?
- Can I automate any of these checks?
- What if I skip the checklist?
- Should I use this for organic campaigns too?
- How often should I audit active campaigns?
- What if I find issues after launch?
- Can I create a template from this?
- What about A/B testing campaigns?
- How do I train my team on this?
- What's the most commonly skipped step?
🚨 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 Pre-Launch Checklist
Copy this checklist for every campaign launch. Do NOT skip any steps.
Phase 1: Platform Configuration (5 minutes)
✅ Google Ads
- Auto-tagging enabled (Settings → Account settings → Auto-tagging: ON)
- GA4 linked (Tools & Settings → Linked accounts → Google Analytics)
- Cost data import enabled
- Conversion tracking configured
✅ Microsoft Ads
- Auto-tagging enabled (Settings → Auto-tagging: ON)
- Tracking template configured:
Code
{lpurl}?utm_source=bing&utm_medium=cpc&utm_campaign={campaign}&msclkid={msclkid} - UET tag installed on site
✅ Facebook/Instagram Ads
- URL parameters configured in Ad Manager:
Code
utm_source={{site_source_name}}&utm_medium=paid-social&utm_campaign={{campaign.name}} - Facebook Pixel installed
- Test ad shows both fbclid AND UTMs
✅ TikTok Ads
- URL parameters configured:
Code
utm_source=tiktok&utm_medium=paid-social&utm_campaign={{campaign.name}} - TikTok Pixel installed
- Test ad shows both ttclid AND UTMs
✅ LinkedIn Ads
- URL parameters configured:
Code
utm_source=linkedin&utm_medium=paid-social&utm_campaign=your_campaign_name - LinkedIn Insight Tag installed
😰 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
Phase 2: URL Validation (3 minutes)
Test Every Ad Creative
// Run this for each test ad URL
const url = 'YOUR_TEST_AD_URL';
const urlObj = new URL(url);
console.log('Tracking check:');
console.log('gclid:', urlObj.searchParams.get('gclid'));
console.log('fbclid:', urlObj.searchParams.get('fbclid'));
console.log('msclkid:', urlObj.searchParams.get('msclkid'));
console.log('ttclid:', urlObj.searchParams.get('ttclid'));
console.log('utm_source:', urlObj.searchParams.get('utm_source'));
console.log('utm_medium:', urlObj.searchParams.get('utm_medium'));
console.log('utm_campaign:', urlObj.searchParams.get('utm_campaign'));Required results:
- Google Ads: gclid present (UTMs optional)
- Facebook: fbclid + utm_source + utm_medium + utm_campaign
- Microsoft: msclkid + utm_source + utm_medium + utm_campaign
- TikTok: ttclid + utm_source + utm_medium + utm_campaign
- LinkedIn: utm_source + utm_medium + utm_campaign
Check for Common Errors
- No duplicate UTM parameters (
utm_source=x&utm_source=y) - No spaces in values (use underscores or hyphens)
- Special characters encoded (
&→%26,+→%2B) - Query string starts with
?(not&) - Fragment
#comes AFTER query parameters - No conflicting click IDs (gclid + fbclid on same URL)
Phase 3: GA4 Real-Time Testing (2 minutes)
Test Flow for Each Platform
1. Click test ad in incognito browser
2. Open GA4 → Reports → Realtime
3. Verify session appears within 30 seconds
4. Check Traffic acquisition source
5. Confirm correct attribution
Expected results:
| Platform | GA4 Source | GA4 Medium | Notes |
|---|---|---|---|
| Google Ads | cpc | Automatic from gclid | |
| Microsoft Ads | bing | cpc | From UTM parameters |
| paid-social | From UTM parameters | ||
| paid-social | Uses {{site_source_name}} | ||
| TikTok | tiktok | paid-social | From UTM parameters |
| paid-social | From UTM parameters |
Phase 4: Naming Convention Compliance (2 minutes)
UTM Naming Standards
Ensure all campaign names follow your organization's standards:
✅ Good naming:
utm_campaign=2024_q4_black_friday_sale
utm_campaign=product_launch_email_sequence
utm_campaign=brand_awareness_video_ads
❌ Bad naming:
utm_campaign=campaign1
utm_campaign=Test
utm_campaign=NEW CAMPAIGN!!!
Standard format:
{year}_{quarter/month}_{campaign_type}_{target_audience}_{creative_variant}
Examples:
2024_q4_acquisition_enterprise_video_a
2024_dec_retention_smb_carousel_b
Check Against Standards
- Campaign name follows format
- No spaces (use underscores)
- All lowercase
- Descriptive (not generic)
- Unique (no duplicates with other campaigns)
- Documented in campaign tracker
Phase 5: Cross-Domain Tracking (If Applicable)
If Campaign Lands on Different Domain
- GA4 cross-domain tracking configured
- Both domains listed in GA4 settings:
Code
Admin → Data Streams → Configure → Configure your domains Add: shop.yoursite.com, www.yoursite.com - Test redirect preserves parameters
- Linker parameter appears on cross-domain URLs
Phase 6: Landing Page Verification (2 minutes)
Check Landing Page
- Page loads without errors
- GA4 tag fires (check browser console)
- Conversion tracking configured
- Mobile responsive
- Page speed acceptable (less than 3 seconds)
- Form tracking configured (if applicable)
Test Conversion Flow
- Click test ad
- Complete desired action (form fill, purchase, etc.)
- Verify conversion appears in GA4 Realtime
- Check conversion attribution to correct source
Phase 7: Budget & Targeting Review (3 minutes)
Budget Alignment
- Daily budget set correctly
- Total campaign budget documented
- Billing method configured
- Budget alerts configured
Targeting Verification
- Geographic targeting matches campaign goals
- Demographic targeting configured
- Audience segments applied
- Placement exclusions set (if needed)
- Dayparting configured (if needed)
Phase 8: Team Communication (2 minutes)
Internal Documentation
- Campaign documented in tracker:
- Campaign name
- Platform
- Budget
- Start/end dates
- UTM parameters
- Landing pages
- Expected KPIs
- Stakeholders notified
- Analytics team alerted
- Creative assets archived
Phase 9: Monitoring Setup (3 minutes)
Set Up Alerts
Configure GA4 alerts for:
Alert 1: Traffic appears
Condition: Campaign shows >0 sessions within 24 hours
Action: Confirm tracking working
Alert 2: Cost data importing (Google Ads only)
Condition: Cost > $0 within 48 hours
Action: Confirm cost import working
Alert 3: Conversion tracking
Condition: Conversions > 0 within first week
Action: Confirm conversion attribution working
Phase 10: Post-Launch Validation (24 Hours Later)
Day 1 Check
- Campaign traffic visible in GA4
- Source/medium attribution correct
- Cost data imported (Google Ads)
- Conversions tracking properly
- Click volume matches platform reporting
- No attribution anomalies
Quick Reference: Platform-Specific Requirements
Google Ads Minimum Requirements
✅ Auto-tagging: ON
✅ GA4 linked
✅ Test ad shows: ?gclid=...
✅ GA4 shows: source=google, medium=cpc
Microsoft Ads Minimum Requirements
✅ Auto-tagging: ON
✅ Tracking template with UTMs
✅ Test ad shows: ?msclkid=...&utm_source=bing&utm_medium=cpc
✅ GA4 shows: source=bing, medium=cpc
Facebook Minimum Requirements
✅ URL parameters configured
✅ Facebook Pixel installed
✅ Test ad shows: ?fbclid=...&utm_source=facebook&utm_medium=paid-social
✅ GA4 shows: source=facebook, medium=paid-social
TikTok Minimum Requirements
✅ URL parameters configured
✅ TikTok Pixel installed
✅ Test ad shows: ?ttclid=...&utm_source=tiktok&utm_medium=paid-social
✅ GA4 shows: source=tiktok, medium=paid-social
LinkedIn Minimum Requirements
✅ URL parameters configured
✅ Insight Tag installed
✅ Test ad shows: ?utm_source=linkedin&utm_medium=paid-social
✅ GA4 shows: source=linkedin, medium=paid-social
Troubleshooting Common Pre-Launch Issues
Issue: Test Ad Shows No Parameters
Check:
- Auto-tagging actually enabled (not just saved)
- Clear browser cache and test again
- Test in incognito mode
- Verify no URL shortener stripping parameters
Issue: GA4 Real-Time Shows Wrong Source
Check:
- UTM values match expected platform
- No conflicting parameters (multiple sources)
- Referrer data not overriding UTMs
- No browser extensions modifying URLs
Issue: Cost Data Not Importing
Check:
- GA4-Google Ads link complete (both directions)
- Auto-tagging enabled in Google Ads
- Cost import permission enabled in link settings
- Wait 24-48 hours (not instant)
✅ 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
How long does this checklist take?
20-30 minutes for first campaign on each platform. 10-15 minutes for subsequent campaigns once you know the process.
Can I automate any of these checks?
Yes. URL validation, UTM parameter presence, and GA4 tag firing can be automated with testing scripts. But manual verification recommended for first launch.
What if I skip the checklist?
Risk of untracked campaigns, wasted budget, incorrect attribution, inability to optimize, and missing ROI data. Don't skip.
Should I use this for organic campaigns too?
Simplified version, yes. Focus on UTM consistency and GA4 validation. Skip auto-tagging steps (not applicable to organic).
How often should I audit active campaigns?
Weekly during first month, then monthly. Use shortened checklist focusing on tracking health, not configuration.
What if I find issues after launch?
Fix immediately. Document when fix applied. Segment reports to exclude broken period. Future data will be correct.
Can I create a template from this?
Yes. Create platform-specific templates in your project management tool. Assign to team members before every launch.
What about A/B testing campaigns?
Use utm_content to differentiate variants. Run checklist for each variant. Ensure consistent naming across variants.
How do I train my team on this?
Create internal documentation, record walkthrough video, require checklist completion before campaign approval, review first 3 launches together.
What's the most commonly skipped step?
GA4 Real-Time testing. Teams configure tracking but don't verify it works. Always test before spending budget.
Related guides:
- How to Enable Auto-Tagging on All Ad Platforms
- Fix Untagged Paid Campaigns Missing Click IDs
- Auto-Tagging vs Manual UTMs: Which to Use and When
✅ 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