Problema
Por exemplo, o objeto da camada de dados da seguinte forma:
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'} }];
Se você criar um Elemento de Dados no DTM usando notações de matriz como a figura a seguir, ele retornará o valor padrão configurado como "DLJSDefault" em vez do valor correto "Gibson J-200":
Ambiente
Ativação / Dynamic Tag Management
Causa
Ao usar o tipo de Elemento de dados do objeto JavaScript, o Dynamic Tag Management não suporta notações de matriz.
Solução
Para usar notações de matriz, use um elemento de dados do tipo 'Custom Script':
Você pode usar o seguinte script para o cenário de exemplo:
return window.dataLayer["0"].products["0"].name;
Este script retorna o valor "Gibson J-200" da camada de dados do exemplo.