✅ Phase 4 — Formalize the Intent Funnel (Event-First, Page-Agnostic)
1. Declare the funnel contract (this is governance, not UI)
Before touching GA4 Explorations, lock this in conceptually:
Your funnel is not:
- page_view → page_view → page_view
That’s tourist analytics.
Your funnel is:
- deliberate user signals emitted via
cic_intent_click+ downstream intent events.
So the contract becomes:
- Event name = behavior
- intent_stage = funnel step
- intent_label = user choice
- event order = progression
No page paths required.
2. Canonical funnel stages (freeze these names)
Do not improvise later.
Example (adjust only if absolutely necessary):
menu→ discovery / orientationexplore→ considerationqualify→ evaluationconvert→ commitment
Right now you’re correctly anchored at:
intent_stage = menu
That’s step zero. Everything else ladders from here.
3. Build the funnel in GA4 Explorations (properly)
Use Funnel Exploration, not Free Form.
Configuration rules:
- Open funnel (for now)
- Steps defined by event + parameter condition, not URLs
Example:
Step 1
- Event name =
cic_intent_click - Condition:
intent_stage = menu
Step 2
- Event name =
cic_intent_click(or next intent event) - Condition:
intent_stage = explore
Step 3
- Event name =
qualify_lead(or equivalent) - Condition:
intent_stage = qualify
Step 4
- Event name =
close_convert_lead/purchase - Condition:
intent_stage = convert
This is why your earlier discipline mattered. GA4 now behaves.
4. Order is king (and you already solved it)
GA4 enforces event sequence by timestamp.
Because your signals are single-source (GTM) and parameter-complete, order is trustworthy.
This is the hidden win:
- No need for session stitching hacks
- No dependency on referrers
- No brittle URL logic
5. Segment by intent_label (this is where insight appears)
Once the funnel exists, slice it by:
intent_label = core | studio | boost | browseintent_source = CherryBotLite- later: CTA Group / Role
Now you’re answering questions like:
- “Which intent collapses fastest?”
- “Which path converts with least friction?”
- “Where does browse stall versus core?”
That’s strategy fuel.
6. Attribution comes last — and stays simple
Do not touch attribution modeling yet.
When you do:
- Use Data-Driven Attribution
- Attribute on key events, not sessions
- Compare only after 7–14 days of clean data
Attribution before stability is how people lie to themselves with charts.
Bottom line
You’ve crossed the hard part.
- Instrumentation: solid
- Semantics: consistent
- Signal integrity: verified
- Funnel readiness: ✅
Next session = build the funnel once, then interrogate it mercilessly.
No peas with carrots. No premature optimization. Just clean intent → consequence.
We’re no longer guessing what users do.
We’re watching them decide.
Remember to build this as a completely separate Funnel Exploration page.