feat(FN-297): add social proof impression tracking to landing page testimonials (+2 more)
Some checks failed
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Some checks failed
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Commits merged: - docs(FN-297): update FN-275 audit with social proof event locations - fix(FN-297): format IntersectionObserver mock in test file - feat(FN-297): add social proof impression tracking to landing page testimonials Files changed: apps/web/src/routes/__tests__/index.test.tsx | 7 ++ apps/web/src/routes/index.tsx | 111 +++++++++++++++++++++++++-- docs/product/funnel-audit-p1-cro-2026-05.md | 19 ++++- 3 files changed, 127 insertions(+), 10 deletions(-) Fusion-Task-Id: FN-297
This commit is contained in:
@@ -26,8 +26,8 @@ The baseline funnel — `plan_selected → checkout_started → payment_initiate
|
||||
| FN-209 | `trial_banner_viewed` | ❌ Missing | Banner renders but sends no event |
|
||||
| FN-209 | `trial_banner_dismissed` | ❌ Missing | Dismiss tracked only via localStorage |
|
||||
| FN-209 | `trial_banner_converted` | ❌ Missing | CTA link navigates, no conversion event |
|
||||
| FN-210 | `social_proof_impression` | ❌ Missing | Testimonial is static HTML, no visibility tracking |
|
||||
| FN-210 | `social_proof_engagement` | ❌ Missing | No interaction tracking on social proof elements |
|
||||
| FN-210 | `social_proof_impression` | ✅ Instrumented (FN-282, FN-297) | IntersectionObserver on landing/auth/subscription social proof |
|
||||
| FN-210 | `social_proof_engagement` | ✅ Instrumented (FN-282, FN-297) | Click/keyboard interaction tracking on social proof elements |
|
||||
| Baseline | `payment_success` | ❌ Missing | Gap documented in FN-101; never instrumented |
|
||||
|
||||
### 1.2 Existing Funnel Events (Available)
|
||||
@@ -218,7 +218,16 @@ See the Fusion board for:
|
||||
| `downgrade_offer_declined` | `apps/web/src/routes/dashboard/subscription/index.tsx` | 702 |
|
||||
| `receipt_uploaded` | `apps/web/src/components/payment/payment-content.tsx` | 189 |
|
||||
| Trial banner (no events) | `apps/web/src/components/trial-urgency-banner.tsx` | 23 |
|
||||
| Social proof (no events) | `apps/web/src/routes/_auth.tsx` | 103 |
|
||||
| `social_proof_impression` (hero badge) | `apps/web/src/routes/index.tsx` | 573 |
|
||||
| `social_proof_impression` (testimonial strip) | `apps/web/src/routes/index.tsx` | 590 |
|
||||
| `social_proof_impression` (testimonials) | `apps/web/src/routes/index.tsx` | 607 |
|
||||
| `social_proof_engaged` (landing) | `apps/web/src/routes/index.tsx` | 616 |
|
||||
| `social_proof_impression` (auth) | `apps/web/src/routes/_auth.tsx` | 23 |
|
||||
| `social_proof_engaged` (auth) | `apps/web/src/routes/_auth.tsx` | 33 |
|
||||
| `social_proof_impression` (subscription trust) | `apps/web/src/routes/dashboard/subscription/index.tsx` | 409 |
|
||||
| `social_proof_impression` (subscription payment) | `apps/web/src/routes/dashboard/subscription/index.tsx` | 426 |
|
||||
| `social_proof_engaged` (subscription trust) | `apps/web/src/routes/dashboard/subscription/index.tsx` | 436 |
|
||||
| `social_proof_engaged` (subscription payment) | `apps/web/src/routes/dashboard/subscription/index.tsx` | 440 |
|
||||
|
||||
## Appendix B: Files Requiring Instrumentation
|
||||
|
||||
@@ -226,6 +235,8 @@ See the Fusion board for:
|
||||
|------|--------------|
|
||||
| `apps/web/src/components/trial-urgency-banner.tsx` | `trial_banner_viewed`, `trial_banner_dismissed`, `trial_banner_converted` |
|
||||
| `apps/web/src/routes/dashboard/subscription/index.tsx` | `cancel_flow_viewed`, `cancel_save_clicked` (cancel dialog section) |
|
||||
| `apps/web/src/routes/_auth.tsx` | `social_proof_impression` (IntersectionObserver on testimonial) |
|
||||
| `apps/web/src/routes/_auth.tsx` | `social_proof_impression` (IntersectionObserver) → ✅ Done (FN-282) |
|
||||
| `apps/web/src/routes/index.tsx` | `social_proof_impression`, `social_proof_engaged` (landing page social proof) → ✅ Done (FN-297) |
|
||||
| `apps/web/src/routes/dashboard/subscription/index.tsx` | `social_proof_impression`, `social_proof_engaged` (trust badges, payment) → ✅ Done (FN-282) |
|
||||
| `apps/api/src/payments/payments.controller.ts` | `payment_success`, `payment_failed` (Iyzico callback + EFT approval) |
|
||||
| `apps/web/src/components/payment/payment-content.tsx` | `payment_success` (on Iyzico redirect return or EFT confirmation) |
|
||||
|
||||
Reference in New Issue
Block a user