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

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

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

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

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

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

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

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

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

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

    • User-Agent;

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

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

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

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

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

При интеграции через XML вы создаете XML-файл определенной структуры, в который необходимо передавать данные о заказах, совершенных пользователями на вашем сайте, пришедшими по меткам CPA-канала. Каждый час к этому файлу обращается сервер Adv.Cake и выгружает из него данные по новым действиям в статистику.

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

Подсказка

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

Примечание

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

Содержание:

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

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

  3. Настройка дополнительных параметров;

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

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

Шаг 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 (если он используется) переданный вам домен.

Шаг 3. Настройка дополнительных параметров

По умолчанию трекинг-ссылка Adv.Cake выглядит так:

?utm_source=advcake&utm_medium=cpa&utm_campaign={partner}&utm_content={webmaster}&advcake_params={click_id}

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

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

При переходе на сайт пользователю выставляются две куки кодом Adv.Cake:

  1. advcake_track_id – случайная последовательность из 32-х букв и цифр.

  2. advcake_track_url – полная ссылка переход на сайт с utm_source=advcake.

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

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

<orders>
    <order>
        <orderId>order00001</orderId>
        <orderPrice>23000</orderPrice>
        <orderStatus>3</orderStatus>
        <orderTrackid>7d12ff1fd3dd5b9a61dc1f42b927264c</orderTrackid>
        <description>Не понравилось качество</description>
        <coupon>DCKAL</coupon>
        <dateCreate>2015-10-14 12:04:00</dateCreate>
        <dateLastChange>2015-10-15 17:00:00</dateLastChange>
        <url>http://site.ru/?utm_source=advcake&advcake=1&utm_medium=cpa&utm_campaign=admitad&utm_content=263116&utm_term=2</url>
    </order>
    <order>
        <orderId>order00002</orderId>
        <orderPrice>51000</orderPrice>
        <orderStatus>2</orderStatus>
        <orderTrackid>7d12ff1fd3dd5b9a61dc1f42b927264c</orderTrackid>
        <description>отказ</description>
        <coupon/>
        <dateCreate>2015-10-13 10:36:00</dateCreate>
        <dateLastChange>2015-10-15 17:03:00</dateLastChange>
        <url>http://site.ru/?utm_source=advcake&utm_medium=cpa&utm_campaign=admitad&utm_content=263116&advcake_params=1</url>
    </order>
</orders>

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

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

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

orderId

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

orderPrice

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

orderStatus

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

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

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

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

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

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

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

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

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

description

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

coupon

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

clientType

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

orderTrackid

Значение куки advcake_track_id на момент совершения заказа (см. шаг 3)

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)

url

Значение куки advcake_track_url на момент совершения заказа (см. шаг 3)

Примечание

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

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

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

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

<script>
    window.advcake_data = window.advcake_data || [];
    window.advcake_data.push({
        pageType: 1,
            user: {
                email: 'md5(user@email.ru)' // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
            }
    });
</script>

2. Страница просмотра лида

<script>
    window.advcake_data = window.advcake_data || [];
    window.advcake_data.push({
        pageType: 2,
            user: {
                email: 'md5(user@email.ru)' // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
            },
        currentLead: {
            name: "Регистрация"
        }
    });
</script>

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

<script>
    window.advcake_data = window.advcake_data || [];
    window.advcake_data.push({
        pageType: 3,
            user: {
                email: 'md5(user@email.ru)' // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
            },
        currentLead: {
            name: 'Кредит'
        }
    });
</script>

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

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

5. Страница списка лидов

<script>
    window.advcake_data = window.advcake_data || [];
    window.advcake_data.push({
        pageType: 5,
            user: {
                email: 'md5(user@email.ru)' // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
            },
        leads: [{
            name: 'Регистрация',
        }, {
            name: 'Кредит',
        }]
    });
</script>