Charger et déclencher un appel de Cible

Découvrez comment charger, transférer des paramètres à la demande de page et déclencher un appel de Cible à partir de la page de votre site à l’aide d’une règle de lancement. Les informations de page Web sont récupérées et transmises sous forme de paramètres à l'aide de la couche de données du client Adobe qui vous permet de collecter et de stocker des données sur l'expérience des visiteurs sur une page Web, puis de faciliter l'accès à ces données.

Règle de chargement de page

La couche de données du client Adobe est une couche de données pilotée par événement. Une fois la couche de données Page AEM chargée, elle déclenche un événement cmp:show. Dans la vidéo, la règle Launch Library Loaded est appelée à l’aide d’un événement personnalisé. Vous trouverez ci-dessous les fragments de code utilisés dans la vidéo pour le événement personnalisé ainsi que pour les éléments de données.

Page personnalisée affichée Événement

Page affichée configuration de événement et code personnalisé

Dans la propriété Launch, ajoutez un nouveau Événement à la règle.

  • Extension: Core
  • type d'événement:Code personnalisé
  • Nom : gestionnaire de Événements d’affichage de page (ou descriptif)

Appuyez sur le bouton Ouvrir l’éditeur et collez-le dans le fragment de code suivant. Ce code doit être ajouté à la configuration de Événement et à une action ultérieure.

// Define the event handler function
var pageShownEventHandler = function(coreComponentEvent) {

    // Check to ensure event trigger via AEM Core Components is shaped correctly
    if (coreComponentEvent.hasOwnProperty("eventInfo") && 
        coreComponentEvent.eventInfo.hasOwnProperty("path")) {
    
        // Debug the AEM Component path the show event is associated with
        console.debug("cmp:show event: " + coreComponentEvent.eventInfo.path);

        // Create the Launch Event object
        var launchEvent = {
            // Include the ID of the AEM Component that triggered the event
            id: coreComponentEvent.eventInfo.path,
            // Get the state of the AEM Component that triggered the event           
            component: window.adobeDataLayer.getState(coreComponentEvent.eventInfo.path)
        };

        //Trigger the Launch Rule, passing in the new `event` object
        // the `event` obj can now be referenced by the reserved name `event` by other Launch data elements
        // i.e `event.component['someKey']`
        trigger(launchEvent);
   }
}

// With the AEM Core Component event handler, that proxies the event and relevant information to Adobe Launch, defined above...

// Initialize the adobeDataLayer global object in a safe way
window.adobeDataLayer = window.adobeDataLayer || [];

// Push the event custom listener onto the Adobe Data Layer
window.adobeDataLayer.push(function (dataLayer) {
   // Add event listener for the `cmp:show` event, and the custom `pageShownEventHandler` function as the callback
   dataLayer.addEventListener("cmp:show", pageShownEventHandler);
});

Une fonction personnalisée définit le pageShownEventHandler et écoute les événements émis par AEM Core Components, extrait les informations pertinentes du composant principal, les regroupe dans un objet événement et déclenche le Événement de lancement avec les informations de événement dérivées à sa charge utile.

La règle de lancement est déclenchée à l'aide de la fonction trigger(...) du lancement, uniquement disponible dans la définition de fragment de code personnalisé du Événement de la règle.

La fonction trigger(...) prend un objet événement comme paramètre qui, à son tour, est exposé dans les éléments de données de lancement, par un autre nom réservé dans Lancement nommé event. Les éléments de données du lancement peuvent désormais référencer les données de cet objet de événement à partir de l’objet event en utilisant une syntaxe telle que event.component['someKey'].

Si trigger(...) est utilisé en dehors du contexte d'un type d'événement de code personnalisé de Événement (par exemple, dans une action), l'erreur JavaScript trigger is undefined est générée sur le site Web intégré à la propriété Launch.

Éléments de données

Éléments de données

Les éléments de données de lancement d'Adobe mappent les données de l'objet de événement déclenché dans le événement Page affichée personnalisé aux variables disponibles dans Adobe Target, via le type d'élément de données Code personnalisé de l'extension de base.

Elément de données d’ID de page

if (event && event.id) {
    return event.id;
}

Ce code renvoie l'ID unique généré par le composant principal.

ID de page

Elément de données Chemin de page

if (event && event.component && event.component.hasOwnProperty('repo:path')) {
    return event.component['repo:path'];
}

Ce code renvoie le chemin de la page AEM.

Chemin d’accès à la page

Elément de données Titre de page

if (event && event.component && event.component.hasOwnProperty('dc:title')) {
    return event.component['dc:title'];
}

Ce code renvoie le titre de la page AEM.

Titre de la page

Résolution des incidents

Pourquoi mes mbox ne se déclenchent-elles pas sur mes pages Web ?

Erreur de domaine du cookie de cible

> AT: [page-init] Adobe Target content delivery is disabled. Ensure that you can save cookies to your current domain, there is no "mboxDisable" cookie and there is no "mboxDisable" parameter in the query string.

Solution

Les clients cibles utilisent parfois des instances basées sur le cloud avec Cible pour effectuer des tests ou à des fins simples de BAT de concept. Ces domaines, et beaucoup d'autres, font partie de la Liste du suffixe public.
Les navigateurs modernes n’enregistreront pas les cookies si vous utilisez ces domaines, sauf si vous personnalisez le paramètre cookieDomain à l’aide de targetGlobalSettings().

window.targetGlobalSettings = {  
   cookieDomain: 'your-domain' //set the cookie directly on this subdomain, for example: 'publish-p1234-e5678.adobeaemcloud.com'
};

Étapes suivantes

Liens pris en charge

Sur cette page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free