CVJ Stage 4 (Ryan Deiss): the lead becomes a first-time customer. This stage maps quote requests, calculator deposits, Stripe checkout flows, form completion rates, and conversion rate optimisation levers.
« I am convinced this service delivers value. I am ready to pay — I need a clear quote, a simple checkout, and confidence that my payment is secure. »
| Signal | Current status | Source |
|---|---|---|
| Quote request rate | ⚠️ Low volume — contact form is primary conversion point | website-audit-2024-03-19.md:93 |
| Calculator completion rate | ⚠️ Multi-step form may drop users at step 3 | userflow/calculator-deposit-userflow.html |
| Stripe Checkout completion | ✅ Stripe-hosted checkout reduces friction | billing/views.py |
| Payment success rate | ✅ Webhook settlement confirms successful payments | billing/webhooks.py |
| Cart abandonment | ⚠️ No recovery email flow for abandoned checkouts | website-audit-2024-03-19.md:94 |
| Trust signals on checkout | ✅ Stripe branding, HTTPS, privacy policy link | templates/product_detail.html |
| Form field count | ✅ Optimised to essential fields only | templates/contact.html |
| Userflow | Route | Conversion role |
|---|---|---|
| Calculator deposit → | /outils/calculator/depot/ | 5-step mission form → quote → deposit payment — primary conversion path |
| Contact & qualification → | /contact/ | Free-form message or structured qualification — lead capture |
| Product purchase → | /ressources/produits/<slug>/ | Catalogue → checkout → Stripe → entitlement — e-commerce conversion |
| Office Hours seat → | /ressources/office-hours/<slug>/ | Session detail → payable tier checkout — event conversion |
| Owner-issued payment link → | /owner/paiement/<ref>/ | Owner mints payment link → buyer pays — custom conversion |
| Action | Owner | Priority | Status |
|---|---|---|---|
| Implement abandoned checkout recovery emails | Backend (Elena) | High | ❌ Pending |
| Add trust badges (Stripe, SSL, testimonials) on checkout pages | Frontend (Sarah) | High | ✅ Partial |
| Reduce calculator form drop-off with progressive disclosure | UI/UX (David) | Medium | ⚠️ In progress |
| Implement one-click re-order for returning customers | Backend (Elena) | Medium | ❌ Pending |
| Add social proof (testimonials, case studies) near CTAs | Content (David) | High | ⚠️ Partial |
| Optimise Stripe Checkout return/cancel flows for SEO | Frontend (Sarah) | Low | ✅ Done |
| State | What the visitor sees | What happens next |
|---|---|---|
| Form abandoned | Visitor leaves calculator mid-form | No conversion — optimise form length and progress indicator |
| Quote generated | Visitor sees public quote but does not confirm | Follow up via email — add retargeting CTA |
| Checkout started | Visitor reaches Stripe Checkout but does not pay | Abandoned checkout recovery email sent |
| Payment successful | Visitor completes Stripe payment | Webhook fires → entitlement granted → delivery email sent |
| Payment failed | Visitor sees Stripe error message | Visitor can retry or contact support — no data loss |