Migration smartTag vers le nouvel SDK
Les propriétés personnalisées sont très utiles pour pousser du contexte sur tous les évenements. Il existe plusieurs méthodes possibles afin de pousser vos propriétés personnalisées nécessaires pour votre tracking.
A quoi sert les propriétés personnalisées ?
Piano Analytics est une solution full events, ce qui signifie que chaque action des visiteurs peut être trackée (événement standard de la solution comme ‘page.display’ ou événement personnalisé tel que ‘scroll’, etc…). Pour apporter du contexte aux événements, vous avez à disposition un datamodel commun à toute votre organisation.
C’est-à-dire que chaque site enregistré dans votre organisation pourra utiliser toutes les propriétés déclarées dans le datamodel. Une propriété est une variable disponible au moment du chargement d’une page par exemple ou lors d’un clic, etc…
Lorsque vous débutez le tracking d’un site ou d’une app, il est intéressant de définir une liste de propriétés qui apportent du contexte à tous vos événements.
Pour les exemples ci-dessous, nous prendrons 2 propriétés personnalisées afin de comprendre les différentes méthodes de tracking ; ‘page_premium’ et ‘page_authors’.
Il existe la méthode pa.setProperties de Piano Analytics qui permet de rendre une liste de propriétés persistantes sur tous les événements ou sur des événements précis.
//Méthode pour pousser qu'une seule propriété persistante sur tous les events débutant par page et les clics de navigation
pa.setProperty('page_premium', false, {
'persistent': true,
'events': ['page.*', 'click.navigation']
});
//Méthode pour pousser plusieurs propriétés sur les mêmes events que ci-dessus
pa.setProperties({
'page_premium': false,
'page_authors': ['Clark Kent', 'John Cena']
}, {
'persistent': true,
'events': ['page.*', 'click.navigation']
});
Dans les deux exemples ci-dessus, les méthodes permettent de faire la même chose, c’est-à-dire de pousser des propriétés sur des events dédiés. Mais il est tout à fait possible de pousser une liste de propriétés sur tous les events de votre datamodel.
//Méthode pour pousser plusieurs propriétés sur tous les events
pa.setProperties({
'page_premium': false,
'page_authors': ['Clark Kent', 'John Cena']
}, {
'persistent': true
});
Il faut tout de même faire attention aux cas particuliers liés à la persistance. Imaginons 3 propriétés : ‘page_premium’, ‘page_authors’ et ‘type_template’.
Une page article possède 2 events, page.display et click.souscription.
Les infos à avoir : La propriété ‘type_template’: ‘article’ sur l’event page.display et ‘type_template’: ‘abonnement_en_cours’ sur click.souscription. Vous avez donc 2 valeurs différentes pour la propriété ‘type_template’. Il va donc falloir créer une règle de gestion car si vous poussez cette propriété de manière persistante sur tous les events, elle aura comme valeur ‘article’ sur l’event custom click.souscription comme sur page.display.
Je vous donne le tracking qu’il faudra utiliser dans ce genre de cas. Il serait préférable de ne pas se retrouver avec trop de règles de ce type car cela allourdi le déclenchement du tag.
//Méthode pour pousser plusieurs propriétés sur tous les events
pa.setProperties({
'page_premium': false,
'page_authors': ['Clark Kent', 'John Cena']
}, {
'persistent': true
});
//Règle à créer pour la propriété 'type_template' pour avoir le bonne valeur sur le clic
pa.setProperty('type_template', 'abonnement_en_cours', {
'persistent': false,
'events': ['click.souscription']
});
Autres méthodes de tracking des propriétés personnalisées
Il existe deux autres méthodes pour pousser des propriétés sur les events. La première nécessite de pousser les variables ou prorpiétés de contexte dans chaque event (ce qui peut devenir fastidieux par la suite).
La seconde est très simple à utiliser comme il s’agit d’une solution Javascript qui permet d’appeler un objet dans un objet. Nous commençons par la méthode où nous poussons les propriétés personnalisées dans chaque event.
//Méthode qui permet de pousser dans chaque event, les propriétés personnalisées choisies
pa.sendEvent('page.display', {
'page' : 'page name',
'page_chapter1' : 'level 1',
'page_chapter2' : 'level 2',
'page_chapter3' : 'level 3',
'page_premium' : false,
'page_authors' : ['Clark Kent', 'John Cena']
});
pa.sendEvent('click.action', {
'click' : 'click name',
'click_chapter1' : 'level 1',
'click_chapter2' : 'level 2',
'click_chapter3' : 'level 3',
'page_premium' : false,
'page_authors' : ['Clark Kent', 'John Cena']
});
Maintenant nous allons voir la méthode Javascript où nous allons créer un objet myProps avec les propriétés que nous souhaiterons avoir sur tous les events.
//Méthode qui permet créer l'objet myProps (nous utilisons un try & catch pour éviter les erreurs)
try{
window.myProps = {
'page': 'page_test',
'page_chapter1': chapter1',
'page_chapter2': 'chapter2',
'page_chapter3': 'chapter3'
}
}catch(e){
}
// Appel de l'objet dans différents events
pa.sendEvent('page.display',
Object.assign({},window.myProps,{
}));
pa.sendEvent('click.souscription',
Object.assign({},window.myProps,{
}));
Il faudra bien sûr au préalable réfléchir à la liste des propriétés dont vous allez avoir besoin sur tous vos events, ici, on a choisi le nom de page et le chapitrage. Ses propriétés pourront être poussés sur chaque nouvel event créé.
En résumé :
- choisir la méthode de tracking la plus adaptée pour ajouter vos propriétés personnalisées en fonction de votre besoin et votre marquage qui peut être léger ou très poussé
- si votre tracking est léger, vous pouvez privilégier la méthode pa.setProperties
- si votre tracking comporte du Sales Insight (e-commerce) ou AV Insights (audio/vidéo), vous pouvez privilégier, la méthode Javascript Object.assign()
Vous êtes maintenant fin prêt pour tracker vos propriétés personnalisées avec la solution Piano Analytics, enjoy !
Pas de data, pas de chocolat !