La liste ci-dessous est l’inventaire réel des events, relevé dans le code iOS et Android.
Parité : sauf mention contraire, chaque event part à l’identique sur iOS et Android . Seuls les events ATT sont propres à iOS (la transparence du suivi est une notion Apple). L’ouverture de l’app est capturée automatiquement par PostHog (event lifecycle Application Opened).
Code actuel ≠ données : trois cas à connaître
Cette page liste les events tels que le code actuel les émet. Dans PostHog, tu verras trois décalages (vérifiés le 26/6/26) :
tab_tapped (changement d’onglet, tab = coach/tracking/achievements/profile) : retiré du code le 23/6/26 , mais c’est encore l’event le plus volumineux dans les données — il vient du build publié , antérieur au retrait. Il s’éteindra à mesure que les gens mettent à jour. Ne pas bâtir de nouveau funnel dessus.
app_opened : ancien event maison, remplacé par la capture lifecycle Application Opened. Volume résiduel et déclinant (vieilles installs).
att_* et notification_prompt_* : présents dans le code mais pas encore dans les données — les builds qui les portent ne sont pas encore publiés. Ils apparaîtront après la prochaine mise en production.
Event
Déclencheur
Propriétés
onboarding_started
L’utilisateur arrive sur le 1er step réel (après le Welcome) — entrée dans le funnel
social_signup
onboarding_step_viewed
Arrivée sur un step
step_id, step_index, social_signup
onboarding_step_completed
Validation d’un step
step_id, step_index, social_signup, value (selon le step)
onboarding_completed
Compte créé, profil enregistré
auth_method, cigarettes_per_day, motivation_level, quit_timeline, social_signup, total_duration_seconds
welcome_sign_in_tapped
Tap « J’ai déjà un compte » sur l’écran Welcome
(aucune)
auth_method_tapped
Tap sur un bouton de connexion, avant que le flux ne tourne (= dénominateur par méthode)
auth_method (apple / google / email)
signup_form_started
L’utilisateur met le focus dans le formulaire email/mot de passe (détecte les abandons silencieux)
(aucune)
signup_failed
Échec d’authentification
auth_method, error_type (email_already_used, network, oauth_cancelled, oauth_failed, invalid_email, password_too_short, unknown)
onboarding_quiz_completed
Quiz motivation/dépendance terminé
quiz_type, score, max_score, result_tier
Le Welcome n’est PAS un step d’onboarding
onboarding_step_viewed / _completed ne partent jamais pour step_id=welcome. Le Welcome est une landing pré-funnel ; le funnel commence à onboarding_started. Sans ça, le drop Welcome → premier step était pollué par les revenants qui tapent « Se connecter » (mesurés à part par welcome_sign_in_tapped).
Event
Déclencheur
Propriétés
lesson_started
Démarrage d’une leçon
key_id, lesson_index, is_premium
lesson_completed
Vidéo vue à plus de 90 %
key_id, lesson_index
key_quiz_submitted
Soumission du quiz d’une clé
key_id, score, passed, attempt_number
key_completed
Clé bouclée (toutes les leçons + quiz réussi) — ne part qu’une fois
key_id
video_play_started
Lecture d’une vidéo (leçon, envie ou rechute) qui démarre vraiment
video_key, video_kind (lesson / craving / relapse), video_index, locale
moment_viewed
Ouverture d’un moment d’accompagnement quotidien
moment_index, moment_day, status (read / unread)
Event
Déclencheur
Propriétés
craving_help_started
Tap sur le bouton d’aide à l’envie
(aucune)
craving_trigger_submitted
Sélection d’un déclencheur (stress, ennui…)
trigger_id, trigger_index
craving_video_viewed
Ouverture de la vidéo associée à un déclencheur
trigger_id, trigger_index
craving_activity_started
Début d’une activité (respiration, jeu…)
trigger_id, activity_id, activity_category
craving_activity_completed
Fin ou abandon de l’activité
trigger_id, activity_id, activity_category, duration_seconds, completed (bool)
relapse_video_started
Lecture d’une vidéo « rechute » (signal de difficulté)
video_index
Event
Déclencheur
Propriétés
quit_date_updated
Date d’arrêt définie ou changée
source (tracking / profile), days_from_now (négatif = passé, 0 = aujourd’hui, positif = futur)
planned_quit_date_set
Date d’arrêt planifiée (avant d’avoir arrêté)
source, days_from_now, reset_streak (optionnel)
health_milestone_reached
Seuil de santé franchi
milestone_id (1-17), milestone_name, days_since_quit
achievement_unlocked
Nouveau succès débloqué — ne part qu’une fois par appareil
achievement_id, category, days_since_quit
achievement_viewed
Tap sur le détail d’un succès
achievement_id, category
Event
Déclencheur
Propriétés
paywall_viewed
Le paywall s’affiche
source, key_id (optionnel), trigger (optionnel)
paywall_dismissed
Le paywall est fermé sans achat
source, key_id (opt.), trigger (opt.), view_duration_seconds (opt.)
Les valeurs de source (d’où vient le paywall) et le détail premium sont décrits dans Monétisation . Les events d’achat ne sont pas listés ici : ils arrivent automatiquement de RevenueCat (rc_*).
Event
Déclencheur
Propriétés
book_tapped
Tap sur un livre du coach
book_id, is_premium, action (open / locked)
Les notifications sont locales (calculées sur l’appareil à partir de la date d’arrêt), il n’y a pas de serveur de push. Elles sont entièrement mesurées :
Event
Déclencheur
Propriétés
notification_scheduled
Des notifications sont (re)programmées
category (accompaniment / achievements / planned), count, window (optionnel)
notification_opened
Tap sur une notification (deep-link)
category, moment_index ou achievement_id
notification_prompt_shown
L’écran de demande de permission s’affiche
mode, attempt
notification_prompt_responded
Réponse à la demande de permission
mode, action
notification_permission_updated
La permission change (prompt ou réglages OS)
enabled, source (onboarding / onboarding_skip / post_login_priming)
Event
Déclencheur
Propriétés
att_prompt_shown
L’écran d’amorce ATT s’affiche
attempt
att_prompt_responded
Tap sur le bouton de l’amorce
action (continue / later)
att_authorization_changed
La boîte de dialogue système ATT est résolue
status (authorized / denied / restricted / notDetermined)
Event
Déclencheur
Propriétés
profile_setting_updated
Modification d’un réglage
field (cigarettes_per_day / package_price), old_value, new_value
account_deleted
Suppression de compte réussie
(aucune)