Execution & Cost

Execution Gameplan & VC-Readiness Review

Created 11 Jun 2026·Updated 12 Jun 2026

Latest change: Meta CPAS Phase 2 core track; API vs manual TBD; shared-item metrics

Purpose: A board-ready, cross-document review of the entire Kobi Digital Ads doc set. It (1) confirms what is strong, (2) surfaces the hard external blockers that could change the plan or stop account creation, (3) lists scope decisions to lock now, (4) gives a tight-but-safe, gated execution timeline with an explicit pre-flight critical path, and (5) prepares the VC board Q&A — including the commercial gaps the engineering docs do not (and should not) answer.

How to read this: Sections 2 and 3 are the "we cannot afford to miss this" content. Section 7 is what the board will actually grill you on. Section 8 is what we need from you before the meeting.

Related: Roadmap & timelines · Platform access & API readiness · Onboarding API cross-check · Vision & scope


1. Review verdict

The documentation set (31 docs) is unusually mature for Phase 0 — it is a strong engineering and operations specification. Specific strengths:

  • Platform access realism — scope/capability matrices, rate-limit tiers, PRE vs ONB separation, red-flag automation. This is where most teams are naive; here it is a strength.
  • Agency-owned, no-client-billing model — internally consistent across vision, onboarding, platform, and security docs.
  • GA4-as-source-of-truth + ID-first attribution — the UTM spec is precise and avoids the classic Google auto-tagging/UTM collision.
  • Agentic cost discipline — Cost Guard, QC telemetry, per-task LLM cost catalog, model routing. Rare to see this rigor pre-build.
  • Human control plane split (Human Touch vs System Ops behind IAP/VPN) is clean and maintainable.

The gap is not engineering — it is (a) a handful of platform constraints that are understated and could block scaling, and (b) the absence of any commercial layer (market, unit economics, moat, working capital), which is exactly what a VC board evaluates. Both are addressed below.


2. Top blockers that could change the plan (ranked)

These are ordered by "likelihood × impact on the plan." Each has a status, the real constraint, and the mitigation that must be owned now.

🔴 B1 — Meta caps API ad-account creation at 5; scaling requires the gated 2-Tier Business Manager program

  • The constraint (verified): Meta's API (POST /{business_id}/adaccount) is limited to 5 ad accounts per Business Manager. To go beyond, you must adopt the 2-Tier Business Manager solution (a parent BM that programmatically creates a child BM per client), and access to those APIs is not self-serve — you must request it through a Meta representative. All accounts in the BM must also be in good standing or creation is blocked entirely.
  • Why it matters: The current architecture ("Kobi BM → one ad account per tenant") is fine for a ≤5-tenant pilot but hits a hard wall at client #6. This is the canonical "we can't create accounts because the API won't let us" failure — and the fix is a relationship-gated program with no guaranteed SLA.
  • Plan impact: The Meta tenant model becomes child-BM-per-client, not just ad-account-per-client. That changes the onboarding flow, the asset-assignment logic, the credit-line sharing model, and the registry schema (store child_business_id per tenant).
  • Mitigation (own now):
    1. Pilot on a single BM (≤5 ad accounts) — not blocked; Phase 1/2 can proceed.
    2. In parallel, open the 2-Tier BM request with a Meta partner/sales rep in Phase 0 (treat like the DV360 sales cycle — long lead, relationship-driven).
    3. Design the registry and onboarding connector for child-BM-per-tenant from day one so no rework when access lands.
    4. Track as a new pre-launch item (PRE-10) and a scaling red flag.
  • Status in docs: Mentioned only in passing ("consider 2-tier for scale", ONB-3). Now elevated — see fixes in meta-ads.md, platform-access, cross-check.

🔴 B2 — Commercial model lives at the parent/VC level (this module owns the cost side)

  • This module is one part of a larger Kobi project managed directly by the VC; pricing, take-rate, market sizing, and fundraise are owned and held confidently at the parent/VC level — intentionally not in this engineering repo.
  • What the module does own and must get right is the cost side, now consolidated in the Cost model & estimates: per-tenant $8–42/mo, portfolio ~$240 → ~$4.5K/mo (5 → 200 clients), **13-week core go-live DDL** (solo sprint; ~50 eng-weeks = full-module accounting only), and the media-float working-capital call-out (B3).
  • Action: keep this module's numbers (cost, timeline, blockers) crisp so they slot cleanly into the parent's commercial model.

