Skip to main content

Foundation · build guide

Campaign Structure & Naming

A naming convention, launch template, and audit loop that keep campaigns identifiable.

Path A · Manual extracts Path B · MCP integration Guardrail-first

Campaign Structure & Naming gives every campaign in your ad accounts one predictable name. You define a convention — platform, brand or non-brand, funnel stage, geo, and whatever else you report on — plus a launch template and a QA checklist that every new campaign passes through. A recurring audit then compares every live campaign against that convention, flags drift, and drives renames back to standard.

The compounding logic is simple: automation can only act on what it can reliably identify. Budget rules, pacing scripts, anomaly alerts, Looker Studio reports, and AI workflows all match on names; when names are consistent, all of them become dependable at scale. Fix structure once and every later automation inherits it instead of re-fighting the same mess.

What it moves: Every live campaign matches the convention and passes the launch QA checklist — the consistent structure that makes rules, scripts, and AI workflows dependable at scale.
Path A · Manual

This version runs entirely on exports and a spreadsheet: you pull campaign lists from Google Ads Editor and Meta Ads Manager on a schedule, validate every name with formulas, and apply renames yourself in bulk. It suits a single marketer or a small team on a handful of accounts, and it needs no API access or engineering time.

Path B · Integrated

This version connects your ad platforms to an agent through read-scoped APIs or MCP servers. The agent pulls the full campaign inventory on a schedule, audits every name against your spec, and packages proposed renames into batches that you approve before anything is written back. It suits teams running many accounts, or enough campaigns that a spreadsheet audit no longer keeps up.

Prerequisites.

Editor access to your ad accounts (Google Ads, Meta, and any other platform in scope)
Sign-off on the naming convention from whoever owns reporting, so names are not re-litigated later
A Google Sheet or similar workspace to hold the convention, audit results, and rename mapping
For the MCP path: API or MCP-server credentials for each ad platform, read-scoped to start
New to the stack? Set up your environment first — data access, workspace, integration platforms, and the agent layer are covered once in Environments & tooling.

Build it with manual data extracts.

This version runs entirely on exports and a spreadsheet: you pull campaign lists from Google Ads Editor and Meta Ads Manager on a schedule, validate every name with formulas, and apply renames yourself in bulk. It suits a single marketer or a small team on a handful of accounts, and it needs no API access or engineering time.

  1. Write the convention and launch template

    Decide the segments every campaign name carries — platform, brand vs non-brand, funnel stage, geo, match type — and fix one delimiter between them. List the allowed values for each segment in a reference tab of a Google Sheet. Turn the same rules into a launch template and a short QA checklist that every new campaign must pass before it goes live.

  2. Export your live campaign inventory

    Export campaigns and ad groups to CSV from Google Ads Editor, and download the campaign list from Meta Ads Manager. Paste both into an audit tab in your sheet, keeping the platform's campaign ID in its own column. IDs are your stable key — never match on names alone.

  3. Validate every name with formulas

    Split each name on your delimiter, then check segment count and each segment's value against the allowed lists with lookups. Flag every non-conforming row and classify it: a simple rename, or a structural problem like a campaign mixing brand and non-brand that needs rebuilding. The flags become your work queue.

  4. Draft renames in a mapping table

    For each fixable row, write the new compliant name next to the old one, keyed by campaign ID. Before applying anything, note where reports, rules, or scripts filter on the old name so you can update those filters in the same pass. This table doubles as your change log and your rollback plan.

  5. Apply in bulk, then gate new launches

    Paste the approved renames into Google Ads Editor, review the change preview, and post; make the Meta edits in Ads Manager. From now on, every new campaign gets its name from the launch template and passes the QA checklist before going live. Re-export next cycle to confirm drift is falling toward zero.

Cadence: Weekly while you clean up existing accounts, then monthly for drift checks; a cycle takes under an hour once the sheet is built.

Integrate it with MCP connections.

This version connects your ad platforms to an agent through read-scoped APIs or MCP servers. The agent pulls the full campaign inventory on a schedule, audits every name against your spec, and packages proposed renames into batches that you approve before anything is written back. It suits teams running many accounts, or enough campaigns that a spreadsheet audit no longer keeps up.

Google Ads (read-scoped API access or an MCP server; write scope only inside the approval flow)
Meta ads API (read-scoped, same pattern)
Google Sheets — the naming spec, audit log, and rename mapping
n8n, Make, or Zapier — schedules the loop and routes approval batches
Slack or email — where rename batches and new-launch alerts land for sign-off
  1. Encode the convention as a machine-readable spec

    Store the segments, delimiter, and allowed values in a Google Sheet or a small config file the agent reads on every run. This is the single source of truth: when the convention changes, you change it here and the next audit picks it up. Include the launch template so the agent can also generate compliant names for new campaigns.

  2. Give the agent a read-only view

    Connect the Google Ads and Meta ads APIs — directly or through an MCP server for each platform — with read scope only. Schedule the inventory pull with n8n, Make, or Zapier, or let the agent run on its own timer. At this stage the agent can see everything and change nothing.

  3. Run the audit loop

    On each run, the agent parses every campaign name against the spec and classifies it: conforming, fixable by rename, or needing restructure. It writes the results to an audit log with campaign IDs and drafts a compliant new name for every fixable row. Nothing is applied — the output is a proposal.

  4. Batch renames for sign-off

    Proposed renames land as a batch in Slack, email, or a review tab in the sheet. Only after you approve a batch does the workflow use a write-scoped credential to apply it, and every applied change is logged old name, new name, and campaign ID. That log means any batch can be reversed in a single follow-up run.

  5. Watch new launches for drift

    Each run, the agent also checks campaigns created since the last run against the launch template and flags any that skipped the checklist. These alerts are notify-only: the agent never pauses or blocks a live campaign. Structure violations get raised to a human, and the human decides.

Run it safely.

Google Ads Editor — bulk export of the live account and bulk paste of approved renames
Google Sheets — holds the naming spec, audit formulas, and the old-to-new mapping table
Google Ads and Meta ads APIs — give the agent path a full read of campaign inventory
Claude with MCP servers — parses names against the spec and drafts compliant renames
n8n, Make, or Zapier — runs the audit on a schedule and routes batches for approval
  • Every rename ships as a human-approved batch; the agent never renames anything unreviewed, even a one-character fix
  • Write scope covers names and labels only — the agent can never touch budgets, bids, targeting, or campaign status
  • Every change is logged old name, new name, campaign ID, so any batch is reversible in one pass
  • New-launch violations are notify-only alerts; nothing is paused or blocked automatically

Want new build guides as they ship?

Optional — every guide on this site is free either way. Leave your details and we'll email you when new automations join the library, nothing else.

We only email when there's something worth building — every email has a one-click unsubscribe, and you can withdraw consent anytime. Consent requested by Campaign Automation AI, Caledon, Ontario · hello@campaignautomation.ai.

Prefer it built for you?

We stand this automation up as a governed sprint on the stack you already run — scoped, built, and handed over with the guardrails configured. No new platform, no migration.

Start with the Audit → Request proposals →