JavaScript Object Data Element type does not return value for objects that contain an array.

Issue

For example, data layer object as follows:

var dataLayer = window.dataLayer || [];
var dataLayer = [{
    'some':'thing',
    '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'}
}];

If you create a Data Element in DTM using array notations as the following figure, it returns default value configured as "DLJSDefault" instead of correct value "Gibson J-200":

Environment

Dynamic Tag Management/Activation

Cause

 While using the JavaScript Object Data Element type, Dynamic Tag Management does not support array notations.

Resolution

To use array notations, use a Data Element of type 'Custom Script':

You can use the following script for the example scenario:

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

This script returns the value "Gibson J-200" from the example data layer.

 Adobe

Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online