Как программно измерить покупку в Google Analytics через Диспетчер тегов Google после успешного ответа api POST?

Просматривая документы для Диспетчера тегов Google, кажется, что они предлагают измерять покупку по просмотрам страниц подтверждения. Если я не ошибаюсь, это может быть неточно из-за сбоя во время перенаправления или искусственно завышено, поскольку ссылку можно будет посетить позже.

Поэтому я думаю, что было бы предпочтительнее зарегистрировать или измерить покупку, как только я получу успешный ответ на свой POST-запрос о покупке. Что-то вроде этого:

function purchase(data, form) {
  fetchHelper(url, {
    method: 'post',
    body: JSON.stringify(data),
  })
    .then(json => {
      // Send info to GTM that purchase was successful
      form.reset()
      window.location.href = `confirmation.html?booking=${json.booking_number}`;
    })
    .catch(error => {
      console.error('Error: ', error)
      swal('Oops', error.message, 'error');
    })
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
0
711
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вместо того, чтобы полагаться на посещения страниц для отслеживания конверсий / покупок, я бы рекомендовал запускать событие GA с помощью Google analytics.js. Из этих данных события в GA вы можете создать «цель», которая должна дать вам довольно чистые данные о покупке / конверсии.

https://developers.google.com/analytics/devguides/collection/analyticsjs/events

В GTM вам нужно настроить тег на основе типа Universal Analytics. В опциях вы должны установить Тип трека на Событие, а затем заполнить Параметры отслеживания событий.

Для запуска вы можете создать новый триггер для настраиваемого события. В этом примере название события может быть «Purchase_complete». Затем вы можете использовать эту функцию для запуска триггера:

function fire(){
  var dataObject = {
    'event': 'purchase_complete',
    'category': 'click',
    'label': 'label_something'
  };
  if (typeof dataLayer != 'undefined'){
    dataLayer.push(dataObject);
  }
}

(вытащил из https://jonathanmh.com/custom-javascript-trigger-functions-google-tag-manager/)

Вместо этого я хотел бы использовать Диспетчер тегов Google для расширенных данных. Я знаю, как это сделать только с Google Analytics, но не с GA в GTM.

Sia 29.03.2018 21:37

Работает ли запуск пользовательских событий / триггеров в слое данных GTM? developers.google.com/tag-manager/devguide

Kevin Blank 29.03.2018 22:06

Это руководство кажется намного лучше, чем другие, которые я видел до сих пор. Я собираюсь поиграть с этим. Так что я думаю, что смогу получить к нему доступ в моих более поздних js с window.dataLayer.

Sia 30.03.2018 16:20

"Может быть неточно"
Действительно, это обычная проблема. Если вы хотите достичь 100% надежности, вы можете положиться на протокол измерения с серверным кодом. То, что вы планируете делать, должно быть очень близко к этому. Просто отправить данные о покупке в dataLayer и не забудьте послать хит после этого (см. Ниже). Одним из клиентских решений для предотвращения дублирования является сохранение идентификаторов транзакций в файлах cookie и проверьте этот файл cookie на наличие прошлых транзакций, прежде чем отслеживать новые.

«Предложите измерить покупку по просмотрам страницы подтверждения»
Неважно, что вы делаете, если вы используете «хит» для отправки данных электронной торговли («полезная нагрузка») в GA, поскольку по умолчанию данные электронной торговли просто находятся на стороне клиента и не отправляются в GA. На практике у вас есть 2 варианта: просмотры страниц или события. Обычно вы видите, что данные транзакции отправляются через просмотры страниц, потому что традиционно это были данные, вставленные на страницу подтверждения серверным кодом, и вы видите взаимодействия на стороне клиента, такие как добавление в корзину, отправляемые с событиями, потому что это что-то обрабатывается во внешнем интерфейсе, но совершенно нормально отправлять все данные электронной коммерции с событиями.

Вы упомянули «см. Ниже» - собирались ли вы добавить больше деталей о «отправке обращения»?

Sia 30.03.2018 16:06

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