|
| 1 | +# Mesure d'audience Matomo — funnel du parcours simulateur |
| 2 | + |
| 3 | +ODICE envoie à Matomo une page vue à chaque navigation et des événements le long du parcours simulateur. Ce document décrit le funnel à créer côté Matomo. L'intégration technique est décrite dans [ADR-0007](./adr/0007-analytics-matomo-wrapper-maison.md). |
| 4 | + |
| 5 | +## Événements émis |
| 6 | + |
| 7 | +Tous les événements portent la **catégorie** `Simulateur PPA` et un **nom** (`abattoir` ou `autre`) selon le simulateur. Source : [`src/shared/analytics/events.ts`](../src/shared/analytics/events.ts), émis depuis [`src/features/simulateurs/pages/SimulateursIndexPage.tsx`](../src/features/simulateurs/pages/SimulateursIndexPage.tsx). |
| 8 | + |
| 9 | +| Action | Déclencheur | |
| 10 | +|---|---| |
| 11 | +| `simulateur_ouvert` | Choix d'un type d'établissement | |
| 12 | +| `simulation_lancee` | Soumission valide du formulaire | |
| 13 | +| `resultat_affiche` | Résultat calculé et affiché | |
| 14 | +| `reinitialisation` | Clic sur le bouton « Réinitialiser » (et non sur une simple saisie) | |
| 15 | + |
| 16 | +Rappel : le tracking n'est actif **qu'en build production** et seulement si `VITE_MATOMO_URL` + `VITE_MATOMO_SITE_ID` sont renseignés (cf. [`.env.example`](../.env.example)). |
| 17 | + |
| 18 | +## Prérequis |
| 19 | + |
| 20 | +Le suivi de funnel nécessite le plugin **Funnels** de Matomo (inclus sur Matomo Cloud, installable sur instance auto-hébergée). Menu : **Objectifs → Funnels → Gérer les funnels**. |
| 21 | + |
| 22 | +## Funnel « Parcours simulateur ODICE » (4 étapes) |
| 23 | + |
| 24 | +| # | Étape | Correspondance | Valeur | |
| 25 | +|---|---|---|---| |
| 26 | +| 1 | Page simulateur | URL contient | `/simulateurs` | |
| 27 | +| 2 | Simulateur ouvert | Événement — Action | `simulateur_ouvert` | |
| 28 | +| 3 | Simulation lancée | Événement — Action | `simulation_lancee` | |
| 29 | +| 4 | Résultat affiché | Événement — Action | `resultat_affiche` | |
| 30 | + |
| 31 | +- Pour chaque étape « Événement », ajouter la condition **Catégorie = `Simulateur PPA`** afin d'éviter toute collision future. |
| 32 | +- Laisser le funnel en mode **non strict** : les étapes se suivent dans l'ordre naturel, inutile d'interdire les sauts. |
| 33 | + |
| 34 | +## Découpage par type de simulateur |
| 35 | + |
| 36 | +Les événements portent un `name` (`abattoir` / `autre`). Approche recommandée : **un seul funnel + segment**. |
| 37 | + |
| 38 | +- Créer le funnel une fois, puis l'analyser avec un segment `Event Name == abattoir`, puis `Event Name == autre`. |
| 39 | +- Alternative (plus de maintenance) : deux funnels distincts, chaque étape Événement filtrant aussi sur `Nom == abattoir` (resp. `autre`). |
| 40 | + |
| 41 | +## Points d'attention |
| 42 | + |
| 43 | +- **Étape 3 → 4 ≈ 100 %.** L'évaluation est synchrone et n'échoue jamais côté utilisateur : un écart `simulation_lancee → resultat_affiche` signale une **erreur JS** (captée par l'ErrorBoundary), pas un abandon. Pour un funnel purement comportemental, on peut fusionner les étapes 3 et 4 en une seule « Simulation aboutie » sur `resultat_affiche`. |
| 44 | +- **`reinitialisation` n'est pas une étape de funnel** (c'est une friction, pas une progression). La créer comme **Objectif** séparé (Événement Action = `reinitialisation`) pour mesurer le taux de remise à zéro. |
| 45 | +- Les points d'abandon réellement utiles à observer sont **1 → 2** (arrivée sans choix de type) et **2 → 3** (formulaire ouvert mais non soumis = formulaire trop long ou complexe). |
| 46 | + |
| 47 | +## `VITE_MATOMO_FUNNEL_ID` |
| 48 | + |
| 49 | +La variable est lue et validée par le module mais **pas encore consommée** par le code. Une fois le funnel créé, Matomo lui attribue un ID : le poser dans cette variable n'est utile que si l'on souhaite plus tard référencer le funnel côté code (API Funnels, tracking explicite). Pour un funnel défini entièrement dans l'UI Matomo, ce n'est pas nécessaire. |
0 commit comments