Show Menu
THEMEN×

Adobe Experience Manager ContextHub-Tool hinzufügen

Mit dem AEM ContextHub-Tool können Sie das Dynamic Tag Management mit dem Adobe Experience Manager (AEM) ContextHub (AEM-Version der Datenschicht) integrieren. Außerdem kann mithilfe des Tools DTM mit beliebigen Datenschichten integriert werden, selbst auf Websites, bei denen AEM nicht zum Einsatz kommt.
DTM-Kunden verwenden häufig Datenelemente, um den Datenschichten ihrer Websites zuzuordnen. Die Datenschicht kann beispielsweise Informationen enthalten, die ein Benutzer einem bestimmten Produkt anzeigt oder einen Artikel in den Warenkorb gelegt hat. DTM kann diese Informationen auf verschiedene Weise in Regelbedingungen und Aktionen verwenden. Dazu gehört das Senden von Daten an Analytics zu Berichte- oder Zielgruppen zur Anzeige benutzerspezifischer Inhalte.
Das AEM ContextHub-Tool löst viele Probleme im Zusammenhang mit Datenschichten. Einige Datenschichten werden nicht am Anfang der Seite geladen. Andere Datenschichten sind dynamisch oder asynchron und ändern sich häufig, wenn sich die Seite ändert. In der Vergangenheit wurde es aufgrund dieser beiden Probleme für DTM schwierig, Daten oder Auslöseaktionen effektiv zu senden.
Mit dem AEM ContextHub-Tool entfällt die Notwendigkeit, benutzerspezifischen Code zu schreiben, der häufig überprüft, ob sich die Datenschicht ändert, an einer anderen Stelle als dem Anfang der Seite lädt oder bei Seitenänderungen geändert wird.
Angenommen, ein Kunde platziert einen Artikel in den Warenkorb und entfernt ihn dann. Wenn die Seite nicht aktualisiert wird, während sich die Datenschicht ändert, erkennt DTM die Änderung nicht ohne einen benutzerdefinierten Code-Zusatz. Das AEM ContexHub-Tool enthält eine Abfrage-Engine, die jede Sekunde prüft, ob Änderungen vorliegen.
Da DTM jetzt Datenelemente proaktiv über die Datenschicht ausfüllen kann, können Benutzer auch AEM ContextHub-Datenelemente zusammen mit zuvor veröffentlichten Bedingungen wie dem Datenelementwert verwenden. Auf diese Weise können Benutzer beim Laden einer Seite Datenschichtwerte verwalten oder die Bedingung Datenelementwert mit dem Ereignis dataelementchanged kombinieren, falls sich die Datenschicht aufgrund der Benutzerinteraktion geändert hat.
Wenn Sie dieses Tool konfigurieren, können Sie die Standardeinstellung verwenden, um sich mit dem AEM ContextHub zu integrieren, oder Sie können die Struktur so anpassen, dass sie mit jeder Website funktioniert.
  1. Klicken Sie auf <Name der Webeigenschaft> > Overview > Add a Tool > AEM ContextHub .
  2. Geben Sie einen beschreibenden Namen für das Tool an.
    Dieser Name wird auf der Overview Registerkarte unter Installed Tools.
  3. Click Create Tool to display the AEM ContextHub Settings page.
  4. Füllen Sie die Felder aus:
    Element
    Beschreibung
    Standardmäßige ContextHub-Datenschicht verwenden
    Verwenden Sie das AEM ContextHub-Format. Wenn diese Option aktiviert ist, verweist DTM für diese Integration auf das standardmäßige ContextHub-Schema. Wenn Sie Änderungen an Ihrem ContextHub-Schema vorgenommen haben oder eine andere Datenschicht verwenden möchten, verwenden Sie die benutzerdefinierte Option.
    ContextHub-Datenschicht anpassen
    Verwenden Sie ein benutzerdefiniertes Format, das der Datenschichtstruktur einer Website zugeordnet wird, auch wenn keine AEM verwendet wird. Mit dieser Option können Sie Ihr Datenschichtelement-Schema bearbeiten. Standardmäßig wird das Bearbeitungsfenster mit der standardmäßigen ContextHub-Datenschicht gefüllt, in der Sie Änderungen vornehmen oder diese vollständig durch Ihren Code ersetzen können.
    Editor öffnen
    Wenn Sie die Option "ContextHub-Datenschicht anpassen"wählen, können Sie den Editor verwenden, um Ihren benutzerdefinierten Code einzufügen.
    hinzufügen
    hinzufügen Hinweise zu dieser Implementierung.
  5. Klicken Sie auf Save Changes .

