Lifecycle · Draft
Media Planning
Objective
Produce an approved media plan — channel mix, budgets, KPIs, campaign structure outline, creative requirements, and tracking dependencies — before any spend is applied.
Inputs
- Completed onboarding record
- Client brief (goals, geo, seasonality, budget)
- Vertical template (health, school, tourism, ecommerce)
- Historical data (if returning client)
- GA4 baseline metrics (if available)
Outputs
- Master plan — tenant-level budget envelope, channel caps, shared guardrails
- Plan tracks — one or more concurrent tracks (see below), each with its own version stream
- Per track:
MediaPlanTrackdocument versionvN(scoped ID, e.g.always_on,branding_q2,open_day_2026) - Status per track:
draft→pending_approval→approved→superseded - Structure spec consumable by Execution Agent (per track)
Plan tracks (concurrent occasions)
A client rarely has a single monolithic plan. The system models multiple active tracks under one master envelope:
| Track type | Typical objective | Duration | Examples |
|---|---|---|---|
| Always-on | Performance / conversion | Continuous | Search, PMax, catalog, retargeting |
| Branding | Awareness, reach, consideration | Weeks–months | Video, display, broad social |
| Special day / event | Time-boxed push | Days–2 weeks | Open day, sale, holiday, clinic campaign |
| Engagement | Social engagement, community | Continuous or burst | Organic post + engagement ad (see vision) |
Rules:
- Each track has independent
plan_version,execution_manifestslice,optimization_log, and revise/replan history - Master plan allocates total budget across tracks; sum of track flights must not exceed master without approval
- Special-day tracks may be created quickly (
plan.event.draft); archived after event ends - Branding and always-on typically run in parallel with separate KPIs (reach vs CPA/ROAS)
- Reporting rolls up by track and portfolio total
Plan components
| Section | Content |
|---|---|
| Objectives | Primary KPI, secondary metrics |
| Budget | Total, by channel, by week/month flight |
| Channels | Google Search/PMax, Meta, TikTok, DV360 — enabled flags |
| Audiences | Prospecting, retargeting, exclusions |
| Campaign structure | Naming convention, campaign types per platform |
| Creative | Required formats, messages, compliance flags |
| Tracking | Required events, conversion labels |
| Guardrails | Max CPA, min ROAS, spend caps |
| Risks | Seasonality, policy, competitive |
Workflow
Versioning
- Per track: every material edit increments that track's
vN; diffs stored betweenvNandvN+1 - Master plan: version bumps when total budget envelope or cross-track caps change
- Execution references latest approved version per track (and master caps)
- Event tracks: version
v1often sufficient; revise only if flight dates or budget shift materially
Vertical templates (examples)
Health clinic
- Google Search: appointment keywords
- Meta: lead forms + retargeting
- KPI: cost per
book_appointment
Private school
- Google + Meta + TikTok for awareness
- KPI: cost per
sign_up/ open day registration
Tourism
- Google + Meta + DV360 display retargeting
- KPI: cost per booking assist
Ecommerce
- Google Shopping/PMax + Meta catalog + TikTok
- KPI: ROAS on
purchase
Human touchpoints
- Plan approval (always)
- Budget above tier threshold
- Channel mix deviation from template
- Compliance-sensitive creative themes
SLA
- Draft plan: 2 business days after onboarding complete
- Approval turnaround: 1 business day (client + internal)
Typical track count by client profile
| Profile | Active tracks (steady state) | New / event plans per month | Revise cycles per month (all tracks) |
|---|---|---|---|
| Starter | 2 (always-on + 1 seasonal/event) | ~1 event or micro-plan | ~1–2 (mostly always-on) |
| Standard | 3–4 (always-on, branding, engagement, seasonal) | ~2 special-day / event plans | ~3–4 across tracks |
| Ecommerce | 4–6 (+ flash sales, catalog pushes) | ~3–4 event / sale plans | ~4–6 across tracks |
After approval: what happens next
- Execution applies each track's approved version →
execution_manifestslice per track - Optimization tunes per track within guardrails → manifest drifts from that track's plan text
- Reporting compares manifest vs plan per track; master rollup for client dashboard
- Plan revise (per track, when drift thresholds hit) drafts
vN+1for that track — see Plan update
Onboarding creates master + always-on v1 at minimum. Additional tracks (branding, events, engagement) are added throughout the year.