Laden und Auslösen eines Target-Aufrufs

Erfahren Sie, wie Sie mit einer Launch-Regel laden, Parameter an Seitenanfragen übergeben und einen Target-Aufruf von Ihrer Site-Seite aus auslösen können. Informationen zu Webseiten werden mithilfe der Adobe Client-Datenschicht abgerufen und als Parameter übergeben, über die Sie Daten zum Besuchererlebnis auf einer Webseite erfassen und speichern und so den Zugriff auf diese Daten erleichtern können.

Seitenladeregel

Die Adobe Client-Datenschicht ist eine ereignisgesteuerte Datenschicht. Wenn die AEM-Datenschicht geladen wird, wird ein -Ereignis cmp:show Trigger. Im Video wird die Regel Launch Library Loaded mithilfe eines benutzerdefinierten Ereignisses aufgerufen. Unten finden Sie die Code-Snippets, die im Video für das benutzerspezifische Ereignis sowie für die Datenelemente verwendet werden.

Benutzerdefiniertes Seitenereignis

Auf der Seite angezeigte Ereigniskonfiguration und benutzerdefinierter Code

Fügen Sie in der Launch-Eigenschaft der Regel ein neues Ereignis hinzu.

  • Erweiterung: Core
  • Ereignistyp: Benutzerspezifischer Code
  • Name: Page Show Event Handler (oder eine Beschreibung)

Tippen Sie auf die Schaltfläche Editor öffnen und fügen Sie das folgende Codefragment ein. Dieser Code muss zur Ereigniskonfiguration und einer nachfolgenden Aktion hinzugefügt werden.

// 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);
});

Eine benutzerdefinierte Funktion definiert das pageShownEventHandler-Objekt und überwacht die von AEM Kernkomponenten ausgegebenen Ereignisse, leitet die relevanten Informationen von der Kernkomponente ab, packt sie in ein Ereignisobjekt und Trigger das Launch-Ereignis mit den abgeleiteten Ereignisinformationen bei dessen Nutzlast.

Die Launch-Regel wird mit der Funktion trigger(...) von Launch ausgelöst, die nur ist, die in der Codeausschnitt-Definition eines Regel-Ereignisses mit benutzerspezifischem Code verfügbar ist.

Die Funktion trigger(...) akzeptiert ein Ereignisobjekt als Parameter, der wiederum in Launch-Datenelementen durch einen anderen reservierten Namen in Launch namens event verfügbar gemacht wird. Datenelemente in Launch können jetzt auf Daten aus diesem Ereignisobjekt aus dem event -Objekt verweisen, indem eine Syntax wie event.component['someKey'] verwendet wird.

Wenn trigger(...) außerhalb des Kontexts des Ereignistyps "Benutzerspezifischer Code"eines Ereignisses verwendet wird (z. B. in einer Aktion), wird der JavaScript-Fehler trigger is undefined auf der mit der Launch-Eigenschaft integrierten Website ausgelöst.

Datenelemente

Datenelemente

Adobe Launch-Datenelemente ordnen die Daten aus dem Ereignisobjekt , das im benutzerspezifischen Seitenanzeigeereignis ausgelöst wird, den in Adobe Target verfügbaren Variablen über den Datenelementtyp "Benutzerspezifischer Code"der Haupterweiterung zu.

Seiten-ID-Datenelement

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

Dieser Code gibt die eindeutige ID der Kernkomponente zurück.

Seiten-ID

Datenelement "Seitenpfad"

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

Dieser Code gibt den Pfad der AEM zurück.

Seitenpfad

Datenelement "Seitentitel"

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

Dieser Code gibt den Titel der AEM-Seite zurück.

Seitentitel

Fehlerbehebung

Warum werden meine Mboxes nicht auf meinen Webseiten ausgelöst?

Target-Cookie-Domänenfehler

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

Lösung

Target-Kunden verwenden mitunter Cloud-basierte Instanzen mit Target zum Testen oder für einfache Machbarkeitsprüfungen. Diese Domänen und viele andere sind Teil der öffentlichen Suffix-Liste .
Modere Browser speichern keine Cookies, wenn Sie diese Domänen verwenden, es sei denn, Sie passen die Einstellung cookieDomain mit targetGlobalSettings() an.

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

Nächste Schritte

Auf dieser Seite