Как изменить данные в слое данных перед отправкой в ​​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-ю партию только усложняет.

Другие вопросы по тегам