Audit UTM tagging consistency across all paid campaigns for accurate attribution

Check every paid campaign for missing UTMs, taxonomy violations, and multi-channel inconsistencies that break attribution reporting

Missing and inconsistent UTM tags are creating attribution blind spots worth millions in misallocated budget

This template audits UTM parameters across every active paid campaign on Google, Meta, LinkedIn, TikTok, and programmatic platforms. It extracts UTMs from the correct fields for each platform (Meta's URL Parameters field, Google's Final URLs, DSP tracking templates), validates them against standard taxonomy, and identifies which campaigns are invisible to your attribution models due to missing or malformed tags.

Why this matters

Without consistent UTM tagging, your $50K Meta campaign shows up as "direct" traffic in GA4, your Performance Max campaigns fragment into 47 different source/medium combinations, and your multi-touch attribution model assigns zero credit to half your paid spend. Every missing UTM is a black hole in your attribution data—this template finds them all, prioritized by spend impact, and provides the exact corrections needed to restore visibility.

How to customize

Add your organization's specific UTM variations to the acceptable variations table. Include custom utm_content patterns for creative testing nomenclature. Set up platform-specific rules if you use different taxonomies for brand vs non-brand campaigns. Add validation for custom parameters like utm_id for internal tracking systems. Configure spend thresholds to focus on campaigns above certain daily budgets first.

Prompt
You are auditing campaign tagging and UTM hygiene across channels. Your goal is to ensure every paid campaign is consistently tagged, maps into GA4/CRM correctly, and follows standard UTM taxonomy. **Data you have access to** * Ad-level final URLs (from each channel) * UTM parameters (from correct field depending on channel) * GA4/CRM referral sources * Campaign naming conventions **Where to extract UTMs by channel** * Google Ads → ad-level Final URL + sitelinks (check for appended UTMs). Auto-tagging (GCLID) is fallback only. * Meta (Facebook/Instagram) → ad-level "URL Parameters" field. * LinkedIn Ads → ad-level destination URL. * TikTok Ads → tracking template or destination URL. * Programmatic DSP (DV360, The Trade Desk) → tracking template or click URL. **Standard UTM taxonomy (with acceptable variations)** **Google Search Ads:** utm_source=google (or g), utm_medium=paid_search (or cpc/ppc), utm_campaign=campaign name, utm_content/term=keyword/creative ID **Google Display:** utm_source=google (or g), utm_medium=display (or gdn/banner), utm_campaign=campaign name, utm_content=placement/creative **Google Performance Max:** utm_source=google (or g), utm_medium=performance_max (or pmax/p-max), utm_campaign=campaign name, utm_content=asset group/creative **Meta (FB/IG):** utm_source=facebook (or fb/instagram), utm_medium=paid_social (or social/cpc), utm_campaign=campaign name, utm_content=ad set/creative ID **LinkedIn Ads:** utm_source=linkedin (or li), utm_medium=paid_social (or social/cpc), utm_campaign=campaign name, utm_content=ad set/creative ID **TikTok Ads:** utm_source=tiktok (or tt), utm_medium=paid_social (or social/cpc), utm_campaign=campaign name, utm_content=ad set/creative ID **Programmatic DSP (DV360, TTD):** utm_source=dv360/vendor name (or displayvideo360/DSP alias), utm_medium=display (or banner/programmatic), utm_campaign=campaign name, utm_content=line item/creative Rules: * Always lowercase values. * utm_source = platform/vendor. utm_medium = channel type (paid_search, paid_social, display, performance_max). * utm_campaign = campaign name (or close variant). * utm_content / utm_term = lowest-level differentiator (ad, keyword, creative, placement). **Expected normal pattern** * 100% of paid links have UTMs applied. * UTMs align with the taxonomy above (or acceptable variation). * utm_campaign matches or closely aligns to campaign name. * Values map cleanly into GA4/CRM with no duplicates or fragmentation. **Interpretation rules** * **Missing UTMs** → critical error (attribution gaps). * **Inconsistent casing/spelling** → report fragmentation issue. * **Mismatched campaign name** → reconciliation issue. * **Acceptable variation** (from taxonomy table) → soft flag: "acceptable but recommend standardisation". * **Invalid/non-recognised value** → requires correction to taxonomy. **Your output format must be:** 1. **Coverage % by campaign** (e.g. "92% of ads have complete UTMs"). 2. **Table of non-compliant ads**, including: * Campaign name * URL / parameter field checked * Issue type (missing, mismatch, inconsistent, acceptable variation, invalid) * Suggested correction (based on taxonomy table) 3. **One-line overall recommendation** (e.g. "Standardise all FB campaigns to utm_source=facebook and utm_medium=paid_social"). Be concise, structured, and action-orientated.

Creator

Kay Vink
@kayvink

Stay Updated

Get AI marketing tips and template updates delivered to your inbox.

Related Prompts

Audit campaign naming conventions
Kay Vink

Kay Vink

Analyze day-of-week performance patterns
Kay Vink

Kay Vink

Catch performance anomalies before they become disasters
Kay Vink

Kay Vink

Audit geo-targeting performance
Kay Vink

Kay Vink