Повторно инициализировать сеанс Google Analytics после завершения (прерывание процесса оформления заказа в электронной торговле)

Хорошо, вот сделка:

У нас есть прерванный процесс оформления заказа; люди доходят до определенного шага, и прежде чем мы сможем продолжить, необходимо проверить доступность. Проверка занимает минимум 1 день, обычно больше. После завершения процесса проверки клиент получает электронное письмо с идентифицируемой ссылкой (параметризированной) на возраст с вариантами оплаты. Клиенты довольно часто платят дни, недели, иногда даже месяцы после получения этого письма.

Из-за этапа проверки сеанс прерывается, а последующие шаги по-прежнему являются частью того же процесса проверки. Теперь мы можем вставить какой-то идентификатор в пользовательское измерение, чтобы каким-то образом связать два процесса вместе, но в идеале я бы хотел, чтобы измерение продолжалось с того места, где оно остановилось; от шага подтверждения до страницы оплаты.

Итак, вкратце:

Часть 1: [НАЧАЛО СЕАНСА] Обзор > Добавить в корзину > Перейти к оплате > Запросить доступность [СЕАНС ​​КОНЕЦ].

Часть 2: [НАЧАЛО СЕАНСА] Способы оплаты (получено из электронной почты) > Оплата > Покупка завершена [КОНЕЦ СЕАНСА].

Есть ли способ повторно активировать прерванный сеанс? Мы бы предпочли не полагаться на файлы cookie браузера из-за (потенциально) длительного периода между частями 1 и 2. Можем ли мы сохранить (содержимое) файлов cookie GA на стороне сервера и заменить их в браузере, как только пользователь перейдет по параметризованной ссылке? (а браузер такое вообще позволяет? ????)


person ravb79    schedule 08.05.2020    source источник


Ответы (1)


Вы должны сохранить clientId и отправить второе обращение с протоколом измерения, используя clientId, сохраненный как значение в параметре cid.

С помощью этой функции JavaScript вы можете получить clientId:

function getClientId() {
  try {
    var trackers = ga.getAll();
    var i, len;
    for (i = 0, len = trackers.length; i < len; i += 1) {
      if (trackers[i].get('trackingId') === 'YOUR_UA-CODE_HERE') {
        return trackers[i].get('clientId');
      }
    }
  } catch(e) {}  
  return 'false';
}

console.log(getClientId());

Здесь информация о протоколе измерений: https://developers.google.com/analytics/devguides/collection/protocol/v1/reference

person Michele Pisani    schedule 09.05.2020
comment
Это выглядит многообещающе! Для всех намерений и целей, я думаю, что это должно работать. У меня есть несколько дополнительных вопросов о вещах, которые я не смог найти в документации. Мы используем GTM для имплементации GA, поэтому я думаю, что мы будем передавать параметры MP в GTM с помощью dataLayer и делать POST-запрос к GA через GTM, или есть лучший способ? Мне до сих пор не ясно, повторно ли инициализируют ли запросы MP первоначальный сеанс; Должен ли я передавать все остальные параметры и показатели (рефералы, посещенные страницы и т. д.)? - person ravb79; 09.05.2020
comment
Через один или несколько дней начальная сессия закрывается на некоторое время. Вернее вернуть тому же пользователю с тем же cid, но в новой сессии. - person Michele Pisani; 09.05.2020
comment
Хорошо, имеет смысл. Будет ли он по-прежнему отображаться как та же самая касса в GA? (В комплекте с реферальной информацией и т. д.) - person ravb79; 09.05.2020
comment
Если второй сеанс начинается по ссылке в письме, рефарал может быть другим. - person Michele Pisani; 09.05.2020