[Integrazione]{class="badge positive"}

Caricare e attivare una chiamata Target load-fire-target

[AEM Sites as a Cloud Service, AEM Sites 6.5]{class="badge informative"}

Scopri come caricare, trasmettere parametri alla richiesta di pagina e attivare una chiamata Target dalla pagina del sito utilizzando una regola di tag. Le informazioni della pagina web vengono recuperate e trasmesse come parametri utilizzando Adobe Client Data Layer, che consente di raccogliere e memorizzare dati sull’esperienza dei visitatori in una pagina web e quindi di semplificarne l’accesso.

Regola di caricamento pagina

Adobe Client Data Layer è un livello dati basato su eventi. Quando il livello dati della pagina AEM viene caricato, attiva un evento cmp:show. Nel video, la regola tags Library Loaded viene richiamata utilizzando un evento personalizzato. Di seguito sono riportati i frammenti di codice utilizzati nel video per l’evento personalizzato e per gli elementi dati.

Evento pagina visualizzata personalizzata page-event

Configurazione evento visualizzata pagina e codice personalizzato

Nella proprietà tags, aggiungi un nuovo evento alla regola

  • Estensione: Core
  • Tipo evento: Codice personalizzato
  • Nome: Gestore eventi di visualizzazione pagina (o qualcosa di descrittivo)

Tocca il pulsante Apri editor e incolla il seguente frammento di codice. Il codice deve essere aggiunto alla Configurazione evento e a una successiva Azione.

// 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 tags 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 tags Rule, passing in the new `event` object
        // the `event` obj can now be referenced by the reserved name `event` by other tags data elements
        // i.e `event.component['someKey']`
        trigger(launchEvent);
   }
}

// With the AEM Core Component event handler, that proxies the event and relevant information to Data Collection, 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);
});

Una funzione personalizzata definisce pageShownEventHandler e ascolta gli eventi emessi dai Componenti core AEM, ricava le informazioni rilevanti dal Componente core, le inserisce in un oggetto evento e attiva i tag Event con le informazioni derivate dell'evento al suo payload.

La regola dei tag viene attivata utilizzando la funzione trigger(...) dei tag, che è only disponibile nella definizione dello snippet di codice personalizzato dell'evento di una regola.

La funzione trigger(...) considera un oggetto evento come parametro che a sua volta è esposto in Tag elementi dati, con un altro nome riservato nei tag denominati event. Gli elementi dati nei tag ora possono fare riferimento ai dati di questo oggetto evento dall'oggetto event utilizzando una sintassi come event.component['someKey'].

Se trigger(...) viene utilizzato al di fuori del contesto del tipo di evento Codice personalizzato di un evento (ad esempio, in un'azione ), l'errore di JavaScript trigger is undefined viene generato nel sito Web integrato con la proprietà tags.

Elementi dati

Elementi dati

Gli elementi dati dei tag associano i dati dell'oggetto evento attivato nell'evento Page Shown personalizzato alle variabili disponibili in Adobe Target tramite il tipo di elemento dati Codice personalizzato dell'estensione Core.

Elemento dati ID pagina

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

Questo codice restituisce l’ID univoco generato del componente core.

ID pagina

Elemento dati percorso pagina

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

Questo codice restituisce il percorso della pagina AEM.

Percorso pagina

Elemento dati titolo pagina

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

Questo codice restituisce il titolo della pagina AEM.

Titolo pagina

Risoluzione dei problemi

Perché le mie mbox non vengono lanciate sulle mie pagine web?

Errore dominio cookie di destinazione

> 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.

Soluzione

I clienti di Target utilizzano talvolta istanze basate su cloud con Target per test o semplici prove di concetto. Questi domini e molti altri sono parte dell'elenco dei suffissi pubblici .
I browser moderni non salvano i cookie se si utilizzano questi domini, a meno che non si personalizzi l'impostazione cookieDomain utilizzando targetGlobalSettings().

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

Passaggi successivi

Collegamenti di supporto

recommendation-more-help
bb44cebf-d964-4e3c-b64e-ce882243fe4d