Datenschichtverwaltung mit dem ContextHub-Tool

Das ContextHub-Tool von AEM für Dynamic Tag Management (DTM) kann sowohl mit ContextHub-Implementierungen als auch mit Implementierungen des allgemeinen Daten-Layers verwendet werden. Das Daten-Layer-Schema von ContextHub wird im Tool standardmäßig geladen und bietet eine einfache Integration mit Adobe Experience Manager (AEM)-ContextHub-Speichern. Beispiele sowohl für die ContextHub-Standard-Implementierung als auch eine allgemeine benutzerdefinierte Daten-Layer-Implementierung sind enthalten.

Voraussetzungen

Für die Verwendung des ContextHub-Tools müssen die folgenden Voraussetzungen erfüllt sein:
  • Eine vorhandene ContextHub- oder Javascript-Objektdatenschicht auf einer Website.
  • Ein JSON-Schema, das die auf der Website verwendete Datenschicht korrekt definiert.
  • Eine aktive DTM-Webeigenschaft, die auf der Website verwendet wird.

AEM ContextHub-Tool-Komponenten

Das AEM ContextHub-Tool fügt DTM zwei Funktionen hinzu:
  • Definition der Datenschicht
  • Der AEM ContextHub-Datenschichttyp
Zusätzlich wurde ein neuer Ereignistyp hinzugefügt, um die Überwachung der Datenschicht zu erleichtern, der so genannte dataelementchanged . Dieser Ereignistyp kann unabhängig vom AEM ContextHub-Tool verwendet werden.
Jeder funktionale Bereich entspricht einem Konfigurationsschritt, der in den beiden folgenden Beispielen beschrieben wird.

Datenelementüberwachung

Der neue dataelementchanged Ereignistyp überwacht alle Änderungen, die während einer Ansicht an einem bestimmten Datenelementwert auftreten. Bei Verwendung dieses Ereignistyps sind die folgenden Bemerkungen zu beachten.
  1. Das Datenelement muss einem einfachen JavaScript-Wert zugeordnet sein. Komplexe Werte wie Arrays und Objekte, die in einem benutzerdefinierten Skript für Datenelemente zurückgegeben werden, funktionieren nicht ordnungsgemäß. Cookies, CSS-Selektoren und URL-Parameter führen ebenfalls zu unerwarteten Ergebnissen und funktionieren möglicherweise gar nicht. Einfache Werte wie Zeichenfolgen und Ganzzahlen funktionieren einwandfrei.
  2. Gehen Sie bei der Anzahl der dataelementchanged Ereignistyp, auf die auf einer Seite verwiesen wird, vorsichtig vor. Obwohl die Überwachung effizient ist, könnte eine große Anzahl von Bewertungen die Leistung der Seite beeinträchtigen.
  3. Der dataelementchanged Ereignistyp funktioniert nur innerhalb der aktuellen Ansicht, da es sich um ein DOM-basiertes Überwachungssystem handelt.
  4. Der Datenelementmonitor fragt nach den Werten ab.

Standardbeispiel für ContextHub-Datenschicht

Beispiel für die Verwendung des AEM ContextHub-Tools, das auf die standardmäßige ContextHub-Datenschicht innerhalb der Dynamic Tag Management Konfiguration verweist und diese verwendet.
Der ContextHub-Daten-Layer wird auf einer Adobe Experience Manager (AEM)-Test-Website geladen. ContextHub kann jedoch unabhängig von AEM verwendet werden. Wenden Sie sich an Ihren Adobe-Support-Mitarbeiter, wenn Sie ContextHub unabhängig von AEM verwenden möchten.
Auf alle ContextHub-Stores kann von der Browser-Konsole aus verwiesen werden.
Die DTM-Datenschicht überwacht Beginn vor anderen DTM-Funktionen, sodass die Datenschicht nicht über DTM bereitgestellt wird, obwohl dies möglich ist. Stattdessen hängen sie von der servergenerierten Datenschicht ab. Andernfalls kann es zu Javascript-Warnungen kommen, da bestimmte Datenschichtwerte möglicherweise nicht verfügbar sind.

Definieren der Datenschicht

