# Audit campaign naming consistency across platforms

> Tier: recipe. Operating recipe: real tool sequence, core rules, known traps.

Campaign and ad set names audited against the account's naming convention, because every automated report parses them.

**Intent.** Whether names encode what reporting needs, everywhere, the same way.

## When to use

- Before building automated reporting.
- Agency governance reviews.

## When not to use

- Without a stated convention: the audit needs a rule to audit against, ask for it first.

## Sources

Required: any connected source

## Preconditions

- The account is ticked in the dashboard, confirmed via list_accounts.

## Inputs

- `window`: Analysis window. Default: last 30 days.

## Procedure

1. Pull names across platforms. — tools: `google_ads_get_campaigns`, `meta_get_campaigns`, `tiktok_get_campaigns`, `pinterest_get_account_entities`
2. Parse against the convention and list violators by pattern.

## Decision rules

- **When** Violations cluster by creation era → **conclude** The convention changed silently at a date: propose the migration list, oldest era first.

## Evidence requirements

- Every figure carries its account, metric and window.
- Anything below a readable sample size is reported as unjudged, not as zero.

## Human approval boundary

- The readout changes nothing. Any change it motivates goes through Safe Writes: preview, human confirmation, then apply.

## Failure modes

- Renames break history joins in exports that key on names: recommend keying on IDs in the same breath.

## Output

- **Readout**: The figures, with windows and accounts named.
- **Flags**: What deserves a deeper skill or a human decision.
