Как изменить данные в слое данных перед отправкой в Google Analytics?
Я пытался изменить некоторые значения в слое данных, прежде чем он достигнет моего аккаунта Google Analytics.
Я использовал пользовательский тег HTML для управления слоем данных. Скажем, я хотел умножить мою переменную количества комнат на 3,
<script type="text/javascript">
(function() {
var var7 = ({{DL_roomcount}})
var7 = 3*var7
dataLayer.push({
'roomcount' : var7
});
})();
</script>
По-видимому, даже несмотря на то, что он показывает новые значения на уровне данных в режиме предварительного просмотра, новые значения никогда не доходили до учетной записи Google Analytics.
Тип триггера, который я использовал, был - пользовательское событие и имя события было "gtm.load". В режиме предварительного просмотра уровень данных показывает количество комнат как 3, но в учетной записи аналитики - 1.
Моя консоль отладки GA также показывает 1 вместо 3.
Любая помощь по этому поводу будет принята с благодарностью.
Спасибо
2 ответа
Вы должны вставить событие в dataLayer в то же время, когда вы выдвигаете новое значение для roomcount
так что вы можете получить доступ к этому новому значению:
// your other code
dataLayer.push({
'event': 'update roomcount',
'roomcount': var7
})
Теперь вы можете получить доступ к новому roomcount
значение, если вы активируете свой тег на update roomcount
событие.
Вам нужно посмотреть, когда эти значения читаются; Позвольте привести пример.
- Вы нажимаете на страницу.
- Это вызывает толчок уровня данных.
- Этот толчок заставляет Google Analytics запустить событие.
- Вы используете свой пользовательский тег для редактирования переменной слоя данных.
В этой ситуации уже поздно. Вы уже упустили момент, когда Google Analytics получает информацию.
Я рекомендую либо изменить толчок уровня данных, переменную уровня данных, либо тег, который отправляет информацию в Google Analytics. Добавление в 4-ю партию только усложняет.