Der erste Schritt beim Konfigurieren des AEM ContextHub-Tools besteht darin, es einer Webeigenschaft hinzuzufügen.
Derzeit ist pro DTM-Webeigenschaft nur ein AEM ContextHub-Tool zulässig.
  1. Klicken Sie auf <Name der Webeigenschaft> > Overview > Add a Tool > AEM ContextHub .
  2. Geben Sie einen beschreibenden Namen für das Tool an.
  3. Click Create Tool to display the AEM ContextHub Settings page.
  4. Wählen Sie Use Default ContextHub Data Layer aus, um die standardmäßigen ContextHub-Stores zu nutzen.
    Oder
    Wählen Sie Customize ContextHub Data Layer zum Ändern des Schemas aus. Die benutzerdefinierte Option muss verwendet werden, wenn in der Implementierung eine nicht standardmäßige ContextHub-Datenschicht verwendet wird.
    Der standardmäßige Datenschichtstamm ermöglicht den Zugriff auf alle ContextHub-Stores. Aufgrund der Dynamik der ContextHub-Stores stehen mit dieser Datenschicht zusätzliche Funktionen zur Verfügung, die in der einfachen Javascript-Objektreferenz, die vom generischen Datenschichtansatz verwendet wird, nicht verfügbar sind.
  5. (Bedingt) Wenn Sie eine benutzerdefinierte Datenschicht verwenden möchten, klicken Sie auf , Open Editor um die Datenschichtdefinition für das Schema Ansicht. Wenn die benutzerdefinierte Datenschicht eine Änderung des ContextHub-Schemas ist, stellen Sie sicher, dass Sie "ContextHub"in das Data Layer Root Feld einfügen.
    Das standardmäßige ContextHub-Schema wird im Editor ausgefüllt.
    1. Passen Sie das Schema nach Bedarf an das Schema der Datenschicht der Site an.
    2. Klicken Sie auf Save and Close , um das Schema zu speichern und den Editor zu schließen.
  6. Klicken Sie auf Save Changes .

Datenschichtdatenelement erstellen

  1. Klicken Sie in der Webeigenschaft auf die Rules Registerkarte und dann im linken Menü auf Data Elements .
  2. Klicken Sie auf Create New Data Element .
  3. Geben Sie einen Namen für das Datenelement an. Benennen Sie in diesem Beispiel das Datenelement "total_price".
  4. Wählen Sie aus der Type Dropdown-Liste AEM ContextHub .
    Der Name des AEM ContextHub-Tools wird in "Quelle"eingetragen, in der aktuellen Version kann jedoch nur ein AEM ContextHub-Tool definiert werden.
  5. Ordnen Sie das Datenelement der Datenschicht zu, indem Sie einen Pfad in der Objektauswahl auswählen.
    Wählen Sie in diesem Beispiel das cart.totalPriceFloat Objekt aus.
  6. Klicken Sie auf Save Data Element .

Erstellen Sie eine Ereignis-basierte Regel, die den Ereignistyp zum Ändern des Datenelements verwendet

  1. Klicken Sie in der Webeigenschaft auf die Rules Registerkarte und dann im linken Menü auf Event Based Rules .
  2. Klicken Sie auf Create New Rule .
  3. Geben Sie einen Namen für die Regel ein. Benennen Sie in diesem Beispiel die Regel "cart_total_update".
  4. Erweitern Sie den Abschnitt Bedingungen.
  5. Wählen Sie aus der Event Type Dropdown-Liste dataelementchanged .
  6. Wählen Sie das Datenelement aus, das im vorherigen Abschnitt erstellt wurde (total_price).
  7. Wählen Sie unter Rule Conditions aus Data Element Value der Dropdown-Liste und klicken Sie dann auf Add Criteria .
  8. Wählen Sie das Datenelement aus, das im vorherigen Abschnitt erstellt wurde (total_price), und weisen Sie einen Wert zu, der die Regel auslöst.
    In diesem Beispiel wird ein regulärer Ausdruck verwendet, um etwas größer als oder gleich 50 auszuwerten: ^([5-9]\d|[1-9]\d{2,})$
    Wenn Datenelementwerte auf diese Weise als Bedingungen verwendet werden, ist es wichtig, dass die Datenelementeinstellungen bei der Übereinstimmung berücksichtigt werden. Wenn Sie beispielsweise die Force Lowercase Value Option in den Datenelementeinstellungen auswählen, wird der Wert vor der Auswertung in Kleinbuchstaben umgewandelt. Da bei Javascript die Groß-/Kleinschreibung beachtet wird, ist "test"nicht mit "Test"identisch und die Bedingung würde nicht wie erwartet ausgelöst.
  9. Expand the Javascript / Third Party Tags section.
  10. Klicken Sie auf Add New Script .
  11. hinzufügen ein nicht sequenzielles Javascript, das eine Benachrichtigung bereitstellt, wenn die Regel ausgelöst wird. Benennen Sie die Regel "big_money_alert"und fügen Sie dann ein Warnskript hinzu, das dem folgenden Beispiel ähnelt:
    alert('$' + _satellite.getVar(‘total_price’) + ‘ is big money!’);
  12. Klicken Sie auf Save Code und dann auf Save Rule .

