Envoi de données de la couche de données client Adobe avec le SDK Web
La couche de données client (ACDL) Adobe collecte des données et des événements sur la page, mais elle ne les envoie nulle part. Pour les envoyer à Adobe Experience Platform Edge Network, connectez les événements ACDL au SDK Web de l’une des manières suivantes :
- Bibliothèque JavaScript : votre propre code écoute les événements ACDL et appelle la commande Web SDK
sendEvent. - Extensions de balise : les règles de balise utilisent l’extension ACDL pour se déclencher sur les événements ACDL et l’extension Web SDK pour envoyer les données.
Chaque section de cette page présente les deux approches.
Conditions préalables prerequisites
Le code de votre site envoie les données et les événements que vous souhaitez envoyer. Les exemples de cette page utilisent la notification push suivante pour chaque page vue :
window.adobeDataLayer = window.adobeDataLayer || [];
window.adobeDataLayer.push({
event: "page view",
page: { title: "Home", language: "en" }
});
En fonction de votre approche, vous avez également besoin des éléments suivants :
- L’ACDL est installé sur vos pages.
- Le code de base et la bibliothèque 🔗 de Web SDK sont installés et Web SDK est configuré avec un flux de données.
Le code de base de Web SDK met les commandes en file d’attente jusqu’au chargement de sa bibliothèque et ACDL met les éléments en file d’attente jusqu’au chargement de sa bibliothèque. En raison de ces files d’attente, vous pouvez ajouter le code sur cette page n’importe où après le code de base de Web SDK, quelle que soit la bibliothèque chargée en premier.
- L’extension ACDL est installée et configurée dans votre propriété de balise.
- L’extension Web SDK est installée et configurée avec un flux de données.
Choisir comment mapper vos données mapping
Le SDK Web envoie les données dans deux objets. Choisissez l’une des options ou les deux :
Choisir l’origine des valeurs value-sources
Lorsqu’un événement ACDL déclenche votre code ou votre règle, vous pouvez lire les valeurs de couche de données à deux endroits :
event.page.title, où event est l’argument de l’écouteur%event.message.page.title%adobeDataLayer.getState("page.title")page.titleUtilisez l’objet push pour les valeurs qui décrivent l’événement lui-même, comme le produit dans un ajout au panier. Utilisez l’état calculé pour les valeurs qui ont été transmises précédemment, telles que les détails de l’utilisateur. Lorsque le code ou la règle s’exécute, l’état calculé inclut déjà les données de la notification push qui l’a déclenchée. Voir Ce que les écouteurs reçoivent et Utiliser les données transmises dans les règles.
Envoyer des données XDM xdm
Les exemples suivants envoient une page vue avec le titre de la page de l’objet poussé.
Écoutez l’événement et appelez sendEvent :
| code language-js |
|---|
|
Pour toutes les options du listener, voir addEventListener().
-
Créez un élément de données Variable avec l’extension Web SDK. Sélectionnez XDM, puis sélectionnez votre sandbox et votre schéma. Cet exemple nomme l’élément de données
XDM variable. -
Créez une règle et ajoutez un événement :
- Extension : Couche De Données Client Adobe
- Type d’événement : Notification push de la couche de données
- Déclencheurs sur : Événements nommés spécifiques, avec le nom d’événement
page view - Portée temporelle : Tous
-
Ajoutez une action qui renseigne l’objet XDM :
- Extension : SDK web Adobe Experience Platform
- Type d’action : Mettre à jour la variable
- Élément de données :
XDM variable - Définir
web.webPageDetails.namesur%event.message.page.title%et définirweb.webPageDetails.pageViews.valuesur1.
-
Ajoutez une action qui envoie l’événement :
- Extension : SDK web Adobe Experience Platform
- Type d’action : Envoyer l’événement
- Type:
web.webpagedetails.pageViews - XDM :
%XDM variable%
-
Enregistrez la règle, ajoutez-la à une bibliothèque et créez la bibliothèque.
Pour toutes les options d’événement, consultez Notification push de la couche de données.
Chaque fois que votre site envoie un événement page view, le code ou la règle envoie une page vue à Edge Network.
Envoyez les interactions de la même manière. Par exemple, pour une notification push telle que { event: "cart add", eventInfo: { sku: "HT105" } }, écoutez ou déclenchez cart add et lisez le produit à partir de eventInfo. Pour les champs XDM qui décrivent les interactions commerciales, voir Collecter des informations sur le commerce, les produits et les commandes.
Envoyer la couche de données pour mappage dans le flux de données data
Pour mapper dans le flux de données plutôt que dans le code ou les règles, envoyez les valeurs de couche de données dans l’objet data et incluez un XDM eventType afin que l’événement soit classé correctement.
| code language-js |
|---|
|
Dans un écouteur ACDL, this fait référence à la couche de données, de sorte que this.getState() renvoie l’état calculé. Pour n’en envoyer qu’une partie, transmettez un chemin, tel que this.getState("page").
-
Créez un élément de données État calculé de la couche de données avec l’extension ACDL. Sélectionnez État calculé entier ou sélectionnez Chemin spécifique et saisissez le chemin des données à envoyer. Cet exemple nomme l’élément de données
ACDL state. -
Créez une règle avec le même événement Push de couche de données que dans Envoyer des données XDM.
-
Ajoutez une action Envoyer l’événement à partir de l’extension Web SDK :
- Type:
web.webpagedetails.pageViews - Données :
%ACDL state%
- Type:
-
Enregistrez la règle, ajoutez-la à une bibliothèque et créez la bibliothèque.
Ensuite, dans votre flux de données, mappez les champs que vous envoyez à votre schéma XDM. Voir Préparation des données pour la collecte de données. Les données que vous ne mappez pas et qu’aucun service configuré ne lit ne sont pas stockées. L’envoi de l’ensemble de l’état calculé augmente également la taille de chaque requête. Par conséquent, sur les pages comportant une couche de données volumineuse, envoyez uniquement les parties que vous mappez.
Applications monopages spa
Dans une application d’une seule page, la page reste ouverte pendant que le visiteur consulte de nombreuses pages virtuelles, et la couche de données history ne cesse d’augmenter. Envoyez un événement page view pour chaque page vue virtuelle et effacez l’historique après l’avoir envoyée. L’effacement de l’historique ne modifie pas l’état calculé et ne supprime pas les écouteurs et les règles.
Effacez l’historique à la fin de votre écouteur de page vue :
| code language-js |
|---|
|
Voir Effacer l’historique.
Minutage et doublons timing
Suivez ces pratiques afin que chaque événement soit envoyé exactement une fois :
- Utiliser la portée
all. Il s’agit de la valeur par défaut dans les deux approches : l’optionscopedans JavaScript et le paramètre Portée de l’heure dans les balises. Il envoie les événements qui ont été transmis avant que votre écouteur ou votre règle ne commence à écouter, par exemple une page vue qui a été transmise avant le chargement de votre script ou de votre bibliothèque de balises. Utilisezfutureuniquement si une autre partie de votre implémentation a déjà envoyé les événements précédents. Voir Portée. - Envoyez chaque événement depuis un seul endroit. Si votre propre code et une règle de balise envoient le même événement de couche de données, Adobe le reçoit deux fois.
- Bibliothèque JavaScript : utilisez des fonctions nommées et ajoutez chaque écouteur une fois. ACDL ignore un second enregistrement de la même fonction pour le même événement. Cependant, si le code qui s’exécute à plusieurs reprises transmet une nouvelle fonction anonyme à chaque fois, ACDL ajoute un nouveau listener à chaque fois et chaque événement est envoyé plusieurs fois.
- Extensions de balise : se déclenchent sur des noms d’événement spécifiques. Une règle qui se déclenche Toutes les modifications de données s’exécute pour chaque notification push de données, qui peut envoyer beaucoup plus d’événements que prévu.
Pages associées related
- Commande
sendEventet action Envoyer l’événement : toutes les options de Web SDK pour l’envoi d’événements. addEventListener()et Notification push de couche de données : toutes les options d’écoute des événements ACDL.