Quel est l'objectif des Measurements ?
Measurements est une nouvelle méthode permettant d'importer des données dans Piano Analytics. Cela permet de rajouter du contexte aux données analytiques afin de mettre en perspective ces dernières.
Dans cet exemple, on met en perspective une évolution de chiffre d'affaires en provenance de Facebook avec l'évolution du nombre d'abonnés sur la page Facebook afin d'identifier si la hausse est significative.
Comment définir un Measurement ?
Un Measurement est :
- Numérique, l'information doit être représentée par une valeur comme le nombre d'abonnés Facebook
- Liée à une période temporelle. Une date doit être associée à la valeur, cela peut être le nombre d'abonnés par jour, heure etc.
- Une donnée agrégée, il est important que cette donnée soit globale comme le nombre d'abonnés Facebook.
Maintenant, si nous voulons avoir l'information pour chaque utilisateur et savoir s'ils sont abonnés à Facebook, le produit Measurement ne correspondrait plus car nous serions sur une donnée granulaire, pas forcément liée à une temporalité ni même numérique. Nous proposons cependant les enrichissement de données qui permettent de répondre à ce besoin.
Que peut contenir un Measurement ?
Nous venons de voir qu'un Measurement était une donnée numérique, cependant, il est aussi possible d'utiliser des propriétés pour qualifier ces derniers. Prenons un exemple pour illustrer, je veux importer les données de météo pour savoir si cette dernière peut avoir un impact sur les données analytiques. Nous avons ici une température qui est bien une valeur agrégée, numérique et liée à une période temporelle. Cependant, se limiter à une température par jour n'est pas très pertinent car l'information n'est pas assez qualifiée. On va alors pouvoir améliorer notre Measurement en ajoutant des propriétés :
- Pays et région : ici je vais utiliser deux propriétés standards Piano Analytics afin de me permettre d'avoir des données plus précises, par exemple en France, il y a une grande différence météorologique entre la métropole et les DOM/TOM. Mais aussi, c'est cela qui va me permettre de combiner les données analytiques et les données Measurements, car ces valeurs vont aussi me servir de clé de réconciliation et me permettre d'avoir en une analyse le nombre de visites provenant de Nouvelle-Aquitaine avec la température de la Nouvelle-Aquitaine.
- Bulletin météorologique : Cette information n'existe pas dans Piano Analytics, je vais donc devoir créer une propriété personnalisée que j'utiliserais dans mon Measurement afin de passer en plus de la température la météo du jour. On pourra retrouver dans cette dernière des informations comme "Pluvieux", "Ensoleillé" etc.
- La temporalité : Ici j'ai le choix dans mon Measurement d'obtenir les informations à la journée ou à l'heure. Je peux importer les données historiques et donc de l'année précédente, mais aussi les données dans le présent comme la température de l'heure en cours. Mais je peux aussi importer des données dans le futur avec des prévisions météorologiques.
Où analyser les données de Measurement ?
Lorsque l'on crée puis envoie les données de Measurement, on va passer par la création d'une ou plusieurs métriques et l'envoi de données via des propriétés. Partout ou ces informations sont disponibles on pourra retrouver les données du Measurement en question, ainsi elles seront disponibles dans Explorer, Data Query, Workspaces etc.
Cependant, ces données se basant sur des métriques, elles ne sont par conséquent pas disponible dans Data Flow ni Data Sharing.
Est-ce que mon Measurement doit forcément être lié à l'analytics ?
Il n'est pas nécessaire d'avoir un Measurement pour étendre le domaine analytique, certains Measurements peuvent fonctionner de manière autonome et indépendante avec pour intérêt de les retrouver dans l'interface Piano Analytics pour simplifier le reporting.
Avez-vous des exemples de Measurement ?
Les Measurements peuvent être utilisés dans énormément de situations différentes, il suffit d'avoir accès à la donnée (via API ou exports) afin de l'envoyer dans Piano Analytics. Pour vous aider vous pouvez trouver une liste non exhaustive d'exemples :
- Suivi des podcasts : Vous pouvez importer les données de lecture en provenance de Spotify, iTunes, Deezer etc.
- Nombre d'abonnés des réseaux sociaux
- Objectifs analytiques : Import des objectifs de vente afin de comparer le chiffre d'affaires actuel et votre objectif
- Informations météorologiques
- Ventes réalisées en magasin
- Campagnes hors ligne, par exemple récupérer le nombre d'emails envoyés
- Import d'historique provenant d'outil tiers (Google Analytics)
- Données de la Google Search Console
Création du Measurement
Une fois dans l'interface Measurement accessible depuis le Data Management, il suffit de cliquer sur le bouton "+" en bas à droite pour initier la création d'un Measurement.
Le panneau suivant va s'ouvrir :
Dans le premier bloc des informations générales on retrouve :
Les premières informations sur le Libellé d'affichage et la description sont là pour les retrouver simplement dans l'interface, vous pouvez mettre les informations de votre choix et même les modifier par la suite.
Dans l'encart configuration, il s'agit d'informations nécessaires au bon fonctionnement du Measurement :
- Le libellé d'affichage pour le retrouver dans l'interface
- La description permettant de donner du contexte
- Portée, deux options s'offrent à vous, site ou organisation. Lorsqu'un Measurement est à portée organisation, cela veut dire que la même info sera répliquée peu importe le site sélectionné dans l'interface. Par exemple pour la météo c'est la portée idéale. La portée site correspond à un Measurement qui aura des valeurs différentes en fonction du ou des sites sélectionnées lors des analyses, par exemple un Measurement avec des objectifs analytiques comme les ventes sera souvent sur une portée site comme les objectifs peuvent être différents d'un site à l'autre.
- Les catégories, il s'agit du rangement du Measurement pour comprendre ce qu'il contient, cette information n'a pas d'impact sur le fonctionnement et peut être modifié par la suite
- La granularité détermine la période temporelle qui vous intéresse pour votre Measurement, cela dépend des données à votre disposition qui peuvent être mensuelles, quotidiennes ou horaires.
Dans l'encart configuration, il s'agit d'informations nécessaires au bon fonctionnement du Measurement :
- Clé du Measurement, elle servira pour envoyer les données, c'est la valeur qui sera utile pour identifier le Measurement qui recevra les données
- La valeur, il peut y en avoir plusieurs, ce sont toutes les valeurs que vous souhaitez envoyer. Par exemple imaginons un Measurement "Météo" et vous voulez envoyer la température ainsi que l'hygrométrie, vous allez créer deux valeurs, une pour la température et l'autre pour l'hygrométrie.
Une fois configuré, vous pouvez appuyer sur le symbole code pour voir à quoi va ressemble l'objet à utiliser pour l'envoi des données :
A noter que les propriétés devront être remplacées par les propriétés de votre choix, par exemple pour la météo vous pourrez utiliser la propriété Pays et la propriété Région pour envoyer la météo de façon plus précise. Aucun configuration n'est nécessaire pour cette étape.
Création des métriques associées
Une fois le Measurement créé, il est nécessaire de créer une ou plusieurs métriques pour pouvoir l'utiliser dans nos interfaces. Il suffit de cliquer sur l'onglet Métriques associées du panneau latéral et de cliquer sur le bouton Nouvelle métrique.
Les champs suivant seront disponibles :
- Libellé d'affichage, il s'agit du nom de votre métrique, vous pourrez le modifier par la suite
- Description, vous pouvez expliquer votre métrique en quelques mots pour que tout le monde comprenne ce qu'elle représente
- MetricKey, c'est l'information technique nécessaire pour utiliser cette dernière via notre API
- Type d'affichage, il est important pour le formatage de la métrique
- Précision, lorsque le type d'affichage peut être un décimal vous pouvez sélectionner le nombre de chiffres après la virgule
- Agrégation temporelle, pour l'expliquer il vaut mieux prendre un exemple. Imaginons que vous envoyez la valeur 2000 sur le lundi, puis la valeur 1000 sur le mardi. Dans votre interface d'analyse, vous sélectionnez une période contenant le lundi et le mardi. L'agrégation temporelle permettra de définir le résultat attendu, est-ce une somme et vous souhaitez obtenir 3000 ? Idéal lorsque les informations sont sommables comme du chiffre d'affaires. Est-ce que vous préférez une moyenne ? Idéale pour des informations comme la météo et la température.
- Agrégation sur les propriétés, lorsque vous avez rajouté des informations de propriété dans votre Measurement pour mieux le qualifier, quelles informations doivent être renvoyées si vous ne sélectionnez pas cette propriété lors de l'analyse d'une métrique basée sur un Measurement. Devons-nous sommer les informations ? En faire une moyenne ? etc.
- Visibilité, il s'agit de savoir si la métrique doit être visible par tout le monde ou seulement son créateur
Comment faire pour envoyer des données avec Measurement ?
Vous pouvez retrouver toutes les informations dans notre documentation développeur disponible ici.
Exemple complet : Google Search Console
Les données de la Google Search Console (GSC) aident à comprendre comment le site fonctionne au sein de l'environnement Google, mais souvent ces données sont analysées à part, sans être recoupées avec d'autres données comme l'analytics. Grâce à Measurements, importez les données GSC dans Piano Analytics et réalisez de nouvelles analyses. Nous allons découvrir ensemble quelles étapes suivre pour réaliser ce Measurement
Préparation du Measurement
La première étape est de réfléchir aux données que l'on va vouloir importer pour définir les actions à réaliser.
Dans notre cas, nous voulons récupérer les données de GSC par devices, URLs mais aussi récupérer les mots clés. Au niveau des métriques, nous nous intéresserons aux nombre d'impressions, de clics et la position moyenne.
Passons à la création du Measurement en suivant les méthodologies présentées précédemment. Nous allons créer un Measurement au niveau de l'organisation comme notre définition de site peut être différente entre GSC et Piano Analytics, cependant si la définition est la même entre les deux il est conseillé de créer un Measurement à portée site. La granularité sera la journée pour importer nos données quotidiennement.
En clé de Measurement nous mettrons gsc et nous allons créer trois clés de valeurs (qui correspondent aux métriques que l'on souhaite mesurer) : impressions, clicks, position
Pour les propriétés, nous utiliserons deux propriétés standards device_type pour les informations de devices et event_url pour les URLs. Au niveau des mots clés, nous allons devoir créer une propriété personnalisée que nous appellerons gsc_keyword et qui sera de type array car plusieurs valeurs peuvent être renvoyées pour une URL par Google.
Attention
Bien qu'il soit possible de récupérer les mots clés et les importer, ils ne seront pas liés aux visites mais uniquement aux URLs. Il n'est donc pas possible si plusieurs mots sont liés à une même URL d'identifier lequel de ces mots a généré le plus de conversions.Une fois le Measurement et la propriété personnalisée créée nous pouvons passer à l'étape suivante.
Récupération des données
Avant de pouvoir envoyer les données il est nécessaire de les récupérer, pour ceci il y a plusieurs possiblités, ilbre à vous de choisir celle que vous préférez :
- Utilisation d'un outil tiers, spécialisé dans la récupération des données comme Adverity. L'intérêt de cette solution est que le partenaire maintient les connexions à jour, ainsi nous n'avons pas à suivre les évolutions des méthodes de récupération de GSC car ce sera à la charge du partenaire. De plus, il est très aisé de récupérer ces données, en quelques clics seulement.
- Récupération de fichiers plat comme des CSV directement depuis GSC
- Utilisation de l'API de GSC
Peu importe la méthode choisie, les données seront les mêmes. Une étape supplémentaire va être de nettoyer les données de façon à avoir les mêmes valeurs dans le Measurement et dans les données analytics afin de pouvoir les croiser. Ainsi, faites attention aux URLs et soyez sûrs d'utiliser les mêmes règles, mais aussi pour les devices. Google et Piano Analytics n'utilisant pas la même base de détection, des différences peuvent apparaître, par exemple Google renverra Mobile tandis que Piano Analytics renverra Mobile Phone, il est donc nécessaire d'harmoniser ces valeurs pour avoir Mobile Phone dans ces dernières.
Maintenant que nous avons toutes ces informations, nous allons pouvoir récupérer les données et passer à la suite.
Envoi des données
Pour envoyer les données à un Measurement, il est nécessaire d'utiliser l'API dédiée à cet effet. Si nous reprenons notre exemple, voici un objet JSON que nous pourrions envoyer via l'API :
On y retrouve toutes les informations déclarées dans l'interface mais aussi les propriétés que nous souhaitons valorisées (que nous avions choisi lors de la première étape).
Il ne nous reste plus qu'à appeler quotidiennement l'API Measurement pour avoir les données à jour dans Piano Analytics.
Schéma technique
De nombreuses possibilités existent pour réaliser de façon programmatique la récupération et l'envoi des données, voici deux scénarios :
- Dans Adverity, récupération des données en provenance de GSC et harmonisation des valeurs dans device_type pour avoir les mêmes valeurs que dans Piano Analytics. Dépôt de ces données dans un bucket Amazon.
Réalisation d'un script JavaScript exécuté via une Lambda d'Amazon pour récupérer le fichier déposé dans un bucket Amazon et le transformer en fichier JSON compatible avec l'API Measuement et l'envoyer dans la lancée.
- Depuis Google Apps Script, création d'un script appelant l'API de GSC et harmonisant les valeurs de device_type. Formattage en un fichier JSON pour l'API Measurement puis envoi des données.
Bien sûr, il s'agit là de deux exemples, mais vous pouvez mettre en place l'infrastructure de votre choix en fonction de vos préférences.
J'ai envoyé une valeur erronée, comment puis-je la corriger ?
Lorsque vous avez envoyé une valeur erronée, par exemple pour la mesure de la météo avec la propriété Pays et la valeur France, vous avez envoyé 301 degrés au lieu de 30.1. Vous pouvez envoyer à nouveau la valeur et spécifier 30.1, ce qui remplacera 301 dans le Measurement.
Combien de temps dois-je attendre avant de voir les données dans l'interface ?
En général, il s'agit d'une question de secondes avant de voir les données dans l'interface. Néanmoins, nous disposons d'un cache pour améliorer les performances, ce qui signifie que vous devrez parfois attendre que le cache soit vidé pour voir vos données (en particulier pour les mises à jour). Ce cache est vidé toutes les heures.
Combien de valeurs peut contenir dans un Measurement ?
Vous pouvez envoyer jusqu'à 100 000 valeurs différentes par jour. Par exemple, si vous envoyez un Measurement avec la propriété Page, vous pouvez envoyer 100 000 valeurs différentes pour la page par jour.
Est-ce que toutes les propriétés sont utilisables dans Measurements?
Certaines propriétés sont dans une liste interdite en raison de la granularité trop fine de leurs informations.
- event_time
- event_time_utc
- hit_time_utc
- device_timestamp_utc
- visit_id
- visit_time
- visitor_id
- app_sessionid
- av_session_id
- av_session_time
- av_session_time_utc
- rm_session_id
- transaction_id
- cart_id
- user_id
- event_id
- av_duration
- av_cursor_difference
- page_duration
- event_duration
- event_position
- visit_duration
- visit_page_views
- visit_sales
- rm_last_duration
- av_buffer_duration
- av_content_duration
- page_position
- src_url
- src_url_full
- rm_content_duration
- av_playback_duration
- av_rebuffer_duration
- rm_playback_duration
- av_buffer_total_duration
- av_content_duration_range
- av_playback_total_duration
- av_rebuffer_total_duration
- av_session_content_duration
- date
- date_week
- date_yearofweek
- date_month
- date_day
- date_year
- date_monthnumber
- date_daynumber
- date_firstdateofweek
- date_firstdateofmonth
- event_second
- visit_second
- evo_second
- event_minute
- visit_minute
- evo_minute
- event_hour
- visit_hour
- evo_hour
- evo_day