Пример инструкции Pixel Lead

Что происходит во время интеграции?

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

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

Мы собираем и используем следующие данные:

  1. Параметры URL перехода:

    • Cookie - обезличенный идентификатор пользователя;

    • Cookie - обезличенный идентификатор сессии;

    • Cookies - параметров последнего перехода (полный URL и UTM-метки раздельно).

  2. Параметры браузера:

    • User-Agent;

    • Размер экрана;

    • Размер окна браузера;

    • Открытие страницы в iframe;

    • URL текущей страницы и ее реферер;

Нам также необходимо сформировать DATA-объект, содержащий информацию о покупке.

Мы не собираем личную информацию, а используем только те файлы cookie, которые настраиваем сами.

Подсказка

В СРА-канале используется модель атрибуции «Last Paid Click» – согласно этой модели, заказ присваивается платному источнику, который был последним в истории переходов перед совершением заказа.

Примечание

Это пример инструкции по интеграции Adv.Cake. Инструкцию с актуальными данными для интеграции именно вашего оффера вам передаст ваш менеджер.

Содержание:

  1. Предоставление доступа к рекламному кабинету;

  2. Установка JS-кода на страницы сайта;

  3. Установка кода, формирующего DATA-объект на страницы;

  4. Настройка автоматической сверки с помощью XML-выгрузки.

Шаг 1. Предоставление доступа к рекламному кабинету

Первым делом вам необходимо предоставить доступ к рекламному кабинету Google Analytics или Яндекс.Метрика:

Если вы используете Google Analytics, предоставьте доступ для аккаунтов analytics@advcake.com и exportcake@core-planet-304613.iam.gserviceaccount.com (аккаунт для запроса данных из Google Analytics по API);

Если вы используете Яндекс.Метрику, предоставьте доступ для аккаунта metrika@advcake.com.

Подсказка

Если вы не можете предоставить доступ к этим сервисам, переходите к следующему шагу.

Шаг 2. Установка JS-кода на страницы сайта

Установить JS-код можно двумя способами:

  1. Напрямую на сайт (рекомендуется):

    • Код из примера ниже можно поставить как в <head>, так и в <body>, однако мы рекомендуем ставить его выше, чтобы другие скрипты, в случае их поломки, не повлияли на работу нашего кода.


  1. Через GTM (не рекомендуется, т.к. код, установленный через GTM, блокируется блокировщиками рекламы, что приводит к потере конверсий от 30% до 50%):

    • Если вы все же решили устанавливать наш код через GTM, необходимо выбрать триггер активации «Page View» или «DOM Ready». Триггер «Window Load» не подходит, так как другие скрипты, которые будут загружаться у пользователя могут заблокировать загрузку нашего скрипта.

Предупреждение

Необходимо отправлять все заказы с любыми источниками.

<script type="text/javascript" id="advcakeAsync">
    (function(a) {
        var b = a.createElement("script");
        b.async = 1;
        b.src = "//***.ru/"; // точный домен для интеграции будет вам передан вместе с кастомной инструкцией
        a = a.getElementsByTagName("script")[0];
        a.parentNode.insertBefore(b, a)
    })(document);
</script>

Примечание

Добавьте в заголовок CSP (если он используется) переданный вам домен.

Подсказка

После запуска интеграции вы можете настроить API для автоматической сверки с помощью XML-выгрузки (подробности в шаге 4).

Шаг 3. Установка кода, формирующего DATA-объект на страницы

Установите предоставленные ниже коды на соответствующие страницы вашего сайта:

1. Главная страница

<script>
    window.advcake_data = window.advcake_data || [];
    window.advcake_data.push({
        pageType: 1,
    });
</script>

2. Все остальные страницы

<script>
    window.advcake_data = window.advcake_data || [];
    window.advcake_data.push({
        pageType: 2,
    });
</script>

3. Страница созданного лида

<script>
    window.advcake_data = window.advcake_data || [];
    window.advcake_data.push({
        pageType: 6,
            user: {
                email: 'md5(user@email.ru)', // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
                type: 'old' // old, new - опционально, передавать пустое значение в кавычках (''), если тип пользователя неизвестен
            },
        leadInfo: {
            id: 'ac31004', // id заказа
            leadid: '123', // статический id (курса, продукта и т.п.)
            name: 'Кредит',
            totalPrice: 4800,
            coupon: 'HELLO'
        }
    });
</script>

Шаг 4. Настройка автоматической сверки с помощью XML-выгрузки

Подсказка

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

Нажмите, чтобы развернуть пример XML-выгрузки

<orders>
    <order>
        <orderId>order00001</orderId>
        <orderPrice>23000</orderPrice>
        <orderStatus>3</orderStatus>
        <description>Не понравилось качество</description>
        <coupon>DCKAL</coupon>
        <dateCreate>2015-10-14 12:04:00</dateCreate>
        <dateLastChange>2015-10-15 17:00:00</dateLastChange>
    </order>
    <order>
        <orderId>order00002</orderId>
        <orderPrice>51000</orderPrice>
        <orderStatus>2</orderStatus>
        <description>отказ</description>
        <coupon/>
        <dateCreate>2015-10-13 10:36:00</dateCreate>
        <dateLastChange>2015-10-15 17:03:00</dateLastChange>
    </order>
</orders>

Каждый час мы будем забирать из XML-выгрузки информацию о новых заказах/заявках и обновлять статусы по старым.

При передаче GET-параметров ?from=2019-01-01&to=2019-02-01 выдаются заказы за указанный период по дате создания заказа.

Расшифровка полей выгрузки

orderId

Номер заявки/лида/заказа

orderPrice

Стоимость заявки. Если понятие стоимости заявки отсутствует, данное поле можно исключить

orderStatus

Статус заявки. Данное поле можно передавать двумя способами:

Согласно нашим внутренним идентификаторам:

1 – Заявка в обработке;

2 – Заявка подтверждена;

3 – Заявка отменена.

Согласно вашим внутренним идентификаторам – в таком случае нам потребуется описание каждого статуса, например:

Принят в обработку – транслируем как статус 1;

Подтвержден – транслируем как статус 2;

Обработан – транслируем как статус 3.

leadName

Название лида

marketing_cat

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

Например:

Регистрация: marketing_cat: "1" – комиссия 5% от стоимости товара;

Оплаченный курс: marketing_cat: "2" – комиссия 2% от стоимости товара.

Примечание

Если у вас есть различные ставки по продуктам – обратитесь к вашему менеджеру за корректной разбивкой.

orderTrackid

Значение куки advcake_track_id на момент совершения заказа

description

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

coupon

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

clientType

Тип клиента: “новый”, “старый”. Может понадобиться для разделения ставок для новых/старых клиентов, а также для аналитики (передавать данное поле желательно, но не обязательно)

dateCreate

Дата создания заказа в формате Y-m-d H:i:s (например, 2022-09-08 17:16:25)

dateLastChange

Дата изменения статуса заказа в формате Y-m-d H:i:s (например, 2022-09-08 17:16:25)

Примечание

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