Настройка трекинг-кода Retail Rocket

Трекинг-код Retail Rocket состоит из 6 скриптов, которые необходимо разместить на страницах вашего сайта. 

На ваш сайт необходимо установить следующий код:

1. Основной трекинг-код системы

Разместите трекинг-код системы на каждой странице вашего сайта в секции <head>:

    <script type="text/javascript">
       var rrPartnerId = "partnerIdFromPartnerOffice";       
       var rrApi = {}; 
       var rrApiOnReady = rrApiOnReady || [];
       rrApi.addToBasket = rrApi.order = rrApi.categoryView = rrApi.view = 
           rrApi.recomMouseDown = rrApi.recomAddToCart = function() {};
       (function(d) {
           var ref = d.getElementsByTagName('script')[0];
           var apiJs, apiJsId = 'rrApi-jssdk';
           if (d.getElementById(apiJsId)) return;
           apiJs = d.createElement('script');
           apiJs.id = apiJsId;
           apiJs.async = true;
           apiJs.src = "//cdn.retailrocket.ru/content/javascript/tracking.js";
           ref.parentNode.insertBefore(apiJs, ref);
       }(document));
    </script>
2. Трекер просмотра карточки товара

На всех страницах карточек товаров и формах быстрого просмотра необходимо установить товарный трекинг-код:

<script type="text/javascript">
    (window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
		try{ rrApi.groupView([<product_ids>],{"stockId": "<stock_id>"}); } catch(e) {}
	})
</script>

Где: 

  • <product_ids> - идентификаторы товаров из просматриваемой группы, массив чисел (должны совпадать с ID, передаваемыми в XML),
  • <stock_id> - название региона (склада).

Пример:

<script type="text/javascript"> (window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { try { rrApi.groupView([123,456], {"stockId": "10"}); } catch(e) {} }) </script>

3. Трекер просмотра страницы товарной категории

На всех страницах товарных категорий необходимо установить следующий код:

<script type="text/javascript">
    (window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
		try { rrApi.categoryView(<category_id>); } catch(e) {}
	})
</script>

Где <category_id> - числовой ID товарной категории (должен совпадать с атрибутом id тега <category>, передаваемом в XML-файле).

Пример:

<script type="text/javascript"> (window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { try { rrApi.categoryView(123); } catch(e) {} }) </script>

4. Трекер добавления товаров в корзину

На кнопках, нажатие которых приводит к добавлению товара в корзину, необходимо установить обработчик событий:

onmousedown="try { rrApi.addToBasket(<product_id>,{'stockId': '<stock_id>'}) } catch(e) {}"

Где:

  • <product_id> - ID товара (должно совпадать с ID, передаваемом в XML),
  • <stock_id> - название региона (склада).

Пример:

<div class="buy_button" onmousedown="try { rrApi.addToBasket(123, {'stockId': '10'}) } catch(e) {}"></div>

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

5. Трекер совершения транзакции

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

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
    try {
	rrApi.setEmail("<user_email>", {"stockId": "<stock_id>"});
        rrApi.order({
            "transaction": "<transaction_id>",
            "items": [
                { "id": <product_id>, "qnt": <quantity>,  "price": <price>},
                { "id": <product_id>, "qnt": <quantity>,  "price": <price> }
            ]
        });
    } catch(e) {}
})
</script>

Где: 

  • <user_email> - email адрес пользователя,
  • <stock_id> - название региона (склада),
  • <transaction_id> - ID транзакции,
  • <product_id> - ID товара (должно совпадать с ID, передаваемом в XML),
  • <qnt> - количество единиц товара в заказе,
  • <price> - цена за единицу товара.

Пример:

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
    try {
      rrApi.setEmail("<user_email>", {"stockId": "<stock_id>"});
      rrApi.order({
         "transaction": "1235421421",
         "items": [
            { "id": 12312, "qnt": 4, "price": 130 },
            { "id": 64532, "qnt": 1, "price": 220 }
         ]
      });
    } catch(e) {}
})
</script>

6. Трекер получения email

Каждый раз, когда вы получаете email пользователя, исполняйте код:

(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail("<user_email>",{"stockId": "<stock_id>"});});

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

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

onclick="try {rrApi.setEmail($('#EmailFieldID').val(),{'stockId': '<stock_id>'});}catch(e){}"

Пример 2: добавьте следующий код на страницу "Спасибо за заказ" если пользователь подписался на маркетинговые рассылки интернет-магазина: 

<script type="text/javascript"> (window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail("<user_email>",{"stockId": "<stock_id>"}); }); </script>

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

<script type="text/javascript"> (window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail("example@email.com", { "gender": "Male", "age": 21, "stockId": "Amsterdam", "birthday": "15.01.1983" }); }); </script>

Рекомендуемые параметры для использования:

  • gender (строка),
  • age (число без  кавычек),
  • stockId (строка),
  • name (только имя, строка),
  • birthday (строка, формат DD.MM.YYYY).

Подробнее о способах передачи можете почитать здесь.