Execution & Cost
Roadmap and Timelines
Planning-level estimates. Durations assume a small implementation team (2–4 engineers) plus ops. Refine when stack is locked and resourcing confirmed.
Phase overview
| Phase | Focus | Duration | Dependencies |
|---|---|---|---|
| 0 | Documentation & decisions | ✅ Current | — |
| 1 | Foundations + Google Ads + GA4 | 8–10 weeks | Stack ADR approved |
| 2 | Meta + TikTok | 6–8 weeks | Phase 1 live |
| 3 | DV360 | 4–6 weeks | Phase 1, Google ecosystem |
| 4 | CRM loop + CAPI maturity | 6–8 weeks | CRM API availability |
| Cross | Agent orchestration + HITL dashboard | 10–14 weeks (parallel) | Phase 1 start |
Assumed go-live DDL (core, solo + Cursor): ~13 weeks calendar from 1 Jul 2026 — G+M+T ~W9 (solo sprint). Use that for board-facing dates.
Full module (baseline 2–4 engineer team, all phases): ~24–32 weeks sequential · ~18–24 weeks with parallel workstreams · ~50 engineer-weeks effort accounting — not the MVP calendar when shipping core first.
Phase 0 — Documentation (current)
| Deliverable | Status | Duration |
|---|---|---|
| Executive summary & scope | Done | 1 week |
| Architecture & platform specs | Done | 2 weeks |
| Lifecycle & HITL design | Done | 1 week |
| Platform access & API readiness | Done | 1 week |
| Onboarding API cross-check | Done | — |
| Onboarding provisioning spec | Done | — |
| Roadmap & ADR | Done | 1 week |
Parallel (pre-Phase 1): legal entity + GCP org, MCC, Google Ads Basic token, Meta/TikTok developer apps, DV360 sales outreach — see Platform access & API readiness.
Solo engineer + Cursor (50% timeline): 13-solo-engineer-sprint-plan-jul2026.md — week-by-week from 1 Jul 2026, build + external setup interleaved, G+M+T core loop ~week 9.
Phase 1 — Foundations + Google Ads + GA4
| Workstream | Tasks | Duration |
|---|---|---|
| Infrastructure | GCP project, Terraform skeleton, CI to dev | 2 weeks |
| Core services | Tenant registry, audit log, event bus stub | 2 weeks |
| GA4 | Tagging spec, Analytics Data API integration, health checks | 2 weeks |
| Google Ads BQ | Data Transfer / API → Kobi BigQuery for MCC accounts | 1 week (parallel) |
| Google Ads connector | Account create, campaign mutate, offline import stub | 3 weeks |
| Onboarding v1 | Google + Meta API provision + implementation guide (no GA4/GTM publish) | 2 weeks |
| Planning + execution v1 | Plan CRUD, approve, apply to Google | 2 weeks |
| Reporting v1 | GA4 dashboard, weekly report | 1 week |
Exit criteria: One pilot tenant live on Google with GA4 SoT reporting.
Phase 2 — Meta + TikTok
| Workstream | Tasks | Duration |
|---|---|---|
| Meta connector | BM system user, campaign API, CAPI | 3 weeks |
| TikTok connector | BC advertiser, Events API | 2 weeks |
| Onboarding extend | BM invite flow, TikTok verify | 2 weeks |
| Feed/catalog | Meta + Google feeds | 2 weeks |
| Optimization v1 | Cross-channel rules using GA4 | 2 weeks |
Exit criteria: Pilot tenant on Google + Meta (+ TikTok if in SKU).
Phase 2+ optional — First-party tag relay
Not blocking Phase 2 exit. Ship when client IT friction or cookie loss justifies build. Full spec: First-party tag relay.
| Workstream | Tasks | Duration |
|---|---|---|
| Relay MVP | Cloud Run ingest, fan-out, dedup | 4–5 weeks |
| Consent | Loader gates, client CMP matrix, Kobi banner MVP | 2–3 weeks |
| Edge / TLS | Cloudflare for SaaS or GCP pilot LB | 2 weeks |
k.js loader |
Vertical events + implementation guide v2 | 1–2 weeks |
| Health dashboard | Volume, match proxies, tenant CNAME status | 1 week |
Infra cost (planning): ~$80–150/mo at ~50 tenants (hybrid Cloudflare + GCP); ~$1–5/tenant/mo marginal. Build: ~10–12 engineer-weeks (consent on critical path for EEA/TR).
Exit criteria: One pilot tenant on Relay (CNAME + loader) with Meta + TikTok server events matching v1 CAPI quality.
Phase 3 — DV360
| Workstream | Tasks | Duration |
|---|---|---|
| DV360 connector | Advertiser, IO/line items | 3 weeks |
| Attribution | GA4 API + Kobi Google Ads BQ cost join | 2 weeks |
| Planning templates | Tourism / awareness packages | 1 week |
Exit criteria: DV360 campaigns for one pilot with GA4 reporting.
Phase 4 — CRM integration
| Workstream | Tasks | Duration |
|---|---|---|
| CRM API | Webhook ingest, schema validation | 2 weeks |
| Offline + CAPI | Google, Meta, TikTok routing | 3 weeks |
| Match rate monitoring | Dashboards + alerts | 1 week |
| Closed-loop reporting | CRM KPI in client reports | 2 weeks |
Exit criteria: CRM qualified leads reflected in platform optimization within SLA.
Cross-cutting — Agent orchestration + HITL
| Workstream | Tasks | Duration |
|---|---|---|
| Orchestrator | State machine, event routing | 4 weeks |
| Agents v1 | Onboard, Plan, Exec, Report | 6 weeks |
| HITL dashboard | Approval inbox, diff viewer, audit | 4 weeks |
| Optimization agent | Guardrails + approval integration | 3 weeks |
Runs parallel from Phase 1 week 3 onward.
Per-area timeline summary
| Area | Start | End (est.) |
|---|---|---|
| Onboarding | Phase 1 W1 | Phase 2 W4 |
| Media planning | Phase 1 W5 | Phase 1 W8 |
| Campaign execution | Phase 1 W7 | Phase 2 W2 |
| Optimization | Phase 2 W3 | Phase 4 W4 |
| Plan update | Phase 1 W8 | Phase 2 W4 |
| Reporting | Phase 1 W9 | Phase 4 W6 |
| Feed management | Phase 2 W1 | Phase 2 W6 |
| Conversion tracking | Phase 1 W3 | Phase 4 W4 |
| Agent orchestration | Phase 1 W3 | Phase 3 W6 |
| HITL dashboard | Phase 1 W5 | Phase 2 W8 |
Handoff to broader Kobi team
After Phase 1 pilot:
- Package connector interfaces and event schemas
- Runbook for ops (onboarding, approvals)
- Open ADRs for stack and CRM contract finalization
Risks to timeline
| Risk | Impact | Mitigation |
|---|---|---|
| Meta 2-Tier BM access (API caps ad-account creation at 5) | Blocks Meta scaling beyond 5 tenants | Start Meta-rep request in Phase 0 (PRE-10); build child-BM-ready; pilot on single BM — see gameplan B1 |
| Meta Full API tier (needs 500 calls/15d, chicken-and-egg) | Throttled Phase 2 automation | Generate qualifying volume in Phase 1 pilot |
| Client BM/Page access delays | +1–2 weeks per tenant | Clear client checklist day 1 |
| Google Ads API token approval (current backlog) | Blocks Phase 1 | Apply Basic week 0; don't assume 2-day SLA |
Google MCC ineligible to create accounts via API (CREATION_DENIED_INELIGIBLE_MCC) |
New MCC can't provision tenants programmatically | Seed MCC with spend/history; Phase-0 eligibility gate (B11, limits) |
| TikTok BC advertiser-account cap (varies by BC type) | Blocks new tenants on TikTok | Confirm headroom Phase 0; raise via TikTok account manager |
| GA4 Admin not granted | Breaks GA4 SoT optimization | Soft gate for pilots + degraded mode (B5) |
| CRM API not ready | Delays Phase 4 closed-loop | Stub + file-based import interim in Phase 1.5 |
| Stack indecision | Rework | Lock ADR before Phase 1 build |
Pre-flight critical path: Several external approvals (entity, Google token/verification, Meta Advanced Access + Full tier + 2-Tier BM, TikTok app Live, DV360 contract) are calendar-bound and owned by ops/finance/sales, not engineering — they can block phases regardless of build speed. See the dated pre-flight critical path and the gated refined timeline.
Note on Meta phasing: Meta account provisioning happens in Phase 1 (onboarding v1), but Meta campaign execution + CAPI is Phase 2 — the two are intentionally separated.