Verwenden Sie die ereignisbasierte Adobe Client-Datenschicht mit AEM Kernkomponenten, um Klicks auf bestimmte Komponenten auf einer Adobe Experience Manager-Site zu verfolgen. Erfahren Sie, wie Sie Regeln in Experience Platform Launch verwenden, um Klick-Ereignisse zu überwachen, nach Komponenten zu filtern und die Daten mit einem Verfolgungs-Linkbeacon an Adobe Analytics zu senden.
Das WKND-Marketing-Team möchte wissen, welche Aktionsaufruf-Schaltflächen (CTA) die beste Leistung auf der Startseite erzielen. In diesem Tutorial fügen wir eine neue Regel in Experience Platform Launch hinzu, die auf cmp:click
-Ereignisse aus Teaser- und Button-Komponenten wartet und die Komponenten-ID und ein neues Ereignis neben dem Verfolgungslink-Beacon an Adobe Analytics sendet.
cmp:click
-Ereignis.Dieses Tutorial stellt eine Fortsetzung von Erfassen von Seitendaten mit Adobe Analytics dar und geht davon aus, dass Sie über Folgendes verfügen:
Bevor Sie Regeln in Launch erstellen, sollten Sie das Schema für die Schaltfläche und den Teaser überprüfen und in der Datenschichtimplementierung überprüfen.
Navigieren Sie zu https://wknd.site/us/en.html
Öffnen Sie die Entwicklertools des Browsers und navigieren Sie zur Konsole. Führen Sie den folgenden Befehl aus:
adobeDataLayer.getState();
Dadurch wird der aktuelle Status der Client-Datenschicht der Adobe zurückgegeben.
Erweitern Sie die Antwort und suchen Sie Einträge mit dem Präfix button-
und teaser-xyz-cta
. Es sollte ein Datenschema wie das folgende angezeigt werden:
Schaltflächenschema:
button-2e6d32893a:
@type: "wknd/components/button"
dc:title: "View All"
parentId: "page-2eee4f8914"
repo:modifyDate: "2020-07-11T22:17:55Z"
xdm:linkURL: "/content/wknd/us/en/magazine.html"
Teaser-Schema:
teaser-da32481ec8-cta-adf3c09db9:
@type: "wknd/components/teaser/cta"
dc:title: "Surf's Up"
parentId: "teaser-da32481ec8"
xdm:linkURL: "/content/wknd/us/en/magazine/san-diego-surf.html"
Diese basieren auf dem Komponenten-/Container-Element-Schema. Die Regel, die wir in Launch erstellen, verwendet dieses Schema.
Die Adobe Client-Datenschicht ist eine event-gesteuerte Datenschicht. Wenn auf eine Kernkomponente geklickt wird, wird ein cmp:click
-Ereignis über die Datenschicht gesendet. Als Nächstes erstellen Sie eine Regel, die auf das cmp:click
-Ereignis überwacht.
Navigieren Sie zu Experience Platform Launch und zur Webeigenschaft, die mit der AEM Site integriert ist.
Navigieren Sie in der Launch-Benutzeroberfläche zum Abschnitt Regeln und klicken Sie dann auf Regel hinzufügen.
Nennen Sie die Regel CTA Clicked.
Klicken Sie auf Ereignisse > Hinzufügen , um den Assistenten Ereigniskonfiguration zu öffnen.
Wählen Sie unter Ereignistyp Benutzerspezifischer Code aus.
Klicken Sie im Hauptbereich auf Editor öffnen und geben Sie das folgende Codefragment ein:
var componentClickedHandler = function(evt) {
// defensive coding to avoid a null pointer exception
if(evt.hasOwnProperty("eventInfo") && evt.eventInfo.hasOwnProperty("path")) {
//trigger Launch Rule and pass event
console.debug("cmp:click event: " + evt.eventInfo.path);
var event = {
//include the path of the component that triggered the event
path: evt.eventInfo.path,
//get the state of the component that triggered the event
component: window.adobeDataLayer.getState(evt.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(event);
}
}
//set the namespace to avoid a potential race condition
window.adobeDataLayer = window.adobeDataLayer || [];
//push the event listener for cmp:click into the data layer
window.adobeDataLayer.push(function (dl) {
//add event listener for `cmp:click` and callback to the `componentClickedHandler` function
dl.addEventListener("cmp:click", componentClickedHandler);
});
Das obige Codefragment fügt einen Ereignis-Listener hinzu, indem eine Funktion in die Datenschicht gepusht wird. Wenn das cmp:click
-Ereignis ausgelöst wird, wird die Funktion componentClickedHandler
aufgerufen. In dieser Funktion werden einige Integritätsprüfungen hinzugefügt und ein neues event
-Objekt wird mit dem neuesten Status der Datenschicht für die Komponente erstellt, die das Ereignis ausgelöst hat.
Danach wird trigger(event)
aufgerufen. trigger()
ist ein reservierter Name in Launch und "Trigger"für die Launch-Regel. Wir übergeben das event
-Objekt als Parameter, der wiederum durch einen anderen reservierten Namen in Launch namens event
verfügbar gemacht wird. Datenelemente in Launch können jetzt auf verschiedene Eigenschaften verweisen, z. B.: event.component['someKey']
.
Speichern Sie die Änderungen.
Klicken Sie dann unter Aktionen auf Hinzufügen , um den Assistenten Aktionskonfiguration zu öffnen.
Wählen Sie unter Aktionstyp Benutzerspezifischer Code aus.
Klicken Sie im Hauptbereich auf Editor öffnen und geben Sie das folgende Codefragment ein:
console.debug("Component Clicked");
console.debug("Component Path: " + event.path);
console.debug("Component type: " + event.component['@type']);
console.debug("Component text: " + event.component['dc:title']);
Das event
-Objekt wird von der trigger()
-Methode übergeben, die im benutzerdefinierten Ereignis aufgerufen wird. component
ist der aktuelle Status der Komponente, der von der Datenschicht abgeleitet wurde, getState
die den Klick ausgelöst hat.
Speichern Sie die Änderungen und führen Sie einen Build in Launch aus, um den Code in die auf Ihrer AEM Site verwendete Umgebung weiterzuleiten.
Es kann sehr nützlich sein, den Adobe Experience Platform Debugger zu verwenden, um den Einbettungscode in eine Entwicklungsumgebung zu wechseln.
Navigieren Sie zur WKND-Site und öffnen Sie die Entwickler-Tools, um die Konsole anzuzeigen. Wählen Sie Protokoll beibehalten aus.
Klicken Sie auf eine der Schaltflächen Teaser oder Schaltfläche CTA , um zu einer anderen Seite zu navigieren.
Beachten Sie in der Entwicklerkonsole, dass die Regel CTA Clicked ausgelöst wurde:
Erstellen Sie anschließend ein Datenelement , um die Komponenten-ID und den Titel zu erfassen, auf die geklickt wurde. In der vorherigen Übung war die Ausgabe von event.path
ungefähr component.button-b6562c963d
und der Wert von event.component['dc:title']
war ungefähr “Trips anzeigen”.
Navigieren Sie zu Experience Platform Launch und zur Webeigenschaft, die mit der AEM Site integriert ist.
Navigieren Sie zum Abschnitt Datenelemente und klicken Sie auf Neues Datenelement hinzufügen.
Geben Sie für Name Komponenten-ID ein.
Wählen Sie für Datenelementtyp Benutzerspezifischer Code aus.
Klicken Sie auf Editor öffnen und geben Sie Folgendes im Editor für benutzerdefinierten Code ein:
if(event && event.path && event.path.includes('.')) {
// split on the `.` to return just the component ID
return event.path.split('.')[1];
}
Speichern Sie die Änderungen.
Beachten Sie, dass das event
-Objekt basierend auf dem Ereignis, das die Regel in Launch ausgelöst hat, verfügbar gemacht und in den Gültigkeitsbereich gesetzt wird. Der Wert eines Datenelements wird erst festgelegt, wenn das Datenelement innerhalb einer Regel referenced ist. Daher ist es sicher, dieses Datenelement innerhalb einer Regel zu verwenden, wie die Regel CTA Clicked , die in der vorherigen Übung erstellt wurde aber wäre für die Verwendung in anderen Kontexten nicht sicher.
Navigieren Sie zum Abschnitt Datenelemente und klicken Sie auf Neues Datenelement hinzufügen.
Geben Sie für Name Komponententitel ein.
Wählen Sie für Datenelementtyp Benutzerspezifischer Code aus.
Klicken Sie auf Editor öffnen und geben Sie Folgendes im Editor für benutzerdefinierten Code ein:
if(event && event.component && event.component.hasOwnProperty('dc:title')) {
return event.component['dc:title'];
}
Speichern Sie die Änderungen.
Aktualisieren Sie anschließend die Regel CTA Clicked , um sicherzustellen, dass die Regel nur ausgelöst wird, wenn das cmp:click
-Ereignis für einen Teaser oder eine Schaltfläche ausgelöst wird. Da der CTA des Teasers als separates Objekt in der Datenschicht betrachtet wird, ist es wichtig, das übergeordnete Element zu überprüfen, um sicherzustellen, dass es von einem Teaser stammt.
Navigieren Sie in der Launch-Benutzeroberfläche zur Regel CTA Clicked , die Sie zuvor erstellt haben.
Klicken Sie unter Conditions auf Hinzufügen , um den Assistenten Bedingungskonfiguration zu öffnen.
Wählen Sie für Bedingungstyp Benutzerspezifischer Code aus.
Klicken Sie auf Editor öffnen und geben Sie Folgendes im Editor für benutzerdefinierten Code ein:
if(event && event.component && event.component.hasOwnProperty('@type')) {
// console.log("Event Type: " + event.component['@type']);
//Check for Button Type OR Teaser CTA type
if(event.component['@type'] === 'wknd/components/button' ||
event.component['@type'] === 'wknd/components/teaser/cta') {
return true;
}
}
// none of the conditions are met, return false
return false;
Der obige Code prüft zunächst, ob der Ressourcentyp von einer Schaltfläche stammt, und prüft dann, ob der Ressourcentyp von einem CTA innerhalb eines Teasers stammt.
Speichern Sie die Änderungen.
Derzeit gibt die Regel CTA Clicked einfach eine Konsolenanweisung aus. Verwenden Sie als Nächstes die Datenelemente und die Analytics-Erweiterung, um Analytics-Variablen als Aktion festzulegen. Wir werden außerdem eine zusätzliche Aktion einrichten, um den Link verfolgen Trigger und die erfassten Daten an Adobe Analytics zu senden.
In der Regel CTA angeklickt Entfernen die Aktion Core - Benutzerspezifischer Code (die Konsolenanweisungen):
Klicken Sie unter "Aktionen"auf Hinzufügen , um eine neue Aktion hinzuzufügen.
Setzen Sie den Typ Erweiterung auf Adobe Analytics und setzen Sie Aktionstyp auf Variablen festlegen.
Legen Sie die folgenden Werte für eVars, Props und Ereignisse fest:
evar8
- %Component ID%
prop8
- %Component ID%
event8
Hier wird %Component ID%
verwendet, da dadurch eine eindeutige Kennung für den angeklickten CTA sichergestellt wird. Ein möglicher Nachteil von %Component ID%
ist, dass der Analytics-Bericht Werte wie button-2e6d32893a
enthält. Die Verwendung von %Component Title%
würde einen benutzerfreundlicheren Namen geben, der Wert ist jedoch möglicherweise nicht eindeutig.
Fügen Sie anschließend eine zusätzliche Aktion rechts neben Adobe Analytics - Variablen festlegen hinzu, indem Sie auf das Symbol plus tippen:
Setzen Sie den Typ Erweiterung auf Adobe Analytics und setzen Sie Aktionstyp auf Beacon senden.
Legen Sie unter Tracking die Optionsschaltfläche auf s.tl()
fest.
Wählen Sie für Link-Typ Benutzerspezifischer Link und für Linkname den Wert auf: %Component Title%: CTA Clicked
:
Dadurch wird die dynamische Variable aus dem Datenelement Komponententitel und der statischen Zeichenfolge CTA angeklickt kombiniert.
Speichern Sie die Änderungen. Die Regel CTA Clicked sollte jetzt die folgende Konfiguration aufweisen:
cmp:click
Ereignis.Speichern Sie alle Änderungen und erstellen Sie Ihre Launch-Bibliothek, indem Sie sie in die entsprechende Umgebung weiterleiten.
Nachdem die Regel CTA angeklickt das Analytics-Beacon sendet, sollten Sie die Analytics-Tracking-Variablen mit dem Experience Platform Debugger sehen können.
Öffnen Sie die WKND-Site in Ihrem Browser.
Klicken Sie auf das Debugger-Symbol , um den Experience Platform Debugger zu öffnen.
Stellen Sie sicher, dass der Debugger die Launch-Eigenschaft Ihrer Entwicklungsumgebung zuordnet, wie zuvor beschrieben, und Konsolenprotokollierung aktiviert ist.
Öffnen Sie das Menü Analytics und überprüfen Sie, ob die Report Suite auf Ihre Report Suite eingestellt ist.
Klicken Sie im Browser auf eine der Schaltflächen Teaser oder Button CTA , um zu einer anderen Seite zu navigieren.
Kehren Sie zum Experience Platform Debugger zurück, blättern Sie nach unten und erweitern Sie Netzwerkanfragen > Ihre Report Suite. Sie sollten die Einstellungen eVar, prop und event finden.
Kehren Sie zum Browser zurück und öffnen Sie die Entwicklerkonsole. Navigieren Sie zur Fußzeile der Site und klicken Sie auf einen der Navigationslinks:
In der Browser-Konsole wurde die Meldung "Benutzerdefinierter Code"für Regel "CTA angeklickt"nicht erfüllt.
Dies liegt daran, dass die Navigationskomponente einen Trigger mit dem Ereignis cmp:click
aber ausführt, da wir die mit dem Ressourcentyp verknüpfen, wird keine Aktion ausgeführt.
Wenn keine Konsolenprotokolle angezeigt werden, stellen Sie sicher, dass Konsolenprotokollierung im Experience Platform Debugger unter Launch aktiviert ist.
Sie haben soeben die ereignisgesteuerte Adobe Client Data Layer und den Experience Platform Launch verwendet, um Klicks auf bestimmte Komponenten auf einer Adobe Experience Manager-Site zu verfolgen.