Рекомендации по использованию одной и той же переменной уровня данных с Диспетчером тегов Google без сервера Диспетчера тегов Google

Я пытаюсь реализовать API конверсий на нашей странице и, конечно же, основная проблема - это дедупликация событий. Я избегаю этого, используя одни и те же имена событий и идентификаторы событий (случайная уникальная переменная, сгенерированная в определенное время). Насколько я понимаю, Диспетчер тегов Google (GTM) запускает теги при выполнении определенных условий (например, при загрузке страницы) и отправляет события в пиксель. Я пытаюсь отправить то же событие из javascript нашей страницы. Для простоты я начал с события pageView.

Я пытаюсь достичь всего этого с помощью только Диспетчера тегов и нашего кода (не используя серверную опцию Диспетчера тегов Google)

Я реализовал несколько методов, чтобы попытаться получить переменную dataLayer (я определил новую, названную EventID), но я вижу, что значение сохраняется в dataLayer при загрузке страницы, однако при проверке моих событий оно показывает это событие id не определен (значение переменной EventID в dataLayer еще не было установлено в то время, когда была вызвана моя функция. Таким образом, события отправляются с 'undefined' eventID, но когда я открываю консоль разработчика и проверяю переменную dataLayer, ожидаемый случайный номер eventID здесь.

Я также добавил новый тег под названием «идентификатор события уровня данных», который должен срабатывать при загрузке страницы и сохранять новый сгенерированный идентификатор события в уровень данных, откуда он может быть извлечен. Код прост и выглядит так:

      <script>
  ID = [our FB Pixel ID] + Date.now();
  dataLayer.push({'eventID' : ID});
</script>

Не мог бы кто-нибудь с большим опытом прокомментировать это:

  • Это правильно? Мне не хватает некоторых триггеров / нужно ли определять другое время / место, когда этот тег должен срабатывать?
  • Есть ли другой подход, который я должен использовать для реализации дедупликации?

Спасибо за любую информацию!

1 ответ

Простое нажатие eventID на dataLayer ничего не изменит в вашем случае. Вам необходимо изменить конфигурацию самого тега FB.

Не уверен, почему вы не хотите использовать sGTM, потому что похоже, что это самый простой вариант для вас.

Вот хороший пост в блоге о том, как настроить дедупликацию событий Facebook в Google Tag Manager.

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