🔴 B3 — Working-capital / media-float exposure (agency-billing model)

  • Kobi pays platforms (often on extended credit) and invoices clients monthly. At scale, pass-through media spend dwarfs SaaS revenue and Kobi is effectively financing clients' ad budgets. A single non-paying or fraudulent client = direct cash loss; growth consumes working capital.
  • Not addressed anywhere. Needs: credit policy, prepayment/escrow for new clients, per-tenant credit limits tied to credit_sub_limit (the spend caps exist; the cash/credit policy does not), and a financing line. VCs will probe this hard because it changes the capital intensity of the business.

🟠 B4 — Meta "Full" Marketing API tier is a chicken-and-egg gate

  • Full tier (production rate limits) requires 500+ API calls over 15 days with <15% error rate — i.e., you must already be calling the API at volume to qualify. New apps start on Limited.
  • Mitigation: Generate qualifying volume during Phase 1 pilot (sandbox + single-BM real calls) so Full tier is approved before Phase 2 multi-tenant launch. Put it on the pre-flight critical path with a dated target, not "apply when needed."

🟠 B5 — GA4 is "source of truth" but onboarding makes it optional

  • Onboarding v1 does not create GA4 properties and only links if the client grants Admin. Yet optimization is specified to run on GA4 ("never optimize on platform-reported conversions alone"). If a client declines GA4 Admin, the documented optimization premise breaks and the Phase 1 exit criterion ("pilot live on Google with GA4 SoT reporting") cannot be met.
  • Decision to lock: For pilots, GA4 Admin grant is effectively required (make it a soft gate). Define the explicit fallback when GA4 is absent: optimization runs on platform-reported + CRM signals with a clearly degraded mode and a banner, not silent. See fix in optimization.md / onboarding.

