Lifecycle · Draft

Media Planning

Created 9 Jun 2026·Updated 11 Jun 2026

Latest change: Publish Dossier site and full doc pack to GitHub

Draft document — deep-dive spec incomplete; content will be updated before and during build. Do not treat as signed-off implementation detail. Pack overview

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: MediaPlanTrack document version vN (scoped ID, e.g. always_on, branding_q2, open_day_2026)
  • Status per track: draftpending_approvalapprovedsuperseded
  • 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_manifest slice, 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
Master plan budgetenvelopeAlways-on trackBranding trackEngagement trackSpecial day ASpecial day BOptimization + reviseOptimization + reviseOptimization + reviseOptimization + revise

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

EditApproveClient briefPlan Agent generates draftPlanning Service validatesHuman planner reviewsplan.approved eventExecution Agent eligible

Versioning

  • Per track: every material edit increments that track's vN; diffs stored between vN and vN+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 v1 often 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

  1. Execution applies each track's approved version → execution_manifest slice per track
  2. Optimization tunes per track within guardrails → manifest drifts from that track's plan text
  3. Reporting compares manifest vs plan per track; master rollup for client dashboard
  4. Plan revise (per track, when drift thresholds hit) drafts vN+1 for that track — see Plan update

Onboarding creates master + always-on v1 at minimum. Additional tracks (branding, events, engagement) are added throughout the year.