Отслеживание конверсий

Выполнение

Краткое содержание

Реализация отслеживания конверсий состоит из трех частей:

  • Сбор rwg_token с целевой страницы/точки входа в приложение.
  • Сохранение rwg_token для соответствующего окна атрибуции.
  • Отправка события-конверсии при оформлении заказа

Эта реализация отслеживания конверсий не требует использования Google Analytics или любого другого стороннего JavaScript.

Прежде чем приступить к реализации отслеживания конверсий, вам следует решить, будете ли вы отслеживать конверсии на уровне устройства или на уровне пользователя:

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

Сбор rwg_token

Каждый раз, когда Google отображает ссылку action_link, которую вы предоставили через каналы, этот URL-адрес изменяется и включает уникальный параметр запроса: rwg_token. Значение rwg_token — это закодированная строка, содержащая некоторые метаданные о ссылке, по которой щелкнул пользователь. Вам следует сохранить этот токен и передать его обратно как часть события преобразования.

На каждой целевой странице/точке входа в приложение вы должны проанализировать значение, установленное для параметра запроса rwg_token, и сохранить его. Требования к хранению этого параметра описаны на этапе Сохранение rwg_token.

Ниже приведен пример того, как этот токен можно проанализировать для отслеживания на уровне устройства через браузер. Альтернативно вы можете получить этот токен на стороне сервера при ответе на запрос:

<script>
  var query = location.search.substring(1);
  var params = query.split('&');
  var rwgToken = undefined;
  for (var i = 0; i < params.length; ++i) {
    var pair = params[i].split('=');
    if (pair[0] == 'rwg_token') {
      rwgToken = decodeURIComponent(pair[1]);
      break;
    }
  }
</script>

Сохранение rwg_token

Вам необходимо будет сохранить параметр URL-адреса rwg_token, который будет добавлен ко всем предоставленным вами ссылкам на действия, в течение общего периода 30 дней. Значение rwg_token должно быть сохранено и возвращено без каких-либо изменений.

Наряду с rwg_token вам необходимо будет сохранить merchant_id , связанный со ссылкой на действие.

Если существует существующий токен, сохранившийся после предыдущего посещения, более ранние rwg_token и merchant_id должны быть заменены, а 30-дневное окно хранения должно быть сброшено.

При сохранении вышеуказанной пары вы можете сохранить значения на уровне устройства или на уровне пользователя:

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

Ниже приведен пример отслеживания конверсий на уровне устройства, в котором эти значения сохраняются в веб-браузере с использованием собственных файлов cookie. В этом примере предполагается, что вы преобразовали значение токена в переменную, как в примере выше. Чтобы использовать этот пример, вам необходимо обновить «rootdomain» до своего домена.

<script>
  if (typeof rwg_token !== 'undefined') {
    document.cookie =
    "_rwg_token=" + rwg_token + ";_merchant_id="+merchantid +";max-age=2592000;domain=rootdomain.com;path=/";
  }
</script>

При использовании отслеживания конверсий на уровне пользователя rwg_token + Merchant_id должны храниться на сервере и связываться с пользователем.

Отправка данных о конверсиях

Когда пользователь завершает транзакцию, связанную со ссылкой Google Place Action, вы должны отправить HTTP-запрос POST в конечную точку конверсии. Существует две конечные точки: одна для производственной среды и одна для изолированной среды.

  • Производство: https://www.google.com/maps/conversion/collect
  • Песочница: https://www.google.com/maps/conversion/debug/collect

Тело сообщения должно представлять собой объект в формате JSON в формате:

{
  "conversion_partner_id": <partnerId>,
  "rwg_token": <rwg_token_val>
  "merchant_changed": 1|2
}

Значение Merchant_changed используется для определения того, изменился ли продавец по сравнению с первоначальным продавцом перенаправления. Есть два значения, которые можно передать

Изменение стоимости продавца Требование
1 Это значение следует использовать, когда пользователь покинул веб-сайт исходного продавца и совершил покупку через вашу платформу у другого продавца.
2 Это значение следует использовать, когда клиент завершил транзакцию через исходную организацию (продавца).

Как в тестовой, так и в производственной среде вам необходимо предоставить действительный rwg_token при отправке события преобразования. В целях тестирования используйте следующий тестовый токен в обеих средах до запуска:

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

Полный пример отслеживания конверсий на уровне устройства (с использованием файла cookie на устройстве пользователя) в JavaScript, показывающий, как сделать этот запрос на публикацию, приведен ниже:

const partnerId = XXXXXXXXXX;

const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal,
      Merchant_changed: merchantChanged
    })
  });
}

При использовании отслеживания конверсий на уровне пользователя вам следует получить токен, связанный с пользователем (независимо от поверхности, на которой он находится), из механизма хранения на стороне сервера и отправить токен, используя те же конечные точки рабочей среды или песочницы.

Требования к атрибуции конверсий

Обязательным стандартом Google для атрибуции конверсий является 30-дневный период атрибуции для любого взаимодействия со ссылкой на место в любом магазине.

Это окно атрибуции означает, что Google ожидает отправки события-конверсии в любом из следующих сценариев:

  • Пользователь переходит по ссылке действия размещения и размещает заказ у того же продавца в одном и том же сеансе (значение изменения продавца = 2).
  • Пользователь переходит по ссылке «Разместить действие», а затем возвращается из другого канала в течение 30 дней, чтобы разместить заказ у того же продавца. (Значение изменения продавца = 2)
  • Пользователь переходит по ссылке «Разместить действие», а затем размещает заказ в другом магазине либо в рамках того же сеанса, либо в другом сеансе в течение 30-дневного периода. (Значение изменения продавца = 1)

Кроме того, Google ожидает, что события конверсии будут отправляться со всех поверхностей, на которые пользователь может попасть по ссылке на действие места. Включая:

  • Настольные или мобильные веб-приложения
  • Мобильные приложения, либо через глубокую ссылку на приложение, либо через зарегистрированное намерение приложения для вашего домена.

Если токен хранится на уровне пользователя (см. раздел «Сохранение токена»), ожидается, что вы обеспечите атрибуцию между устройствами. То есть пользователь, который переходит по ссылке действия с рабочего стола, а затем завершает транзакцию на мобильном устройстве (используя ту же учетную запись пользователя), должен инициировать событие конверсии.

Если токен хранится исключительно на уровне устройства, например в файлах cookie браузера, от вас не требуется предоставления атрибуции между устройствами. В этом случае на каждом устройстве будет сохраняться отдельный токен, если пользователь перешел по ссылке действия на этом устройстве, и каждое устройство будет следовать правилам атрибуции отдельно.