🟠 B6 — Google approvals are slower than assumed

  • adwords is a sensitive scope; external OAuth verification is 4–8 weeks (mitigated by internal-first). Developer-token approval currently has a reported backlog (don't assume 2 days). Standard Access requires Basic first + RMF compliance + ~10 business days.
  • Mitigation: Internal OAuth + dedicated automation user for pilot (already the plan); file Basic week 0; file Standard the moment ops/day projections approach 10k.

🟠 B7 — Closed-loop (CRM → CAPI) is the headline value prop but lands last (Phase 4)

  • The strongest differentiator — connecting ad spend to real business outcomes — is sequenced to the final phase. A pilot that can't show closed-loop ROI under-sells the thesis to the board and to design partners.
  • Mitigation: Ship an interim file/webhook-based offline import for Google + Meta in Phase 2 (the cross-check already notes a file-based interim is possible), so at least one closed-loop story exists before Phase 4 hardens it.

🟡 B8 — Platform-dependency / account-suspension concentration risk

  • The entire business depends on staying in good standing with Google and Meta. Agency BM suspensions are common and can take all clients dark at once. Break-glass admins are documented; the business-continuity runbook (multi-BM/MCC sharding, prevention, early warning, appeal SLAs, client comms) is now specified in security — platform account suspension & business continuity. Remaining action: assign per-platform appeal owners and rehearse.

🟡 B9 — Agentic platform is over-scoped for an MVP

  • Cost Guard + QC telemetry + automatic model promotion + 80% QC floor alerting is excellent target-state engineering, but it is a lot to build before first revenue. A startup should ship rules-based optimization + a thin LLM layer + basic guardrails first and layer the QC/Cost-Guard machinery in Phase 2–3. See the MVP cut in Section 4.

🟡 B10 — Factual/compliance accuracy fixes (small but board-visible)

  • Special Ad Categories are only HOUSING, EMPLOYMENT, FINANCIAL_PRODUCTS_SERVICES, ISSUES_ELECTIONS_POLITICS. Schools and health are not special categories. Docs incorrectly map School→HOUSING and say "required for schools/health." Also: social/political ads are banned in the EU (TTPA, Oct 2025) — relevant to the TR/EU footprint. Fixed in Section 6.

🟠 B11 — Account-creation gating is not Meta-only — Google MCC eligibility + TikTok BC caps

  • The Meta 5-cap (B1) is the loudest, but the same class of "the API won't let you create the account" risk exists on Google and TikTok and was previously undocumented:
    • Google Ads: a new/low-spend Kobi MCC can be refused API account creation (CREATION_DENIED_INELIGIBLE_MCC, enforced since Mar 2025) until it meets spend thresholds / has enough active policy-compliant child accounts — a chicken-and-egg gate like Meta Full tier. Also a 2,500/week creation cap and frequency quota (RESOURCE_EXHAUSTED).
    • TikTok: a default per-Business-Center advertiser-account cap that varies by BC type, raised only via a TikTok account manager — relationship-gated like Meta 2-Tier.
  • Mitigation: make account-creation eligibility a Phase-0 gate on all three platforms, not just Meta — seed the Google MCC with spend/history early, confirm TikTok BC headroom with the rep, and handle the specific error codes with UI break-glass. See platform access — Google account-creation limits and TikTok structure.

3. Pre-flight external-dependency critical path (start NOW, parallel to engineering)

These are calendar-bound external approvals — engineering speed cannot compress them. They are owned by ops / finance / legal / sales, not engineers, and several gate later phases. Start every long-pole item in Phase 0.

ID Item Owner Realistic lead time Gates Start by
PF-1 Operating legal entity (TR/EU) + bank instruments Legal/Finance 2–8 wks (if new) Everything Now
PF-2 GCP org + projects + billing + budget alerts Eng/Ops Days Phase 1 build Now
PF-3 Public website + privacy policy + ToS Marketing/Legal 1–2 wks Google OAuth, TikTok review Now
PF-4 Google Ads developer token — Basic Eng/Ops ~5 biz days (+ current backlog) Google account creation Week 0
PF-5 Google MCC + Kobi-entity business/identity verification Ops/Legal Days–2 wks Google go-live Week 0
PF-6 Google internal OAuth + automation user (External verify later) Eng Days (internal) / 4–8 wks (external) Multi-tenant SaaS at scale Week 1
PF-7 Google Ads Standard Access (after Basic + RMF) Eng/Ops ~10 biz days >~10k ops/day When projected
PF-8 Meta developer app + business verification Eng/Ops/Legal Few biz days Meta Advanced Access Week 0–1
PF-9 Meta Advanced Access (ads_management, business_management, pages_*) app review Eng 1–4 wks Production Meta Week 1
PF-10 Meta Full Marketing API tier (500 calls/15d, <15% err) Eng 2–3 wks of usage Phase 2 multi-tenant Phase 1
PF-11 Meta 2-Tier BM access (child-BM-per-client) via Meta rep — B1 Sales/Partnerships Wks–months, relationship-gated Meta beyond 5 tenants Now
PF-12 Meta extended credit line / agency invoicing Finance + Meta sales Wks Agency-scale Meta billing Phase 0–1
PF-13 TikTok BC + business verification Ops/Legal Days TikTok provisioning Phase 1
PF-14 TikTok developer app Live (sandbox → review) Eng Days–wks, no SLA TikTok SKU Phase 1
PF-15 Merchant Center agency MCA Ops Days Ecommerce SKU Phase 1 (if SKU)
PF-16 DV360 / GMP contract via Google sales Sales Months, min-spend commit DV360 SKU (Phase 3) Now (if pursuing)
PF-17 2–3 design-partner / pilot clients signed Founders/Sales Phase 0–1 Real pilot, board proof Now

Long poles to watch: PF-11 (Meta 2-Tier), PF-16 (DV360), PF-7/PF-10 (scale tiers). Pilot (≤5 Meta accounts, Google, GA4) is not blocked by the long poles — so build the pilot while the long poles mature.


4. Refined phase-by-phase execution timeline (tight, with safety)

Principle: respect a startup's need for speed, but gate each phase on the external approval it actually depends on (Section 3) and on a working pilot — not on calendar optimism. Durations assume 2–4 engineers + ops, and run the pre-flight track in parallel.

Phase Window (wks from build start) Outcome / exit gate Hard dependency
0 — Now Docs ✅ · pre-flight started · 2–3 design partners · commercial model drafted
Pre-flight 0–8 (parallel) Entity, GCP, Google Basic+MCC verify, Meta app+verify+Advanced Access, 2-Tier request open, TikTok app submitted, DV360 sales started PF-1…PF-17
1 — Foundations + Google + GA4 1–10 1–2 pilot tenants live on Google, GA4 SoT reporting, onboarding v1, Meta accounts provisioned (≤5, single BM), rules-based optimization PF-2,4,5,6
1.5 — Closed-loop interim 8–12 File/webhook offline import to Google + Meta for ≥1 pilot (early ROI story) — pulls B7 forward CRM stub
2 — Meta + TikTok execution + CAPI 11–18 Pilot live on Google + Meta (+ TikTok if SKU); CAPI server events PF-9,10,11,13,14
2.5 — First-party relay (optional) when justified Relay SKU for clients with cookie loss / IT friction consent on critical path
3 — DV360 19–24 DV360 for ≥1 tenant only if PF-16 contract landed PF-16
4 — CRM loop + CAPI maturity 17–26 (overlap) Hardened CRM → CAPI, match-rate monitoring, closed-loop reporting CRM API
Cross — Agentic hardening 12–24 Cost Guard, QC telemetry, model promotion, 80% floor (target-state, deferred per B9) Phase 1 live

Headline milestones for the board:

  • Pilot live (Google + GA4): ~week 10–12.
  • First closed-loop ROI story: ~week 12 (interim) → hardened week 26.
  • Multi-channel (Google + Meta + TikTok): ~week 18, contingent on PF-10/PF-11.
  • Full module: ~26 weeks (≈6 months) with parallel workstreams; DV360 only if the sales contract lands.

MVP cut (what to defer to protect the pilot date): automatic model promotion, the full QC-telemetry/BigQuery analytics stack, the 80%-floor alert job, Cost Guard's full ledger (keep a simple per-run hard budget), the first-party relay, and DV360. Ship: onboarding, Google + GA4, rules-based optimization with a thin LLM planner/QC, a hard spend guardrail, and the Human Touch approval inbox.


5. Scope decisions to lock now (or they change the project later)

Leaving these open risks rework or a blocked launch. Each needs an owner and a decision date before Phase 1 build.

# Decision Why it must be locked now Recommendation
S1 Meta tenant model: 2-Tier child BM per client (primary) Registry, onboarding, tokens (B1) Locked (ADR 0003) — 2-Tier from client #1 when PRE-10 active; single-BM fallback ≤5 until then; dev tests 2-Tier directly
S2 GA4 requirement for pilots Optimization premise depends on it (B5) Locked: Option A — GA4 Admin soft gate + degraded mode (ADR 0002); OAuth auto-provision = Phase 3+ consideration only
S3 Tech stack (ADR 0001) First sprint scaffold depends on it Locked: all-TypeScript — strict mode, Zod boundaries, CI-gated, AI-authored; isolated Python workers only if/when in-house ML is justified
S4 Credit / working-capital policy Cash exposure scales with clients (B3) Partial lock (ADR 0004) — per-tenant limit always; if prepay, cap = prepaid balance via parent billing internal API; other payment models → finance team
S5 Closed-loop timing Strongest value prop currently lands last (B7) Deferred — Phase 1.5+ offline import; full loop Phase 4
S6 DV360 in early SKU? Months-long contract; min spend (PF-16) Deferred — add-on after contract
S7 Organic/engagement posting scope OAuth scopes + product boundary Locked (ADR 0004)no organic feed posting; dark/unpublished post ads + boost existing posts OK
S8 Data residency / entity jurisdiction (TR vs EU) Affects region, KVKK localization, platform regional rules Boundary locked (ADR 0004) — module stores no PII/financial data; CRM/billing elsewhere; legal confirm KVKK/GDPR + entity before prod
S9 Special Ad Category mapping per vertical Wrong mapping = disapprovals or over-restriction (B10) Locked (ADR 0004) — default NONE; business type at onboarding → eligibility flag; apply category per ad content

CPAS — Phase 2 core track (open questions)

Meta Collaborative Ads (CPAS) — brand ↔ marketplace catalog collaboration. Strategic: democratize a format large advertisers use heavily today. Build: Phase 2 (not Phase 1 pilot). Spec: meta-collaborative-ads-cpas.md.

# Question Status Owner
Q-CPAS-1 Per marketplace (Trendyol, HB, …): partnership onboarding via API, manual, or hybrid? 🔴 Open — clarify before Phase 2 build Emre (partnerships) + Arif (Meta API)
Q-CPAS-2 Kobi role: agency / marketing partner / brand proxy on Meta CPAS? 🔴 Open — ask Meta rep (PRE-10) Emre
Q-CPAS-3 TikTok marketplace-collaborative analogue Deferred Phase 2.5+ Product

Locked direction:

  • Measurement: Meta shared-item insights (catalog_segment_value, converted_product_*, segment ROAS) — not GA4-primary for CPAS campaigns.
  • Execution: catalog_segment_id; dedicated ad account per retailer where Meta requires.
  • TikTok: similar opportunity exists; spec later.

6. Cross-document consistency fixes (checklist)

Concrete inconsistencies/inaccuracies found across the set. ✅ = corrected in this pass (see edits); ☐ = recommended follow-up.

Fix Where Action Status
Meta ad-account creation is ✅ fully automatable meta-ads, platform-access, cross-check Reclassify to "✅ up to 5; child-BM-per-client (2-Tier, Meta-rep gated) beyond" + add PRE-10 + ONB note
School → Special Ad Category HOUSING provisioning-spec §4 Correct to NONE default; HOUSING only for student-housing
"Special Ad Categories required for schools/health/credit" platform-access, meta-ads Correct list (HOUSING, EMPLOYMENT, FINANCIAL_PRODUCTS_SERVICES, ISSUES_ELECTIONS_POLITICS); note EU political-ad ban
GA4 SoT vs optional onboarding onboarding, optimization State GA4 Admin soft-gate for pilots + degraded-mode fallback
Meta in Phase 1 (provision) vs Phase 2 (execution) reads ambiguous roadmap Clarify: provisioning in P1, campaign/CAPI execution in P2
GA4 listed as priority "5" but is a Phase-1 foundation README, exec summary, ga4 doc Note GA4 is integration-order #5 but build-phase 1; avoid implying it comes after DV360
Claude model names claude-sonnet-4-6 vs claude-sonnet-4.6, opus-4-8 vs 4.8 agentic-orchestration, gcp-topology Normalize to one form
report.monthly referenced but absent from per-task cost catalog agentic-orchestration, reporting Add row or footnote
Preview model prices cited as fact agentic-orchestration Already flagged "verify"; for board, present a band, not point prices

7. VC board — anticipated questions & honest readiness

Mapped to where you're strong (lead with these) and weak (have an answer ready).

Where the docs make you strong

Question Your answer is backed by
"Can you actually automate this, or is it vaporware?" Endpoint-level API cross-check; honest ✅/⚠️/❌ per step
"What stops you mid-build on a platform limitation?" Platform access & readiness doc + this blocker register
"How do you keep AI costs/quality under control at scale?" Cost Guard, QC telemetry, per-task cost catalog, model routing
"How do humans stay in control / audit?" Human control plane, HITL approval types A1–A9, versioning
"Measurement integrity?" GA4-as-SoT + ID-first attribution spec, reconciliation tolerances

Where the answer lives elsewhere (parent/VC-owned) or needs prep

Most commercial items below are held at the parent/VC level, not in this module. The module's job is to supply clean cost, timeline, and risk inputs (see cost model) that those answers build on.

Likely question Where it's owned / current gap What to bring
Market size (TAM/SAM/SOM)? None SMB digital-ad spend in TR/EU target verticals; bottoms-up
Pricing & unit economics? None SaaS fee + % of media; gross margin incl. LLM/infra (docs give cost side — pair with revenue)
CAC / payback / LTV? None Sales motion + retention assumptions
Working capital for media float? B3 Credit policy + financing plan
Moat — why won't an agency or Meta/Google do this? None Multi-platform orchestration + closed-loop + vertical playbooks + switching cost (agency-owned accounts)
Competition? None Position vs Smartly/Madgicx/Adriel/agencies/in-house
Platform dependency risk? B8 partial Suspension runbook, multi-BM sharding, diversification
Traction / design partners? None (Phase 0) LOIs / 2–3 pilots (PF-17)
Team & why you? Out of repo scope Founder/ops/eng story
The ask & use of funds? None Tied to the timeline in Section 4
Regulatory (KVKK/GDPR, agency-of-record)? Partial Consent posture (strong) + entity/jurisdiction decision (S8)

Framing tip for the board: Lead with "we de-risked the technical unknowns to an unusual depth for our stage (show the readiness doc), and we know exactly which 3 external approvals gate scaling and have started all of them." Then pivot to the commercial story. The engineering depth is a credibility asset — but the board buys the business, so don't let the deck be 90% architecture.


8. What this module needs decided (commercial sits with parent/VC)

Pricing, market sizing, and fundraise are owned at the parent/VC level and are out of scope here. What the module needs to proceed cleanly:

  1. Decisions S1–S9 — S1–S3, S7–S9 ✅ locked (ADRs 0001–0004); S4 partial (limit mechanics locked, payment source → finance); S5–S6 deferred.
  2. Working-capital payment model — prepay vs invoice vs hybrid (S4/B3) — finance / parent billing team.
  3. Confirm cost assumptions — the cost model uses planning bands; replace with real run_id token + infra usage from the pilot to lock budgets.
  4. Design-partner status — any pilots lined up (PF-17), so Phase 1 has a real tenant.

Commercial figures, when needed, slot directly against the module's cost model and timeline.