Validieren der -Implementierung

Überprüfen Sie die Implementierung auf der DTM-aktivierten Website, auf der die oben genannte Webeigenschaft ausgeführt wird.
  • Überprüfen Sie in der Developer Console, ob die Datenschicht vorhanden ist ( ContextHub ).
  • Ändern Sie das überwachte Datenschichtobjekt in einen Wert, der NICHT mit der oben genannten Bedingung übereinstimmt: ContextHub.setItem('/store/cart/totalPriceFloat','5');
  • Ändern Sie das überwachte Datenschichtobjekt in einen Wert, der mit der oben genannten Bedingung übereinstimmt: ContextHub.setItem('/store/cart/totalPriceFloat','52');
  • In der Beispielimplementierung sollte ein Warndialog geöffnet werden:
Wenn das DTM-Debugging aktiviert ist, sollte die fehlgeschlagene Bewertung in der Konsole angezeigt werden.

Beispiel für eine benutzerdefinierte Datenschicht

Beispiel für die Verwendung des AEM ContextHub-Tools, das auf eine benutzerdefinierte, nicht ContextHub-Datenschicht innerhalb der Dynamic Tag Management Konfiguration verweist und diese verwendet.
Die Beispieldatenschicht ( _dl ) wird als Javascript-Objektdefinition im Abschnitt der Seite auf die Testwebseite geladen, bevor auf den DTM-Einbettungscode verwiesen wird. <head/>
<head> 
    <script> 
        window._dl = { 
            page: { 
                name: 'homepage', 
                quantity: 1, 
                friend: 'No one' } 
        } 
    </script> 
    <script src="//assets.adobedtm.com/satelliteLib-*.js"></script> 
</head> 

Die DTM-Datenschichtüberwachung (siehe unten) Beginn vor anderen DTM-Funktionen, sodass die Datenschicht nicht über DTM bereitgestellt wird. Andernfalls kann es zu Javascript-Warnungen kommen, da bestimmte Datenschichtwerte möglicherweise nicht verfügbar sind.

Definieren der Datenschicht

Der erste Schritt beim Konfigurieren des AEM ContextHub-Tools besteht darin, es einer Webeigenschaft hinzuzufügen.
Derzeit ist pro DTM-Webeigenschaft nur ein AEM ContextHub-Tool zulässig.
  1. Klicken Sie auf <Name der Webeigenschaft> > Overview > Add a Tool > AEM ContextHub .
  2. Geben Sie einen beschreibenden Namen für das Tool an.
  3. Click Create Tool to display the AEM ContextHub Settings page.
  4. Wählen Sie Customize ContextHub Data Layer zum Ändern des Schemas aus.
    Für Nicht-ContextHub-Datenschichten muss dem Data Layer Root Feld ein Javascript-Stammobjektname hinzugefügt werden. Die _dl Definition wird in den allgemeinen Beispielen in diesem Abschnitt verwendet.
  5. Klicken Sie Open Editor auf , um die Datenschichtdefinition des Schemas Ansicht.
    Standardmäßig wird das standardmäßige ContextHub-Schema im Editor ausgefüllt.
  6. Löschen Sie das Standard-Schema und fügen Sie es in das Schema der Site-Datenschicht ein.
    In den allgemeinen Beispielen wird das folgende Schema verwendet, das keine ContextHub-Komponente ist:
    { 
      "$schema": "https://json-schema.org/draft-04/schema#", 
      "type": "object", 
      "properties": { 
        "page": { 
          "type": "object", 
          "properties": { 
            "name": { 
              "type": "string" 
            }, 
            "quantity": { 
              "type": "number" 
            }, 
            "friend": { 
              "type": "string" 
            } 
          }, 
          "required": [ 
            "name", 
            "quantity", 
            "friend" 
          ] 
        } 
       }, 
      "required": [ 
        "page" 
      ] 
    } 
    
    
  7. Klicken Sie auf Save and Close , um das Schema zu speichern und den Editor zu schließen, und klicken Sie dann auf Save Changes .

