A Google Ads campaign naming convention is a structured, consistent system for labelling every campaign, ad group, and ad in your account so that anyone looking at the name instantly knows the campaign type, geography, objective, and bid strategy — without opening a single settings panel. If you are running paid search for a South African business, a clear naming system is one of the lowest-effort, highest-return improvements you can make to how you manage your account. Learn the broader landscape first in our Google Ads South Africa guide.
Most SA accounts are named the way you label a manila folder on the first day you open it — something like "Cape Town Brand Search March" — then a new team member joins, a new campaign type launches, and three months later nobody can filter the account in under five minutes. A structured convention solves that durably, provided the naming standard is enforced at launch and applied consistently when new campaigns are created. It also keeps your UTM tracking aligned, which is where most attribution problems actually start.
Quick Answer
A Google Ads campaign naming convention is a predefined format that encodes key campaign variables — type, geography, objective, bid strategy, product — into every campaign name in a consistent, machine-readable order. A working SA format looks like: S_ZA_Conv_RunningShoes_tROAS for a Search conversion campaign or PMAX_WC_Conv_AllProducts_tCPA for a Performance Max campaign targeting the Western Cape. Apply the same logic to ad groups and ads and your account becomes self-documenting. The convention should match your UTM parameters exactly so GA4 attribution stays clean.
Jump to a section
Running campaigns without a clear naming structure?
Send us your account and we will show you where naming gaps are costing you reporting hours — and how to fix it before the next campaign launches.
Get a free account reviewWhy a Google Ads Campaign Naming Convention Matters
Campaign names are not just labels — they are the primary data field every reporting tool, script, and dashboard reads first. A structured convention transforms campaign names into queryable columns: you can filter by campaign type, slice by geography, and group by product category without exporting a spreadsheet or building a manual pivot table.
The practical benefits compound quickly. When names follow a predictable pattern, you can:
- Filter the account instantly. Sort all Shopping campaigns or all Gauteng campaigns in one click.
- Keep UTM attribution clean. Your
utm_campaignvalue should match the campaign name exactly. When it does, GA4 connects ad spend to revenue without manual reconciliation. - Avoid duplicate tests. When ad names encode creative variant and version, no-one re-runs a test the account already ran six months ago.
- Onboard team members faster. A new manager or agency can read an account structure without a handover call.
- Scale without friction. Naming templates embedded in launch checklists mean every new campaign is correctly labelled at creation — not retrofitted afterwards.
The UTM alignment rule
Your utm_campaign parameter must match the campaign name exactly. A mismatch breaks the link between what Google Ads reports and what GA4 attributes. If your campaign is named S_GP_Conv_Insurance_tCPA, set utm_campaign=S_GP_Conv_Insurance_tCPA in your tracking template. Naming conventions only deliver their full reporting value when UTMs mirror them consistently.
The Standard Google Ads Campaign Naming Framework
A good Google Ads campaign naming convention encodes the variables that differentiate one campaign's settings from another — nothing more, nothing less. Adding every possible data point makes names unreadable; including too few makes them useless for filtering. The practical sweet spot is four to six fields, separated by underscores, ordered from broadest to most specific.
Recommended campaign-level format
| Field | What it encodes | Example codes |
|---|---|---|
| 1. Campaign Type | The network the campaign runs on | S (Search), SHOP (Shopping), PMAX, GDN (Display), YT (YouTube), RMKT |
| 2. Geography | Target location — country or SA province | ZA (all SA), GP (Gauteng), WC (Western Cape), KZN (KwaZulu-Natal), EC (Eastern Cape) |
| 3. Objective | Campaign goal or conversion action | Conv (conversions), Lead, ROAS, Aware, Traffic |
| 4. Product / Audience | What is being advertised or who is targeted | AllProducts, Insurance, Branded, Competitor, 30d (30-day retargeting window) |
| 5. Bid Strategy | The active bidding model | tROAS, tCPA, MaxConv, ManCPC |
| 6. Version (optional) | Iteration tracker for A/B tests | V1, V2 |
Full format: [Type]_[Geo]_[Objective]_[Product/Audience]_[BidStrategy]
Practical rules for the format
- Underscores only as delimiters. Spaces break UTM parameters; hyphens can confuse multi-word terms. Underscores are safe across every platform and analytics tool.
- Consistent capitalisation. Decide on ALL_CAPS or Title_Case and never mix them. Filtering scripts and dashboards are case-sensitive.
- Aim for under 70 characters as a working heuristic — longer names truncate in the Google Ads columns view and in most reporting dashboards.
- No special characters. Ampersands, slashes, and brackets cause downstream issues in spreadsheet exports and URL encoding.
- Write names in English. Even in Afrikaans-targeted campaigns, keep the name in English so any team member or agency collaborator can read it instantly.
What about dates in campaign names?
For evergreen campaigns, avoid dates — a campaign named S_ZA_Conv_Insurance_tCPA_March2024 becomes misleading the moment it outlives March 2024. Reserve date codes (20250601 or Q3_2026) for time-bounded promotions like Black Friday or seasonal sales that will be paused when the period ends.
Naming by Google Ads Campaign Type
Each Google Ads campaign type carries a standard prefix — S_ for Search, SHOP_ for Shopping, PMAX_ for Performance Max, GDN_ for Display — making campaign type the first and most filterable field in every name. Here is the full breakdown with SA examples.
| Campaign Type | Name prefix | SA example name | Notes |
|---|---|---|---|
| Search | S_ | S_GP_Conv_Insurance_tCPA | Add Branded vs NonBranded distinction: S_ZA_Conv_Branded_ManCPC |
| Shopping | SHOP_ | SHOP_ZA_ROAS_AllProducts_tROAS | Separate branded shopping from standard: SHOP_ZA_ROAS_Branded_tROAS |
| Performance Max | PMAX_ | PMAX_WC_Conv_Footwear_tROAS | Asset groups within PMax carry their own names — see below |
| Display (GDN) | GDN_ | GDN_ZA_Aware_Prospecting_CPM | Encode audience type: Prospecting vs Remarketing |
| Remarketing | RMKT_ | RMKT_ZA_Display_30dSite_CPC | Include retargeting window in the audience field (7d, 30d, 90d) |
| YouTube / Video | YT_ | YT_ZA_Aware_Prospecting_CPV | Include video format if running multiple: InStream, Bumper, etc. |
| Demand Gen | DG_ | DG_ZA_Traffic_Lookalike_ManCPM | Encode audience type (Lookalike, Custom Intent) |
Performance Max asset group naming
Performance Max replaces ad groups with asset groups — bundles of headlines, descriptions, images, logos, and videos that Google serves across all its inventory. Each PMax campaign can contain up to 100 asset groups. Name them the same way you would name ad groups in a Search campaign: by theme, product category, or audience signal.
Asset group format: [ProductCategory]_[AudienceSignal]_[Language]
Examples for a Cape Town fashion retailer:
Dresses_Remarketing_ENJeans_Prospecting_ENDresses_Prospecting_AF(Afrikaans creative set)
Not sure how to structure your Performance Max campaigns?
Tell us your product range and current campaign setup and we will map out the right PMax structure for your SA market — including which asset groups to separate and which to consolidate.
Book a structure reviewAd Group and Ad Naming
Ad group names encode the targeting variables that differ between groups within the same campaign. For Search campaigns, the most useful fields are match type and keyword theme. For Display and video campaigns, add the prospecting or retargeting signal and the targeting method.
Search ad group naming
Format: [MatchType]_[KeywordTheme]
| Match type code | Meaning | Ad group name example |
|---|---|---|
| EX | Exact match | EX_CarInsurance_Cheap |
| PH | Phrase match | PH_CarInsurance_Compare |
| BM | Broad match (with smart bidding) | BM_CarInsurance_General |
| DSA | Dynamic Search Ads | DSA_AllPages |
Ad naming
Ad names matter less in automated RSA (Responsive Search Ad) environments because Google assembles combinations — but naming ads correctly becomes critical when you run A/B tests or want to track creative performance across your account.
Format: [Angle]_[Format]_[Version]
Examples:
PriceLead_RSA_V1— lead with price as the angle, Responsive Search Ad, first versionBenefitLead_RSA_V2— benefit-led angle, second iterationUrgencyLead_ETAdBanner_V1— urgency angle on a specific display format
Deleted campaign best practice
Before deleting any campaign, rename it with a ZZ_ prefix: e.g. ZZ_S_GP_Conv_Insurance_tCPA. This pushes it to the bottom of alphabetically sorted lists, frees the original name for a new campaign, and makes it immediately identifiable as archived if you ever need to pull historical data. A small habit that saves meaningful time in large accounts.
SA-Specific Naming Additions
Three naming additions make a Google Ads account structure genuinely local rather than globally generic: provincial geo codes (GP, WC, KZN, EC), a language field to separate English and Afrikaans campaigns, and an explicit branded/non-branded label for clean budget control across audience types.
Provincial geo codes
Many SA campaigns separate by province rather than simply targeting "South Africa". Standard ISO subdivision codes work well and are immediately readable:
| Province | Code | Example |
|---|---|---|
| Gauteng | GP | S_GP_Conv_Plumbers_tCPA |
| Western Cape | WC | S_WC_Conv_Plumbers_tCPA |
| KwaZulu-Natal | KZN | S_KZN_Conv_Plumbers_tCPA |
| Eastern Cape | EC | S_EC_Conv_Plumbers_tCPA |
| All SA | ZA | S_ZA_Conv_Plumbers_tCPA |
Language targeting
Campaigns targeting Afrikaans speakers require different ad copy from English campaigns. When both run, add a language field to distinguish them:
GDN_WC_Aware_Prospecting_ENGDN_WC_Aware_Prospecting_AF
Branded vs non-branded separation
This distinction matters in every account: branded keywords consistently convert at a lower cost per click than non-branded terms, and mixing both into one campaign hides that difference in your reporting. Separate campaigns — named accordingly — give you clean budget control and accurate ROAS figures per audience type:
S_ZA_Conv_Branded_ManCPCS_ZA_Conv_NonBranded_tCPA
Competitor campaigns
If you run campaigns targeting competitor keywords, name them explicitly. Mixing competitor and generic terms in the same ad group muddies quality score and makes it impossible to evaluate competitor targeting performance separately:
S_ZA_Conv_Competitor_ManCPC
Common Google Ads Naming Mistakes to Avoid
❌ "Brand Search March"
Contains no machine-readable fields. Cannot be filtered by type, geo, or objective. Becomes ambiguous after March. UTM alignment is impossible.
❌ Mixing delimiters — "S_ZA-Conv Insurance tROAS"
Three different separators in one name. Breaks dashboard splits, looks sloppy in exports, and confuses any script that parses on a single delimiter.
❌ Using a date for an evergreen campaign — "S_ZA_Conv_Insurance_tCPA_Jan2025"
The campaign runs beyond January 2025 and the name becomes factually wrong. Reserve date fields for time-limited promotions only.
✅ "S_GP_Conv_Insurance_tCPA"
Five fields, underscores only, consistent capitalisation. Reads as: Search campaign, Gauteng, conversion objective, insurance product, target CPA bidding. Filterable, UTM-alignable, and still readable in 18 months.
Why South African Businesses Choose Growth Pulse Media for Google Ads
Account structure and naming conventions sound procedural — until you try to run a Google Ads management strategy for South Africa across four provinces, two languages, five campaign types, and a shared account between an internal team and an external agency. At that point, poor naming multiplies into hours of unnecessary work every month and real attribution errors that silently mis-allocate budget.
Dirk built and scaled a South African ecommerce business before founding Growth Pulse Media. He has run campaigns across platforms including Google Ads, Google Shopping, Performance Max, and YouTube, and the account structure lessons from that experience are baked into every account we manage — not picked up from a platform certification. We keep client loads deliberately small so that each account gets senior attention, which means naming conventions and structural decisions are made once and enforced consistently, not delegated down and audited quarterly.
We work with SA-specific integrations — PayFast, Yoco, Peach Payments — and we understand how local payment abandonment patterns affect which conversion actions to optimise for, which in turn affects how you name your bid strategy fields. That context is not available in a generic agency.
Who This Is NOT For
❌ Solo operators running one campaign only
If your account has a single Search campaign that is unlikely to grow beyond one geography and one product, a formal naming convention adds complexity without return. A plain readable name works fine until the account scales.
❌ Teams who will not enforce the standard
A naming convention that is not applied consistently is worse than no convention — it produces a mixed account where half the campaigns are sortable and half are not, breaking every filter and script that relies on the pattern. Naming standards require a launch checklist and someone enforcing it, or they decay immediately.
❌ Businesses needing a quick win, not a structural fix
Naming conventions improve the account over time — they do not fix a broken bid strategy or a zero-conversion landing page today. If your account has urgent performance problems, fix the conversion rate or the keyword list first. Rename the campaigns while you do it, but do not expect naming alone to move the ROAS needle.
❌ Accounts where the agency owns naming and will not adopt yours
If you are working with an agency that uses their own naming system across all client accounts, introducing a conflicting convention creates more confusion than it solves. Either negotiate a shared standard upfront, or align your UTM parameters independently and let the agency manage campaign names in their own format.
Is your current account structure ready for growth?
Share your Google Ads account with us and we will run a structural assessment — campaign naming, account hierarchy, bid strategy alignment — and tell you what to fix first.
Request a structural assessmentFrequently Asked Questions
What should a Google Ads campaign name include?
A campaign name should include the campaign type (Search, Shopping, Performance Max, etc.), the geography, the objective or conversion action, and the bid strategy. A product or audience field is also useful for accounts with multiple products or audience segments. The result should be a self-decoding label: anyone reading S_GP_Conv_Insurance_tCPA knows immediately what the campaign does without opening its settings.
Should I use underscores or hyphens in campaign names?
Use underscores. Hyphens can cause issues when campaign names are used in URLs or UTM parameters, and spaces break URL encoding entirely. Underscores are safe across Google Ads, GA4, spreadsheet exports, and any script that parses campaign names as a data field. Choose one delimiter and apply it without exception.
How do I name Performance Max campaigns and asset groups?
Name the campaign with the same framework as other types: PMAX_[Geo]_[Objective]_[ProductCategory]_[BidStrategy] — for example PMAX_ZA_Conv_Footwear_tROAS. Inside the campaign, name each asset group by theme, product category, or audience signal — for example Dresses_Prospecting_EN or Jeans_Remarketing_30d. Each Performance Max campaign can hold up to 100 asset groups, so clear naming at asset group level matters as much as at campaign level.
How does campaign naming affect UTM tracking?
The utm_campaign value in your tracking template should match the campaign name exactly. Google Ads auto-tagging via gclid handles click attribution within Google's own ecosystem, but the named utm_campaign value is what connects spend to sessions in GA4 and carries into any CRM you use downstream. When campaign names and UTM values differ, cross-platform attribution becomes difficult to reconcile cleanly.
How should I handle deleted or paused campaigns?
Before deleting a campaign, rename it with a ZZ_ prefix — for example ZZ_S_GP_Conv_Insurance_tCPA. This pushes it to the bottom of alphabetically sorted lists, signals to any team member that it is archived, and frees the original name for reuse. Paused campaigns that may be reactivated do not need renaming — pause them as-is so they retain their historical data and structural context.
Should SA campaigns name by city or by province?
Province is the recommended starting point for SA accounts. City-level naming (JHB, CPT, DBN) works when campaigns genuinely target a specific metro with tailored ad copy and bid adjustments, but a provincial geo code covers more SA market situations cleanly. Use the ISO subdivision codes (GP, WC, KZN, EC) — they are short, recognisable, and unambiguous. Add city-level codes only when the campaign targeting genuinely warrants that granularity.
Get Your Google Ads Account Structure Right
Growth Pulse Media manages Google Ads campaigns across Search, Shopping, Performance Max, and YouTube for South African businesses. We build naming conventions, account structures, and conversion tracking that keep reporting clean and optimisation fast — using GA4, Google Tag Manager, and SA payment integrations including PayFast and Peach Payments. No obligation — we will get back to you within 24 hours.
Talk to us about your account

