# 📊 Survey PostHog : Satisfaction crĂ©ation de contrats ## 🎯 Objectif Mesurer la satisfaction des utilisateurs concernant le processus de crĂ©ation de contrats avec une note de 1 Ă  5. ## ✅ Étape 1 : ÉvĂ©nement trackĂ© L'Ă©vĂ©nement `contract_created` est maintenant envoyĂ© Ă  PostHog aprĂšs chaque crĂ©ation de contrat rĂ©ussie, avec les propriĂ©tĂ©s suivantes : ```typescript posthog.capture('contract_created', { contract_type: 'CDDU' | 'RG', regime: 'CDDU_MONO' | 'CDDU_MULTI' | 'RĂ©gime GĂ©nĂ©ral', multi_mois: boolean, categorie_professionnelle: 'Artiste' | 'Technicien' | 'Autre', contract_id: string, has_notes: boolean, validation_immediate: boolean, }); ``` ## 🔧 Étape 2 : CrĂ©er le survey dans PostHog ### 1. AccĂ©der Ă  PostHog - Rendez-vous sur https://eu.posthog.com/ - Connectez-vous avec vos identifiants ### 2. CrĂ©er un nouveau survey 1. Dans le menu de gauche, cliquez sur **"Surveys"** 2. Cliquez sur **"New survey"** 3. Choisissez **"Rating"** comme type de question ### 3. Configuration du survey #### **Question** ``` Comment Ă©valuez-vous la facilitĂ© du processus de crĂ©ation de contrat ? ``` #### **Type de rĂ©ponse** - **Type** : Rating (Ă©chelle) - **Scale** : 1 Ă  5 - **Display** : Stars (⭐) ou Numbers (1 2 3 4 5) #### **Labels optionnels** - **1 Ă©toile** : TrĂšs difficile - **5 Ă©toiles** : TrĂšs facile ou simplement : - **Low** : 1 - Difficile - **High** : 5 - Facile #### **Nom du survey** ``` Satisfaction crĂ©ation de contrats ``` #### **Description (optionnelle)** ``` Aidez-nous Ă  amĂ©liorer votre expĂ©rience ``` ### 4. Ciblage du survey #### **Quand afficher le survey ?** **Option A : AprĂšs chaque crĂ©ation (recommandĂ© pour commencer)** ``` ÉvĂ©nement : contract_created Affichage : ImmĂ©diatement aprĂšs l'Ă©vĂ©nement ``` **Option B : AprĂšs X crĂ©ations (pour ne pas ĂȘtre trop intrusif)** ``` ÉvĂ©nement : contract_created Condition : event_count >= 3 (Afficher seulement aprĂšs 3 crĂ©ations de contrats) ``` **Option C : Une seule fois par utilisateur** ``` ÉvĂ©nement : contract_created Condition : survey_not_completed FrĂ©quence : Une fois par utilisateur ``` #### **Configuration recommandĂ©e pour dĂ©marrer :** Dans la section **"Targeting"** du survey PostHog : 1. **Linked flag or targeting** : - Event name: `contract_created` 2. **Conditions** : - Show survey when: `contract_created` event is captured - Wait: `1 second` (laisser le temps Ă  la redirection de se faire) 3. **Appearance** : - Position: Bottom right (en bas Ă  droite) - Type: Popover (fenĂȘtre flottante) 4. **Frequency** : - Show once per user: **No** (pour avoir plusieurs rĂ©ponses) - Days between survey appearances: **7** (ne pas harceler l'utilisateur) ### 5. Design et style ``` Title: 📊 Votre avis compte ! Question: Comment Ă©valuez-vous la facilitĂ© du processus de crĂ©ation de contrat ? Button text: Envoyer Dismiss button: Peut-ĂȘtre plus tard ``` **Couleurs** : - Primary color: `#10b981` (vert Emerald de votre app) - Background: `#ffffff` ### 6. Question de suivi (optionnelle) Vous pouvez ajouter une **question de suivi** si la note est basse (≀ 3) : ``` Si note ≀ 3 : "Que pourrions-nous amĂ©liorer ?" Type : Open text (texte libre) Placeholder : "Partagez vos suggestions..." ``` Configuration dans PostHog : - Cliquez sur **"Add follow-up question"** - Condition: `rating <= 3` - Type: Open text ## 📈 Étape 3 : Analyser les rĂ©sultats ### Dashboard dans PostHog 1. Aller dans **Surveys** → **Votre survey** 2. Consulter : - **Response rate** : Taux de rĂ©ponse - **Average rating** : Note moyenne - **Distribution** : RĂ©partition des notes (1 Ă  5) - **Responses over time** : Évolution dans le temps ### CrĂ©er des insights personnalisĂ©s 1. Aller dans **Insights** → **New insight** 2. CrĂ©er un graphique : ``` Event: survey_responded Filter: survey_name = "Satisfaction crĂ©ation de contrats" Breakdown: rating ``` 3. Analyser par type de contrat : ``` Event: survey_responded Filter: survey_name = "Satisfaction crĂ©ation de contrats" Breakdown: contract_type (CDDU vs RG) ``` ### Alertes automatiques Configurez une alerte si la note moyenne descend sous un seuil : 1. Aller dans **Alerts** → **New alert** 2. Condition : `average_rating < 3` 3. Notification : Email ou Slack ## 🎹 Option avancĂ©e : Survey personnalisĂ© dans le code Si vous prĂ©fĂ©rez un contrĂŽle total sur le design et le timing, vous pouvez crĂ©er un survey personnalisĂ© : ```tsx // components/ContractCreationSurvey.tsx 'use client'; import { useState } from 'react'; import { usePostHog } from 'posthog-js/react'; import { Star, X } from 'lucide-react'; export function ContractCreationSurvey({ isOpen, onClose, contractId }: { isOpen: boolean; onClose: () => void; contractId?: string; }) { const posthog = usePostHog(); const [rating, setRating] = useState(null); const [hoverRating, setHoverRating] = useState(null); const [submitted, setSubmitted] = useState(false); if (!isOpen || submitted) return null; const handleSubmit = () => { if (rating) { posthog?.capture('contract_creation_survey_submitted', { rating, contract_id: contractId, }); setSubmitted(true); setTimeout(onClose, 2000); } }; return (

