Google Ads Naming Conventions
Pick this taxonomy on day one and you’ll never need to renormalize 5,000 campaign names later. Used by agencies running 10-1000 accounts.
Print or save as PDF using your browser’s built-in print menu (Cmd/Ctrl + P).
If you only adopt one operational standard at an agency, make it this. Naming conventions sound boring but they’re the difference between exporting a Google Ads report into a pivot table that just works and exporting one that requires three regex passes to clean up.
The format below is field-tested across hundreds of accounts. Adopt verbatim, or fork and document your variations.
Campaign name pattern
<Brand>_<Channel>_<Goal>_<Audience>_<Region>_<Period> Brand : 2-letter brand code (e.g. MO for MarqOps) Channel : SRCH / DISP / VID / PMAX / DEM Goal : ACQ (acquisition) / RETARG / BRAND / NURTURE Audience : COLD / WARM / HOT / LOOKALIKE-1 Region : US / EU / APAC / GLOBAL Period : 2026Q1 / 2026Q2 / EVERGREEN
Example: MO_SRCH_ACQ_COLD_US_2026Q2
Ad group name pattern
<Theme>_<MatchType> Theme : descriptive 1-3 word topic MatchType : EXACT / PHRASE / BROAD / MIXED
Example: CRM_BEST_PHRASE
Ad asset / RSA name pattern
<AdGroupTheme>_<Variant>_<Date> Variant : V1 / V2 / V3 (incrementing by test cohort) Date : YYYYMM
Example: CRM_BEST_V2_202605
UTM parameter values
All values lowercase, underscored. No spaces, no dashes, no PII.
utm_source:google/bing/facebook/linkedinutm_medium:cpc(paid search),paid_social,display,email,affiliateutm_campaign: campaign name without spaces, lowercase. Example:spring_promo_2026q2utm_content: variant or placement identifierutm_term: paid keyword (only for paid search)
Negative keyword list naming
<Scope>_<Theme> Scope : ACCOUNT (shared across) / CAMPAIGN-only / ADGROUP-only Theme : descriptive (jobs / cheap / freebies / competitor / brand-protection)
Example: ACCOUNT_jobs_seekers
Why this matters
- Slice reports by any axis (channel / goal / audience / region) without manual cleanup.
- Pivot tables work first try — no “hmm what does CRM_VAR_2 mean?”
- Exports are diffable, alphabetizable, and parseable by scripts.
- Hand-offs between team members don’t require a 30-minute “our naming convention” download.
Adoption tips
- Pin this doc in your shared agency wiki / Notion / Confluence.
- Run a one-time migration script: rename existing entities to the new format. Costs a few hours, saves dozens of weeks.
- Add a CI-style check: a script that verifies new campaign names match the pattern before launch.
- Revisit annually — naming conventions get stale; add new dimensions (e.g., AI vs human-written ads) when needed.