Ereignisgesteuert verwenden Adobe der 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 Folgendes überwacht: cmp:click
Ereignisse aus Teaser und Schaltfläche Komponenten und senden Sie die Komponenten-ID und ein neues Ereignis zusammen mit dem Verfolgungslink-Beacon an Adobe Analytics.
cmp:click
-Ereignis.Dieses Tutorial stellt eine Fortsetzung von Erfassen von Seitendaten mit Adobe Analytics und geht davon aus, dass Sie über Folgendes verfügen:
Bevor Sie Regeln in Launch erstellen, sollten Sie die Schema für Schaltfläche und Teaser und überprüfen Sie sie in der Datenschichtimplementierung.
Navigieren Sie zu https://wknd.site/us/en.html
Öffnen Sie die Entwicklertools des Browsers und navigieren Sie zum 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
eingeben. 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 der 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. Erstellen Sie als Nächstes eine Regel, die auf die cmp:click
-Ereignis.
Navigieren Sie zu Experience Platform Launch und zur Webeigenschaft, die mit der AEM Site integriert ist.
Navigieren Sie zum Regeln in der Launch-Benutzeroberfläche und klicken Sie dann auf Regel hinzufügen.
Benennen Sie die Regel. CTA angeklickt.
Klicken Veranstaltungen > Hinzufügen , um Ereigniskonfiguration Assistent.
under Ereignistyp select Benutzerspezifischer Code.
Klicken Editor öffnen Geben Sie im Hauptbereich 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 von Pushen einer Funktion in die Datenschicht ein. Wenn die cmp:click
-Ereignis ausgelöst wird, wird die componentClickedHandler
aufgerufen. In dieser Funktion werden einige Sanitätsprüfungen hinzugefügt und ein neuer event
-Objekt wird mit der neuesten Status der Datenschicht für die Komponente, die das Ereignis ausgelöst hat.
Danach trigger(event)
aufgerufen wird. trigger()
ist ein reservierter Name in Launch und "Trigger"die Launch-Regel. Wir überholen die event
-Objekt als Parameter, der wiederum von einem anderen reservierten Namen in Launch mit dem Namen event
. Datenelemente in Launch können jetzt auf verschiedene Eigenschaften verweisen, z. B.: event.component['someKey']
.
Speichern Sie die Änderungen.
Nächste unter Aktionen click Hinzufügen , um Aktionskonfiguration Assistent.
under Aktionstyp Auswählen Benutzerspezifischer Code.
Klicken Editor öffnen Geben Sie im Hauptbereich 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']);
Die event
-Objekt wird von der trigger()
-Methode, die im benutzerspezifischen Ereignis aufgerufen wird. component
ist der aktuelle Status der aus der Datenschicht abgeleiteten Komponente getState
, der den Klick ausgelöst hat.
Speichern Sie die Änderungen und führen Sie eine build in Launch , um den Code für die Umgebung verwendet auf Ihrer AEM Site.
Es kann sehr nützlich sein, die Adobe Experience Platform Debugger , um den Einbettungscode in einen Entwicklung Umgebung.
Navigieren Sie zum WKND-Site und öffnen Sie die Entwickler-Tools, um die Konsole anzuzeigen. Auswählen Protokoll beibehalten.
Klicken Sie auf einen der Teaser oder Schaltfläche CTA-Schaltflächen zum Navigieren zu einer anderen Seite.
Beachten Sie in der Entwicklerkonsole, dass die CTA angeklickt -Regel wurde ausgelöst:
Erstellen Sie anschließend ein Datenelement , um die Komponenten-ID und den Titel zu erfassen, auf die geklickt wurde. Erinnern Sie sich in der vorherigen Übung an die Ergebnisse von event.path
etwas Ähnliches war component.button-b6562c963d
und der Wert von event.component['dc:title']
war so etwas wie “Ausflüge ansehen”.
Navigieren Sie zu Experience Platform Launch und zur Webeigenschaft, die mit der AEM Site integriert ist.
Navigieren Sie zum Datenelemente und klicken Sie auf Neues Datenelement hinzufügen.
Für Name enter Komponenten-ID.
Für Datenelementtyp select Benutzerspezifischer Code.
Klicken 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.
Erinnern Sie sich daran, dass die event
-Objekt wird basierend auf dem Ereignis, das die Regel in Launch. Der Wert eines Datenelements wird erst festgelegt, wenn das Datenelement referenziert innerhalb einer Regel. Daher ist es sicher, dieses Datenelement innerhalb einer Regel wie die CTA angeklickt in der vorherigen Übung erstellte Regel but in anderen Kontexten nicht sicher verwendet werden.
Navigieren Sie zum Datenelemente und klicken Sie auf Neues Datenelement hinzufügen.
Für Name enter Komponententitel.
Für Datenelementtyp select Benutzerspezifischer Code.
Klicken 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 CTA angeklickt -Regel, um sicherzustellen, dass die Regel nur ausgelöst wird, wenn die cmp:click
-Ereignis ausgelöst wird für eine Teaser oder Schaltfläche. 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 zum CTA angeklickt Regel, die zuvor erstellt wurde.
under Bedingungen click Hinzufügen , um Bedingungskonfiguration Assistent.
Für Bedingungstyp select Benutzerspezifischer Code.
Klicken 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 und überprüft dann, ob der Ressourcentyp aus einem CTA in einer Teaser.
Speichern Sie die Änderungen.
Derzeit ist das CTA angeklickt -Regel gibt einfach eine Konsolenanweisung aus. Verwenden Sie als Nächstes die Datenelemente und die Analytics-Erweiterung, um Analytics-Variablen als action. Wir werden auch zusätzliche Maßnahmen zum Trigger der Link verfolgen und senden Sie die erfassten Daten an Adobe Analytics.
Im CTA angeklickt Regel remove die Core - benutzerspezifischer Code action (die Konsolenanweisungen):
Klicken Sie unter "Aktionen"auf Hinzufügen , um eine neue Aktion hinzuzufügen.
Legen Sie die Erweiterung type to Adobe Analytics und legen Sie die Aktionstyp nach Variablen festlegen.
Legen Sie die folgenden Werte für eVars, Props und Veranstaltungen:
evar8
- %Component ID%
prop8
- %Component ID%
event8
Hier %Component ID%
verwendet wird, da dadurch eine eindeutige Kennung für den angeklickten CTA sichergestellt wird. Ein potenzieller Nachteil bei der Verwendung von %Component ID%
ist, dass der Analytics-Bericht Werte wie button-2e6d32893a
. Verwenden %Component Title%
würde einen benutzerfreundlicheren Namen geben, aber der Wert ist möglicherweise nicht eindeutig.
Fügen Sie anschließend rechts neben dem Adobe Analytics - Variablen festlegen durch Tippen auf plus Symbol:
Legen Sie die Erweiterung type to Adobe Analytics und legen Sie die Aktionstyp nach Signal senden.
under Tracking Setzen Sie das Optionsfeld auf s.tl()
.
Für Link-Typ Auswählen Benutzerspezifischer Link und Linkname Setzen Sie den Wert auf: %Component Title%: CTA Clicked
:
Dadurch wird die dynamische Variable aus dem Datenelement kombiniert. Komponententitel und die statische Zeichenfolge CTA angeklickt.
Speichern Sie die Änderungen. Die CTA angeklickt -Regel 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.
Nun, dass CTA angeklickt sendet das Analytics-Beacon. Sie sollten 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 zu Ihre Entwicklungsumgebung, wie zuvor beschrieben und Konsolenprotokollierung aktiviert ist.
Öffnen Sie das Analytics-Menü und überprüfen Sie, ob die Report Suite auf Ihre Report Suite.
Klicken Sie im Browser auf einen der Teaser oder Schaltfläche CTA-Schaltflächen zum Navigieren zu einer anderen Seite.
Kehren Sie zum Experience Platform Debugger zurück, scrollen Sie nach unten und erweitern Sie Netzwerkanforderungen > Ihre Report Suite. Sie sollten die eVar, prop und event gesetzt.
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 die Nachricht beobachten "Benutzerspezifischer Code"für Regel "CTA angeklickt"wurde nicht erfüllt.
Dies liegt daran, dass die Navigationskomponente den Trigger einer cmp:click
event but weil wir den gegen den Ressourcentyp überprüfen, wird keine Aktion durchgeführt.
Wenn keine Konsolenprotokolle angezeigt werden, stellen Sie sicher, dass Konsolenprotokollierung wird unter Launch im Experience Platform Debugger.
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.