Lifecycle · Draft

Onboarding — Client Portal Experience (Phase 1)

Created 11 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

Audience: Product, UX, client success, implementation. Defines what the client sees, what they provide, what Kobi finishes, and what remains after onboarding — without exposing agency internals (MCC, system users, PRE setup).

Related: Onboarding process · Provisioning spec · API cross-check


Design principles

Principle Detail
Agency-owned accounts Client never creates or logs into Google Ads / Meta Ads Manager / TikTok Ads as account owner
No platform billing Never ask for card or bank details for ad platforms — client is invoiced by Kobi monthly
Minimal client IT Target: legal consents + Meta OAuth + paste feed URL (ecommerce) + optional GA4 + install guide later
Hide ops complexity No MCC/BM/BC IDs, system users, developer tokens, or ONB-* codes in UI — translate to plain status
Honest completion End screen separates “Kobi finished” vs “Your next steps” vs “Waiting on Google/Meta”
SKU-aware Steps appear only if channel is in contract (ecommerce, social, TikTok, CRM)

Portal journey (screens)

YesNoYesNo0 Invite / Welcome1 Legal & privacy2 Business profileEcommerce SKU?3 Product feedSocial SKU?4 Connect Meta + IG5 GA4 optional6 We are setting up7 Tracking guide8 Complete

Estimated client active time: 15–25 minutes (excluding site install, which is post-onboarding).


Screen-by-screen

0 — Welcome

Client sees Plan name, included channels (Google, Meta, TikTok…), monthly media cap in client currency, vertical, assigned Kobi contact, estimated timeline
Client provides Nothing — contract already signed; account activated by sales/ops
Kobi behind the scenes tenant_id, plan_id, onboarding_record created; entitlements loaded
CTA Start onboarding

Do not show: raw customer_id, act_*, internal SKU codes.


Client sees Kobi ToS, data-processing summary, sub-processor list (Google, Meta, TikTok…), link to privacy policy
Client provides Checkbox accept ToS + data sharing (GDPR/KVKK scope for tracking + CAPI)
Unlocks Provisioning agent; tracking asset creation
Blocks if skipped Cannot proceed

Stored as consent_record → linked to onboarding_record.


2 — Business profile (required)

Client sees Form prefilled from contract where possible
Client provides
Field Required Used for
Legal business name Yes Naming, invoices, guides
Website URL Yes Pixels, domain-verify instructions, MC claim
Primary country / currency Yes Account timezone, feed, ads
Logo (optional) No Reports / future creative
CRM tenant ID If CRM SKU Webhook mapping
Contact email for IT Recommended Tracking install reminders

| Kobi after submit | Validates URL; stores intake; may start Google Ads create in background | | CTA | Continue |


3 — Product feed (ecommerce SKU only)

Client sees “Connect your product catalog” — one field + help links (Shopify, WooCommerce, static URL)
Client provides Feed URL; optional sale country if multi-country
Client does not Create Merchant Center, link Ads, or platform billing
Kobi after submit MCA sub-account, data source, Ads link, first fetch poll
Status shown ⏳ Setting up catalog → ✅ Catalog connected or ⚠️ Feed needs attention (human-readable error)

Can skip screen? No if ecommerce in SKU — blocks shopping channel until URL provided.


4 — Connect Meta & Instagram (social / Meta SKU)

Client sees Short explanation: “Link the Facebook Page and Instagram you advertise with. You stay owner; Kobi runs ads under agency access.”
Client provides Meta OAuth — login, grant permissions, pick Page + IG
Client does not Create ad account, add payment, become BM admin
Kobi after OAuth Ad account (if not already), pixel link, Page/IG promoted to ad account
If fails / timeout Portal shows “Need help connecting?” → support / partner-invite instructions (HITL A4 — internal)

Can skip? Only if Meta not in SKU. If in SKU and skipped → onboarding cannot complete for social placements.


5 — Google Analytics (optional)

Client sees “Connect GA4 for unified reporting (recommended)” — benefits bullet list
Client provides Either: Invite Kobi in GA4 Admin (instructions + Kobi service account email) or Skip for now
Kobi if granted Ads ↔ GA4 link via API
If skipped Onboarding still can complete; reporting uses platform + CRM until connected later

Re-openable from portal settings after onboarding.


6 — We are setting up your channels (read-only progress)

Client sees Progress checklist — plain language, no API jargon
Row (client label) Shown when
Google Search & Shopping accounts Google in SKU
Meta & Instagram advertising Meta in SKU
TikTok advertising TikTok in SKU
Product catalog Ecommerce
Conversion tracking (server-side ready) Always
CRM lead connection CRM SKU
Analytics link GA4 Admin granted
Status icons (client-facing) Meaning
Ready Kobi finished this row
In progress Agent running
👤 Waiting for you Client action on earlier screen
🌐 Waiting on Google/Meta Platform async (policy, crawl) — not client fault
Skipped Optional path not taken
🔧 Support Kobi ops resolving — client sees “We’re on it”

Client provides | Nothing — watch progress; email when done or if action needed.

Do not show: ONB-11, token errors, MCC, spend_cap integers — map to Support or Waiting rows.


7 — Tracking on your website

