Matomo Analytics
Art. no. 216207851
Introduction
Matomo (anciennement Piwik) est un outil d'analyse open-source qui fournit des informations complètes sur l'utilisation des sites web et des applications. Il collecte et stocke des données, et fournit une interface web pour visualiser les données en temps réel et créer des rapports. Visitez le site https://matomo.org pour plus d'informations.
Cette intégration peut être utilisée de plusieurs manières :
- s'abonner à Matomo Cloud, qui comprend l'hébergement et l'assistance
- installer Matomo sur votre propre serveur pour un contrôle total de vos données
- créer votre propre point de terminaison qui analyse les données d'événements, ce qui vous permet de stocker et de gérer les données exactement comme vous le souhaitez.
Détails de la mise en œuvre
Les clients de Prenly Reader enverront des données statistiques à l'api de suivi du serveur Matomo, conformément à la documentation officielle de l'api de suivi Matomo, en utilisant :
- le SDK JavaScript officiel de Matomo à partir du lecteur web de Prenly.
- les SDK open source pour Android et iOS à partir des lecteurs d'applications natives de Prenly. Cela nécessite que les SDK:s soient ajoutés au code du programme de l'application native, ce qui implique que les nouvelles versions de l'application doivent être compilées et publiées avant que l'intégration ne commence à fonctionner.
L'implémentation actuelle prend en charge l'exportation d'événements, mais pas les "pages vues", étant donné que le lecteur Prenly ne repose pas sur la navigation traditionnelle basée sur les pages.
Prenly ne prend pas en charge Matomo Tag Manager, car il s'agit principalement d'une solution pour les environnements web, et n'est donc pas directement applicable aux clients natifs de Prenly.
Configuration
Mise en place d'un serveur Matomo
Utilisation d'un serveur Matomo
La configuration normale de Matomo nécessite l'installation du logiciel serveur open source Matomo sur site ou via un service hébergé en externe, proposé par matomo.org ou par d'autres sociétés. Le logiciel serveur expose une API qui collecte des données statistiques, et un outil web qui vous permet de visualiser et d'analyser les données.
Dans l'outil web, vous devez :
- créer un "site" qui correspond à l'application Prenly, ce qui se traduira par un "identifiant de site"
- ajouter manuellement des "dimensions personnalisées" (métadonnées pour divers événements) que Prenly enverra.
Lorsque l'on traite techniquement des métadonnées/dimensions personnalisées dans Matomo, chaque dimension est désignée par un simple nombre entier, car elle est enregistrée dans la base de données de Matomo.
Lorsque vous ajoutez des dimensions personnalisées via l'outil web, elles sont créées dans l'ordre numérique (1, 2, 3, ...). Comme Prenly enverra les dimensions selon la liste ci-dessous, il est important de créer les dimensions personnalisées dans le bon ordre.
Implémentation d'un endpoint de suivi personnalisé
En étudiant les spécifications de l'api de suivi Matomo, il est possible d'implémenter votre propre api qui collecte les données métriques envoyées par les applications Prenly Reader.
Ceci est utile si vous souhaitez stocker les données métriques dans votre propre système et/ou dans votre propre format. L'api de suivi de Matomo est simple, donc un tel point de terminaison devrait être assez simple à mettre en œuvre.
Notez ce qui suit :
- Il ne doit y avoir qu'un seul point de terminaison, et il doit répondre à la fois aux méthodes GET (un seul événement) et POST (un lot d'événements) comme décrit dans la documentation.
- L'URL du point d'accès doit se terminer par
/matomo.php
. Ceci est dû au fait que les clients open source utilisés par Prenly ont cette limitation. - Les dimensions personnalisées envoyées par Prenly seront nommées selon la liste ci-dessous.
Configurer l'intégration dans PWS
Les paramètres de configuration suivants sont mis en place dans Prenly Workspace.
ID du site
L'ID du site configuré dans le serveur Matomo, sous forme d'un nombre entier.
Exemple : 5
URL de l'api de suivi
L'URL à laquelle les données de suivi seront envoyées, se terminant par matomo.php
.
Exemple :
https://my.site.com/matomo.php
Transformation des données
Généralités
En raison de limitations techniques, toutes les propriétés sont envoyées à Matomo sous forme de chaînes de caractères.
Les attributs d'événement qui sont des booléens sont envoyés sous la forme "0"
pour false et "1"
pour true.
Attributs d'événements
Dans Matomo, les dimensions personnalisées sont utilisées pour représenter les attributs spécifiques aux événements. Dans le logiciel serveur Matomo, ces dimensions personnalisées doivent être configurées par un administrateur dans l'interface web de votre serveur Matomo. Malheureusement, Matomo n'offre pas de moyen de nommer ou d'identifier ces dimensions. Au lieu de cela, elles recevront un numéro représentant leur ID dans la base de données du serveur Matomo.
Prenly enverra des dimensions personnalisées conformément au tableau ci-dessous. Pour que les ID correspondent au tableau ci-dessous, vous devez ajouter les dimensions personnalisées dans le bon ordre.
ID de la dimension d'action | Nom du paramètre de la requête | Attribut de l'événement Prenly |
---|---|---|
1 | dimension1 | application_slug |
2 | dimension2 | titre_slug |
3 | dimension3 | title_uid |
4 | dimension4 | publication_slug |
5 | dimension5 | publication_uid |
6 | dimension6 | publication_date |
7 | dimension7 | numéro de page |
8 | dimension8 | part_slug |
9 | dimension9 | article_slug |
10 | dimension10 | article_uid |
11 | dimension11 | nom_de_l'article |
12 | dimension12 | article_external_id |
13 | dimension13 | section_slug |
14 | dimension14 | external_url (obsolète) |
14 | dimension14 | destination_url |
15 | dimension15 | push_notifications_enabled |
16 | dimension16 | push_notification_uid |
17 | dimension17 | push_notification_sent_at |
18 | dimension18 | titre du message |
19 | dimension19 | corps_du_message |
20 | dimension20 | numéro_client |
21 | dimension21 | consent_analytical (si connu - envoyé comme "0" ou "1" ) |
22 | dimension22 | consent_functional (si connu - envoyé comme "0" ou "1" ) |
23 | dimension23 | consent_marketing (si connu - envoyé comme "0" ou "1" ) |
24 | dimension24 | banner_type |
25 | dimension25 | external_link_id |
26 | dimension26 | consent_services |
27 | dimension27 | titre_de_la_chaîne |
28 | dimension28 | channel_slug |
29 | dimension29 | titre de l'épisode |
30 | dimension30 | episode_entity_id |
31 | dimension31 | date_de_publication |
32 | dimension32 | position_lecture |
33 | dimension33 | audio_url |
34 | dimension34 | durée_audio |
35 | dimension35 | durée_jouée |
36 | dimension36 | audio_entity_id |
37 | dimension37 | titre_audio |
38 | dimension38 | accès_limité |
Données contextuelles
Les données contextuelles sont envoyées en tant que paramètres, comme indiqué dans l'API de suivi de Matomo.
Le SDK open source utilisé dans les applications Prenly Reader met en œuvre le suivi des données de manière légèrement différente. Cette diversité entraîne des variations dans les données envoyées par chaque type de client au serveur Matomo.
Ces paramètres sont confirmés pour toutes les plateformes (web, Android, iOS) :
Paramètre | Objectif | Information |
---|---|---|
rec | Enregistrement ou non de l'événement | Toujours réglé sur true (envoyé comme "1" ) |
siteid | ID du site du serveur de suivi | Tel que configuré dans l'espace de travail Prenly |
e_c | Catégorie d'événement | Toujours réglée sur "prenly-event". |
e_a | Action de l'événement | Toujours défini sur "interaction" |
e_n | Nom de l'événement | Le nom de l'événement Prenly, par exemple "article_open" . |
res | Résolution de l'écran | Par exemple "1280x1024" |
uid | Identifiant unique de l'utilisateur, le cas échéant | La valeur de l'identifiant de l'utilisateur provenant des données contextuelles de l'information sur l'utilisateur. |
L'envoi d'autres paramètres n'est pas garanti.
Notez que nous ne remplaçons pas spécifiquement l'agent utilisateur en utilisant le paramètre "ui". Il se peut que certaines plateformes l'envoient, mais vous ne devez pas vous y fier. Au lieu de cela, vous devez vérifier l'en-tête HTTP User-Agent pour pouvoir déterminer l'agent utilisateur et la plateforme.