Определение переменных уровня данных Диспетчера тегов Google

У меня вопрос о Google Tag Manager (GTM) и уровне данных:

Предположим, группа аналитиков просит разработчиков отправить в Data Layer событие под названием «test», которое имеет следующую структуру:

{
product_id : '1234',
category: 'toys' 
}

Предположим, у меня есть тег, который должен отправить эти переменные стороннему провайдеру.

В соответствии с моим пониманием рабочего процесса GTM я должен создать две отдельные переменные уровня данных, одну для product_id и одну для category.

Это довольно ручной / длительный / подверженный ошибкам процесс для событий с большим количеством переменных, и я также беспокоюсь, что может возникнуть путаница, если другая переменная будет называться «категорией» из другого события.

Итак, мой вопрос:

Могу ли я определить в GTM переменную родительского уровня под названием «test» (название самого события), а затем создать переменные test.product_id и test.category?

Спасибо


person Giacomo    schedule 22.11.2017    source источник


Ответы (1)


Правильное управление данными должно диктовать, что ваши ключи уровня данных должны быть четко определены, чтобы у вас не было избыточности и двусмысленности. Кроме того, использование клавиши event жизненно важно, если вам абсолютно необходимо повторно использовать определенное имя, например category, с другим событием. В этом примере ваша переменная уровня данных может использоваться для любого события, а сам event гарантирует, что этот ключ получит правильное значение в правильном теге события.

Если вам действительно нужно использовать вложенную структуру данных, убедитесь, что ваша переменная уровня данных использует правильную точечную нотацию, как вы указали (например, test.0.category). Обратите внимание, что почти таким же образом можно получить доступ к параметрам уровня данных расширенной электронной торговли.

person nyuen    schedule 22.11.2017
comment
спасибо за Ваш ответ. Когда вы говорите use of the event key is vital, вы имеете в виду создание переменных в GTM? - person Giacomo; 22.11.2017
comment
Когда вы отправляете данные в dataLayer, рекомендуется также всегда отправлять event, например. dataLayer.push({'event': 'test', 'category': 'chicken'}). Таким образом, вы можете быть уверены, что когда вы захотите активировать свой тег и использовать правильное значение category, вы сможете сделать это с событием test в качестве триггера. - person nyuen; 22.11.2017
comment
Отлично, это то, что я делаю, спасибо. Что касается использования вложенной структуры данных, будет ли это что-то вроде dataLayer.push({'event': 'animal', 'animal':[{'name': 'chicken'}, {'habitat':'farm'}]), а затем переменные будут определены как animal.name и animal.farm? - person Giacomo; 22.11.2017
comment
Это было бы больше похоже на dataLayer.push({'event': 'animal', 'animal':[{'name': 'chicken', 'habitat':'farm'}]), а затем для доступа к ним как к переменным уровня данных в GTM вы должны пойти animal.0.name и animal.0.habitat. - person nyuen; 22.11.2017
comment
спасибо, я думаю, это лучший подход. Таким образом, я мог определить только одну переменную animal в GTM, а затем получить доступ к отдельным элементам из тега. - person Giacomo; 22.11.2017