Datenschichtdatenelement erstellen

  1. Klicken Sie in der Webeigenschaft auf die Rules Registerkarte und dann im linken Menü auf Data Elements .
  2. Klicken Sie auf Create New Data Element .
  3. Geben Sie einen Namen für das Datenelement an. Benennen Sie in diesem Beispiel das Datenelement "my_friend".
  4. Wählen Sie aus der Type Dropdown-Liste AEM ContextHub .
    Der Name des AEM ContextHub-Tools wird in "Quelle"eingetragen, in der aktuellen Version kann jedoch nur ein AEM ContextHub-Tool definiert werden.
  5. Ordnen Sie das Datenelement der Datenschicht zu, indem Sie einen Pfad in der Objektauswahl auswählen.
    Wählen Sie in diesem Beispiel das page.friend Objekt aus.
  6. Klicken Sie auf Save Data Element .

Erstellen Sie eine Ereignis-basierte Regel, die den Ereignistyp zum Ändern des Datenelements verwendet

  1. Klicken Sie in der Webeigenschaft auf die Rules Registerkarte und dann im linken Menü auf Event Based Rules .
  2. Klicken Sie auf Create New Rule .
  3. Geben Sie einen Namen für die Regel ein. Benennen Sie in diesem Beispiel die Regel "find_a_friend".
  4. Erweitern Sie den Abschnitt Bedingungen.
  5. Wählen Sie aus der Event Type Dropdown-Liste dataelementchanged .
  6. Wählen Sie das Datenelement aus, das im vorherigen Abschnitt erstellt wurde (my_friend).
  7. Wählen Sie unter Rule Conditions aus Data Element Value der Dropdown-Liste und klicken Sie dann auf Add Criteria .
  8. Wählen Sie das Datenelement aus, das im vorherigen Abschnitt erstellt wurde (my_friend), und weisen Sie einen Wert zu, der die Regel auslöst.
    Verwenden Sie in diesem Beispiel "Carl"als Wert.
    Wenn Datenelementwerte auf diese Weise als Bedingungen verwendet werden, ist es wichtig, dass die Datenelementeinstellungen bei der Übereinstimmung berücksichtigt werden. Wenn Sie beispielsweise die Force Lowercase Value Option in den Datenelementeinstellungen auswählen, wird der Wert vor der Auswertung in Kleinbuchstaben umgewandelt. Da bei Javascript die Groß-/Kleinschreibung beachtet wird, ist "test"nicht mit "Test"identisch und die Bedingung würde nicht wie erwartet ausgelöst.
  9. Expand the Javascript / Third Party Tags section.
  10. Klicken Sie auf Add New Script .
  11. hinzufügen ein nicht sequenzielles Javascript, das eine Benachrichtigung bereitstellt, wenn die Regel ausgelöst wird. Benennen Sie die Regel "found_my_friend"und fügen Sie dann ein Warnskript hinzu, das dem folgenden Beispiel ähnelt:
    alert(_satellite.getVar(‘my_friend’) + ‘ is my friend.’);
  12. Klicken Sie auf Save Code und dann auf Save Rule .

Validieren der -Implementierung

Überprüfen Sie die Implementierung auf der DTM-aktivierten Website, auf der die oben genannte Webeigenschaft ausgeführt wird.
  • Überprüfen Sie in der Developer Console, ob die Datenschicht vorhanden ist ( _dl ).
  • Ändern Sie das überwachte Datenschichtobjekt in den Wert, der in der oben stehenden Bedingung ( _dl.page.friend = ‘Carl’ ) festgelegt wurde.
    ・ Bei der Beispielimplementierung sollte ein Warndialog geöffnet werden:
  • Ändern Sie das Objekt in einen anderen Wert ( _dl.page.friend = ‘Bob’ ), sodass keine Warnung angezeigt werden sollte.
    Wenn das DTM-Debugging aktiviert ist, sollte die fehlgeschlagene Bewertung in der Konsole angezeigt werden.
  • Ändern Sie das Objekt in einen Kleinbuchstabenwert der Übereinstimmung ( _dl.page.friend = ‘carl’ ), sodass keine Warnung angezeigt werden sollte.
  • Ändern Sie das Objekt in die richtige Groß-/Kleinschreibung der Übereinstimmung ( _dl.page.friend = ‘Carl’ ), und die Warnung sollte erneut angezeigt werden.