JavaScript Datenelementtyp Objekt gibt keinen Wert für Objekte zurück, die ein Array enthalten

Problem

Beispiel: Objekt mit einer Datenschicht wie folgt:

var dataLayer = window.dataLayer || [];
var dataLayer = [{
    'foo':'bar',
    'products': [{
            'name': 'Gibson J-200',
            'tuning': 'High-G',
            'price': 449.75
        },{
            'name': 'Fender Stratocaster',
            'tuning': 'Drop-C',
            'price': 1699
    }],
    'stores': ['Los Angeles', 'New York'],
    'employee': {'name': 'Reggie'}
}];

Wenn Sie ein Datenelement in DTM mithilfe der Array-Anmerkungen wie die folgende Abbildung erstellen, gibt es den Standardwert zurück, der anstelle des ordnungsgemäßen Werts „Gibson J -200“ als „DLJSDefault“ konfiguriert ist.

Umgebung

Dynamisches Tag-Management/Activation

Ursache

 Bei der Verwendung des JavaScript Datenelementtyps Objekt unterstützt das dynamische Tag-Management keine Array-Anmerkungen.

Lösung

Verwenden Sie zum Verwenden von Array-Anmerkungen ein Datenelement vom Typ „Benutzerdefiniertes Skript“:

Für das Beispielszenario können Sie das folgende Skript verwenden:

return window.dataLayer["0"].products["0"].name;

Dieses Skript gibt den Wert „Gibson J-200“ von der Beispiel-Datenschicht zurück.

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?