Event de tracking - SocialGouv/code-du-travail-numerique GitHub Wiki
Objectif du document
Avoir une documentation technique et fonctionelle des events de tracking implémentés dans le CDTN, ainsi qu'une méthodologie et des bonnes pratiques pour ajouter un évènement afin de garder de la cohérence.
Fonctionnement général
Le tracking des events du CDTN se fait grâce à une librarie javascript, initialisé dans le code cdtn
chaque évènement customisé est envoyé avec un appel à la fonction matopush :
matopush(["trackEvent", "eventCategory", "eventAction", "eventName", "eventValue"])
Matomo fusionne les évènements d'une même session à la fin de celle-ci en utilisant un id de visite autogénéré par fingerprinting, cet ID permet de retracer les évènements successifs d'une même visite, qu'on peut retrouver dans la page visit logs.
Visualiser les events dans Matomo:
Dans la section Behaviour --> Events on peut retrouver la liste des évènements categories et les volumes associés sur une période donnée.
Liste des events de tracking:
tracking générique (automatique sur chaque page)
lors d'une visite sur une page du site, par défaut matomo envoie un évènement de visite, qui contient des informations (le nom de la page et son url).
Exemple d'information envoyé suite à une visite sur la page des thèmes:
Type | Donnée | Info |
---|---|---|
action_name | Thèmes - Code du travail numérique | Titre de la page |
url | https://code.travail.gouv.fr/themes | Lien vers la page |
urlref | / | Origine de l'utilisateur (ici la page d'accueil) |
Outils
Simulateurs
Voici la liste des simulateurs disponibles (avec leurs étapes)
Titre | Étapes |
---|---|
Indemnités de licenciement | info_generales, anciennete, salaires, primes, indemnite_legale |
Indemnités de précarité | info_cc, info_generales, remuneration, indemnite |
heures pour recherche d'emploi | info_cc, rupture, infos, résults |
Préavis de licenciement | situation, info_cc, infos, results |
Préavis de démission | infos_cc, infos, results |
Préavis de retraite | origine, ccn, infos, anciennete, result |
Évènements génériques sur les simulateurs
Pour chaque simulateur, on va envoyer des évènements générique.
Arrivée sur l'outil
Type | Contenu | Détail |
---|---|---|
category | outil | |
action | view_step_Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
name | start |
Étape suivante
Type | Contenu | Détail |
---|---|---|
category | outil | |
action | view_step_Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
name | Nom de l'étape | L'étape sur laquelle l'utilisateur est arrivé |
Étape précédente
Type | Contenu | Détail |
---|---|---|
category | outil | |
action | click_previous_Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
name | Nom de l'étape | L'étape sur laquelle l'utilisateur est revenu |
Étape pour renseigner sa convention collective
Cette étape n'est pas présente sur tous les simulateurs.
Les event envoyé sont divisés en 2 partie. Il y a les events envoyés sur l'action de l'utilisateur et les events envoyés au clic sur le bouton suivant quand on passe à la prochaine étape (les events ne sont pas envoyés s'il y a une erreur dans les données saisies).
Elle est divisée en 3 parcours distints :
- p1 : Je sais quelle est ma convention collective (je la saisis)
- p2 : Je ne sais pas quelle est ma convention collective (je la recherche)
- p3 : Je ne souhaite pas renseigner ma convention collective (je passe l'étape)
- Choix du parcours (envoyé au clic sur suivant)
Type | Contenu | Détail |
---|---|---|
category | cc_search_type_of_users | |
action | click_p1 ou click_p2 ou click_p3 | Selon le parcours: p1, p2 et p3 |
name | Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
- Recherche (envoyé sur action de l'utilisateur)
Pour le parcours p1 et p2, on va avoir des events pour la recherche par mots clés de l'utilisateur. L'event est envoyé à chaque recherche de l'utilisateur. La recherche étant automatique (pas de clic sur un bouton recherche), il y a un debounce de 300ms.
Type | Contenu | Détail |
---|---|---|
category | cc_search | Recherche d'un convention collective sur le parcours p1 |
action | Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
name | {"query":"boulan"} | JSON contant le contenu de la requête utilisateur |
Type | Contenu | Détail |
---|---|---|
category | enterprise_search | Recherche d'une entreprise sur le parcours p2 |
action | Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
name | {"address":"69007","query":"odon"} | JSON contant le contenu de la requête utilisateur |
- Choix de l'entreprise, parcours p2 (envoyé au clic sur suivant)
Type | Contenu | Détail |
---|---|---|
category | enterprise_select | |
action | Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
name | {"label":"MANUFACTURE FRANCAISE DES PNEUMATIQUES MICHELIN","siren":"855200507"} | Information sur l'entreprise sélectionnée |
- Choix de la convention collective (envoyé au clic sur suivant)
Type | Contenu | Détail |
---|---|---|
category | cc_select_p1 ou cc_select_p2 | Selon le parcours choisi |
action | Nom du simulateur |
Nom du simulateur à remplacer par le titre du simulateur |
name | idcc1234 | IDCC de la convention collective choisie préfixée avec idcc |
- Support de la convention collective (envoyé au clic sur suivant)
Type | Contenu | Détail |
---|---|---|
category | outil | Selon le parcours choisi |
action | cc_select_traitée ou cc_select_non_traitée | Indique si la convention collective est traitée par nos services ou non |
name | 1234 | IDCC de la convention collective |
- Les CC qui bloquent l'utilisateur qui continue dans les simulateurs où la CC est obligatoire
Type | Contenu | Détail |
---|---|---|
category | outil | Selon le parcours choisi |
action | view_step_Préavis de démission ou view_step_Heures d'absence pour rechercher un emploi | Indique le simulateur dans lequel on est |
name | user_blocked_info_cc |
Se référer à https://github.com/SocialGouv/code-du-travail-numerique/issues/4458
Recherche CC events (ancien)
- CC_SEARCH:
event_category: "cc_search"
event_action: "/outils/indemnite-precarite" # slug outil
event_name: "uuid : query"
- CC_SELECT:
event_category: "cc_select"
event_action: "/outils/indemnite-precarite" # slug outil
event_name: "uuid : Bureaux d'études techniques, cabinets d'ingénieurs-conseils et sociétés de conseils" # nom de la CC selectionnée
- CC_SEARCH_HELP
event_category: "cc_search_help"
event_action: "/outils/indemnite-precarite" # slug outil
event_name: "b8c01ee4-a615-400c-961a-fb676e3691e0" # id session
Recherche CC events (nouveau)
- START
event_category: "outil"
event_action: "view_step_Trouver sa convention collective"
event_name:"start"
- CC_SEARCH_TYPE_OF_USERS (click_p1 or click_p2 or je_n_ai_pas_d_entreprise)
event_category: "cc_search_type_of_users"
event_action: "click_p1" or click_p2 or "je_n_ai_pas_d_entreprise" #P1: recherche par cc P2: recherche par entreprise
event_name: "Trouver sa convention collective" # name outil
event_value: "2b451f0b-a398-420f-91f6-a1a4be6ed796" # id session
- CC_SEARCH
event_category: "cc_search"
event_action: "Trouver sa convention collective"
event_name: {"query":"industrie pharmaceutique"} # objet recherche utilisateur
event_value: "2b451f0b-a398-420f-91f6-a1a4be6ed796" # id session
- CC_SELECT_P1
event_category: "cc_select_p1" # p1 pour parcours 1: recherche par cc
event_action: "Trouver sa convention collective"
event_name: "idcc44" # numéro de la cc
event_value: "2b451f0b-a398-420f-91f6-a1a4be6ed796" # id session
- ENTERPRISE_SEARCH
event_category: "enterprise_search"
event_action: "Trouver sa convention collective"
event_name: {"address":"","query":"bnp paribas"} # objet
event_value: "2b451f0b-a398-420f-91f6-a1a4be6ed796" # id session
- ENTERPRISE_SELECT
event_category: "enterprise_select"
event_action: "Trouver sa convention collective"
event_name: {"label":"JOBTEASER","siren":"508271715"} # objet
event_value: "2b451f0b-a398-420f-91f6-a1a4be6ed796" # id session
- CC_SELECT_P2:
event_category: "cc_select_p2"
event_action: "Trouver sa convention collective"
event_name: idcc1486 # numéro de cc
event_value: "2b451f0b-a398-420f-91f6-a1a4be6ed796" # id session
- Click je n'ai pas d'entreprise :
event_category: "cc_search_type_of_users"
event_action: "select_je_n_ai_pas_d_entreprise"
event_name: Nom du Simulateur # e.g Indemnité de Licenciement
Pour l'outil Trouver sa CC
event_category: "cc_search_type_of_users"
event_action: "click_je_n_ai_pas_d_entreprise"
event_name: Trouver sa convention collective
Search & suggestions
- Suggestions
event_category: "selectedSuggestion"
event_action: "resto" # user query at the selection time
event_name: "tickets restaurants" # selection option actually clicked
event_category: "candidateSuggestions"
event_action: "tickets restaurants###tickets resto###ticket restaurant###titre restaurant###jours fériés travaillés restauratio" # list of options ### delimited at the selection time
- Search
event_category: "candidateResults" # deprecated?
event_action: "tickets restaurants" # actual query passed in search
search: "tickets restaurants" # default matomo search events
event_category: "nextResultPage" # click sur "plus de résultats"
event_action: "tickets restaurants" # actual query passed in original search
event_category: "selectResult" # click sur un résultat
event_action: {"algo":"pre-qualified","url":"/code-du-travail/r3262-7"} # algo: result source, url: result destination.
Pages CC
- pagecc_clickcontrib
event_category: "pagecc_clickcontrib" # au moment d'un click pour dérouler une sous-section
event_action: "Bureaux d'études techniques, cabinets d'ingénieurs-conseils et sociétés de conseils" # nom de la CC
event_name: "quelles-sont-les-conditions-dindemnisation-pendant-le-conge-de-maternite" # slug de la sous-section
- pagecc_clicktheme:
event_category: "pagecc_clicktheme" # au moment d'un click pour dérouler une sous-section des "Articles de la convention collective"
event_action: "Bureaux d'études techniques, cabinets d'ingénieurs-conseils et sociétés de conseils" # nom de la CC
event_name: "raa-45" # ??
- default outlink when click on articles
- pagecc_searchcc
event_category: "pagecc_searchcc" # au moment d'une recherche dans la barre "Recherche dans la convention collective"
event_action: "Bureaux d'études techniques, cabinets d'ingénieurs-conseils et sociétés de conseils" # nom de la CC
event_name: "congés payés" # recherches entrée par l'utilisateur
Modèles de courriers
Type | Contenu | Détail |
---|---|---|
category | page_modeles_de_documents | |
action | type_CTRL_C | |
name | nom de la page |
par exemple "lettre-de-demission" ou "contrat-de-travail-a-duree-indeterminee" |
Contributions
- Tous les events de recherche de CC
- sans l'event
START
- avec l'event
cc_select_traitée
- l'event
click_p3
est envoyé si l'utilisateur click sur "Accéder aux informations générales sans renseigner ma convention collective"
- sans l'event
- Afficher les informations (pas de CC séléctionné)
event_category: "contribution"
event_action: "click_afficher_les_informations_sans_CC"
event_name: "/contribution/les-conges-pour-evenements-familiaux"
- Afficher les informations générales (si une CC est séléctionnée)
event_category: "contribution"
event_action: "click_afficher_les_informations_générales"
event_name: "/contribution/les-conges-pour-evenements-familiaux"
- Bouton afficher les infos personnalisés (click_afficher_les_informations_CC)
event_category: "contribution"
event_action: "click_afficher_les_informations_CC"
event_name: "/contribution/les-conges-pour-evenements-familiaux"
Content Page Events:
- Contact
event_category: "contact" # click sur un résultat
event_action: "click_contact_sr_modale"
event_name: "/recherche?q=tickets+restaurants" # url source
- Feedback
event_category: "feedback" # au moment du click sur oui/non
event_action: "negative" # feedback value (positive or negative)
event_name: "/fiche-ministere-travail/la-remuneration-du-salarie-en-contrat-a-duree-determinee" # url source
event_category: "feedback_suggestion" # déclenché au moment du click sur "envoyer"
event_action: "Je préfère plus de rémunération" # suggestion de l'utilisateur
event_name: "/fiche-ministere-travail/la-remuneration-du-salarie-en-contrat-a-duree-determinee" # url source
event_category: "feedback_category" # déclenché au moment du click sur "envoyer"
event_action: "Je ne suis pas satisfait de cette réglementation." # catégorie sélectionnée par l'utilisateur
event_name: "/fiche-ministere-travail/la-remuneration-du-salarie-en-contrat-a-duree-determinee" # url source
- Contenu lié (recommendations)
event_category: "selectRelated" # déclenché au moment du click sur l'article
event_action: {"reco":"search","selection":"fiche-ministere-travail/le-contrat-a-duree-determinee-cdd#Dans-quels-cas-le-contrat-a-duree-determinee-peut-il-etre-requalifie-en-nbsp"} # reco: type d'algo utilisé pour la reco, selection: contenu de destination
- Partages:
event_category: "clic_share" # déclenché au moment du click sur l'icon
event_action: "https://code.travail.gouv.fr/fiche-ministere" # url sourceselection: contenu de destination
event_name: "facebook" # type d'icon selectionné
- glossaire_clicktooltip
event_category: "glossaire_clicktooltip" # déclenché au moment du click sur l'info-bulle "convention-collective"
event_action: "convention collective" ou "collective agreement" # ??
event_name: "/contribution/1501-dans-le-cadre-dun-cdd-quel-est-le-montant-de-lindemnite-de-fin-" # url source
Ajouter un nouvel event
Note: il n'est pas nécessaire de tracker la page sur laquelle l'evenement est déclenché
L'ajout d'un nouvel event dépend de son objectif, il doit suivre de préférence le schéma des events déjà implementé à savoir:
event_category
: permet de regrouper les évènements que l'on souhaite voir ensemble exemple:
event_category: "feedback",
event_name:"positive" ou "negative"
ou
event_category: "nom d'un outil",
event_name:"étape de l'outil"
Note: ce champ est obligatoire
event_action
: permet de détailler l'action qui déclenche l'évènement Note: ce champ est optionel Les event de volume,event_name
: un nom ou une valeur propre à un évènement exemple:
event_category: "nom d'un outil",
event_action: "select_ancienneté",
event_name: "12 années"
Note: ce champ est optionel
event_value
même utilisation queevent name
Note: il est possible de tracker plusieurs informations dans un même event en utilisant un objet: {"info1":12, "info2": "cdd"}
Tester les events envoyés via un browser
Chrome
- S'assurer de ne pas avoir d'extension adblocker (page de navigation privée)
- right click --> inspect
- onglet network
- filtrer les events par nom "matomo"
- chaque ligne correspond à un évènement selectionner l'event qu'on veut inspecter, et descendre à la section Query String Parameters
e_c
correspond à event_categorye_a
correspond à event_actione_n
correspond à event_namee_v
correspond à event_value