📊 Votre avis compte !

Comment évaluez-vous la facilité du processus de création de contrat ?

{[1, 2, 3, 4, 5].map((star) => ( ))}
TrĂšs difficile TrĂšs facile
); } ``` Puis l'intĂ©grer dans `NouveauCDDUForm.tsx` : ```tsx const [showSurvey, setShowSurvey] = useState(false); const [createdContractId, setCreatedContractId] = useState(); // AprĂšs crĂ©ation rĂ©ussie : setCreatedContractId(result?.contract?.id); setShowSurvey(true); // Dans le JSX : setShowSurvey(false)} contractId={createdContractId} /> ``` ## 📊 Comparaison des deux approches | CritĂšre | Survey PostHog natif | Survey personnalisĂ© | |---------|---------------------|---------------------| | **FacilitĂ© de mise en place** | ⭐⭐⭐⭐⭐ TrĂšs facile | ⭐⭐⭐ Moyen | | **ContrĂŽle du design** | ⭐⭐⭐ LimitĂ© | ⭐⭐⭐⭐⭐ Total | | **Analytics automatiques** | ⭐⭐⭐⭐⭐ IntĂ©grĂ© | ⭐⭐⭐ À configurer | | **A/B testing** | ⭐⭐⭐⭐⭐ Natif | ⭐⭐ Manuel | | **Multilingue** | ⭐⭐⭐⭐ Facile | ⭐⭐⭐⭐⭐ Total | | **Maintenance** | ⭐⭐⭐⭐⭐ Aucune | ⭐⭐⭐ RĂ©guliĂšre | **Recommandation** : Commencez avec le **Survey PostHog natif**, c'est plus rapide et vous aurez les analytics automatiquement. Si vous avez besoin de plus de contrĂŽle, passez au survey personnalisĂ© plus tard. ## ✅ Checklist de dĂ©ploiement - [ ] Code modifiĂ© dans `NouveauCDDUForm.tsx` (dĂ©jĂ  fait ✅) - [ ] Variables PostHog configurĂ©es dans `.env.local` - [ ] CrĂ©er le survey dans le dashboard PostHog - [ ] Configurer le ciblage sur l'Ă©vĂ©nement `contract_created` - [ ] Tester en crĂ©ant un contrat - [ ] VĂ©rifier dans PostHog que l'Ă©vĂ©nement arrive - [ ] VĂ©rifier que le survey s'affiche - [ ] Configurer les alertes si nĂ©cessaire ## đŸ§Ș Test 1. CrĂ©ez un contrat de test 2. VĂ©rifiez dans la console : `📊 PostHog: ÉvĂ©nement contract_created envoyĂ©` 3. Le survey devrait apparaĂźtre quelques secondes aprĂšs la crĂ©ation 4. Donnez une note 5. VĂ©rifiez dans PostHog → Surveys que la rĂ©ponse est enregistrĂ©e ## 📚 Ressources - [Documentation PostHog Surveys](https://posthog.com/docs/surveys) - [Survey templates](https://posthog.com/templates/surveys) - [Best practices](https://posthog.com/docs/surveys/best-practices) --- **DerniĂšre mise Ă  jour** : 15 octobre 2025