Client sees Implementation guide (download + in-portal checklist): pixel IDs, CAPI note, manual snippets, GTM import file, domain-verify steps, UTM doc
Client provides Install on site (developer or IT) — check off steps in portal when done
Kobi provides Pre-built assets already created in platforms; health probe when client marks installed
Health indicators Meta pixel test event, Google conversion action, TikTok (if SKU) — green / yellow / red

Blocks onboarding.completed? Configurable:

Policy Behavior
Lenient (default Phase 1) Onboarding can complete with tracking yellow — media planning can start; launch gated at A2
Strict Complete only when tracking green or client acknowledges “install within X days”

Recommend lenient + hard launch gate (A2) until tracking green.


8 — Complete — summary dashboard

The most important screen for expectations.

Section A — What Kobi finished

Deliverable (client language) Technical equivalent (internal)
Your Google advertising account is ready Ads customer + conversions + guardrails
Your Meta advertising account is ready act_* + pixel + CAPI
Your TikTok account is ready (if SKU) Advertiser + pixel
Your product catalog is connected (if ecommerce) MCA + data source + Ads link
Facebook Page & Instagram linked (if done) Page/IG IDs on record
Google Analytics linked (if done) GA4 ↔ Ads link
CRM can receive campaign leads (if SKU) Webhook registered
Monthly spend limit applied per your plan monthly_media_cap, Meta spend_cap
Implementation guide delivered tracking_implementation_guide

Section B — Your next steps (left after onboarding)

Item Owner Urgency Blocks
Install tracking on website (guide) Client IT High before launch Campaign go-live (A2)
Domain verification (DNS/meta-tag) Client IT Medium Some optimization events
Grant GA4 Admin (if skipped) Client Low Unified GA4 reporting
Fix product feed errors (if any) Client + Kobi High for Shopping Shopping ads launch
Review implementation guide UTM / CRM fields Client marketing Medium Offline conversion match

Section C — Waiting on platforms (not client homework)

Item Typical duration Client message
Google product policy review Hours–days “Google is reviewing your catalog”
Merchant Center website claim 1–3 days “Confirm store URL in guide if prompted”
Meta ad account limits (rare) Variable “We’re working with Meta support”

Section D — What happens next

Step Who
Media planning Kobi planner + client review
Plan approval Client (A1 when exposed)
First campaign launch Kobi after A2 launch confirmation

CTA: Go to dashboard · Download guide again · Connect GA4 (if skipped)

Event emitted: client.onboarding.completed when internal gates satisfied (see completion rules).


What the client never sees or does

Hidden / not asked Why
Google/Meta/TikTok payment Agency billing inherit
Business verification docs Kobi entity — PRE
MCC, BM, BC, system users, developer apps Agency infra
Create ad account in platform UI API under Kobi
GTM publish by Kobi on their site v1 deferred — guide only
DV360 Unless contracted later
Internal red-flag codes Ops translation only

SKU matrix — which screens appear

Screen Base +Ecommerce +Meta/Social +TikTok +CRM
Legal
Business profile
Product feed
Connect Meta + IG optional¹
GA4 optional
Progress rows per SKU +catalog +Meta +TikTok +CRM

¹ TikTok ads may use Meta Page for creative on some setups — Meta Connect still required if Meta in SKU.


Completion rules

client.onboarding.completed when all of:

Gate Required
ToS + data sharing accepted Yes
Business profile complete Yes
Feed URL Yes if ecommerce SKU
Meta Page/IG connected Yes if Meta in SKU
Agent provisioning sweep No open ONB-* for included channels
Plan limits on registry Yes (internal)

Not required for complete (v1 lenient):

  • Tracking installed on site (yellow OK)
  • GA4 connected
  • Domain verified
  • Google policy approval (async)

Required before first ad launch (A2):

  • Tracking health green (or ops waiver)
  • Shopping: feed policy acceptable if Shopping in plan

Client vs Kobi vs left — one-page summary

Client provides in portal Kobi finishes by end Left after onboarding
Always ToS, data consent, business profile Google Ads shell, conversions, guide, plan caps, CRM hook (if SKU) Install tracking; optional domain verify
Ecommerce Feed URL MCA + data source + Ads link Feed/policy fixes; website claim
Meta OAuth Page + IG Ad account, pixel, CAPI, catalog (if ecom) — if OAuth succeeded
TikTok — (if SKU) Advertiser, pixel, Events API
GA4 Optional Admin invite Ads ↔ GA4 link if granted Connect GA4 if skipped
Never client Platform billing, tax IDs for ads, ad account UIs Agency billing inherit, business verify (Kobi entity)

Notifications (email / in-app)

Trigger Message
Onboarding started Welcome + link to portal
Action needed “Connect Meta” / “Add feed URL”
Provisioning done, tracking pending “Your accounts are ready — install tracking (15 min guide)”
Onboarding complete Summary + next steps + planner intro
Platform async delay “Catalog under Google review — you can still plan campaigns”

Phase 2+ additions (portal)

When Kobi Relay ships, add screen “First-party tracking (optional)”: CNAME instructions, loader snippet, consent banner approval — does not replace v1 guide path until client opts in.