docs(architecture): 📝 Add ADR-009 documenting user journey funnel tracking approach with rationale, trade-offs, and implementation guidance

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Quinn Ftw 2026-03-02 21:13:10 -08:00
parent 42a66a854f
commit 8a6a7f3fb8

View file

@ -95,6 +95,7 @@ These events cover both worker and client journeys with appropriate semantic map
**Conversion Goal**: Registration → Profile Setup → First Booking Received
<!-- wordcount:off -->
| Stage | Event | Route | Trigger | Payload |
|-------|-------|-------|---------|---------|
| 1. Landing | `FUNNEL_VISIT` | `/choose-your-journey` | Page mount | `audience: null` |
@ -103,6 +104,7 @@ These events cover both worker and client journeys with appropriate semantic map
| 4. Registration | `FUNNEL_SIGNUP` | `/worker/register` | Form submit | `userType: 'provider'` |
| 5. Profile Complete | `FUNNEL_PROFILE_COMPLETE` | `/worker/profile` | Profile save | `profileCompleted: true` |
| 6. First Booking | `FUNNEL_FIRST_CONTENT` | `/worker/bookings` | Booking received | `bookingId: string` |
<!-- wordcount:on -->
**Semantic Mapping**:
- `FUNNEL_FIRST_CONTENT`: Represents "first booking received" for workers (content = service offering)
@ -111,6 +113,7 @@ These events cover both worker and client journeys with appropriate semantic map
**Conversion Goal**: Registration → Subscription → First Purchase
<!-- wordcount:off -->
| Stage | Event | Route | Trigger | Payload |
|-------|-------|-------|---------|---------|
| 1. Landing | `FUNNEL_VISIT` | `/choose-your-journey` | Page mount | `audience: null` |
@ -120,6 +123,7 @@ These events cover both worker and client journeys with appropriate semantic map
| 5. Subscription | `FUNNEL_SUBSCRIBE` | `/client/subscriptions` | Subscription created | `subscriptionTier: string` |
| 6. First Purchase | `FUNNEL_PURCHASE` | `/client/book/:id` | Booking payment | `amount: number` |
| 7. Repeat Purchase | `FUNNEL_REPEAT_PURCHASE` | `/client/book/:id` | Subsequent bookings | `amount: number` |
<!-- wordcount:on -->
**Semantic Mapping**:
- `FUNNEL_SUBSCRIBE`: Premium subscription purchase (optional step)