Пример инструкции Pixel Ecom
Что происходит во время интеграции?
Наш код отслеживает историю действий пользователя на сайте, в том числе для выявления нарушений правил оффера вебмастерами (например, cookie-stuffing).
В процессе интеграции код устанавливает обезличенные файлы cookie, которые фиксируют путь пользователя и изменения источника трафика.
Мы собираем и используем следующие данные:
-
Параметры URL перехода:
- Cookie — обезличенный идентификатор пользователя;
- Cookie — обезличенный идентификатор сессии;
- Cookies — параметры последнего перехода (полный URL и UTM-метки раздельно).
-
Параметры браузера:
- User-Agent;
- Размер экрана;
- Размер окна браузера;
- Открытие страницы в iframe;
- URL текущей страницы и её реферер.
Также необходимо сформировать DATA-объект с информацией о покупке.
Мы не собираем личные данные и используем только те файлы cookie, которые настраиваем сами.
В СРА-канале используется модель атрибуции «Last Paid Click»: заказ присваивается платному источнику, который был последним в истории переходов перед оформлением заказа.
Это пример инструкции по интеграции Adv.Cake. Инструкцию с актуальными данными для вашего оффера передаст ваш менеджер.
Шаг 1. Предоставление доступа к рекламному кабинету
Предоставьте доступ к рекламному кабинету Google Analytics или Яндекс.Метрика:
-
Если вы используете Google Analytics, откройте доступ для аккаунтов analytics@advcake.com и exportcake@core-planet-304613.iam.gserviceaccount.com (аккаунт для запроса данных из Google Analytics по API).
-
Если вы используете Яндекс.Метрику, откройте доступ для аккаунта metrika@advcake.com.
Если предоставить доступ к этим сервисам невозможно, переходите к следующему шагу.
Шаг 2. Установка JS-кода на страницы сайта
Установите JS-код одним из двух способов:
-
Напрямую на сайт (рекомендуется):
- Код можно разместить как в
<head>, так и в<body>. Рекомендуем ставить его выше других скриптов — так поломка сторонних скриптов не нарушит работу нашего кода.
- Код можно разместить как в
-
Через 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,
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 в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
},
currentCategory: {
id: 441,
name: 'Обувь'
},
currentProduct: {
id: 3247,
name: 'Кроссовок Левый',
price: 30000
},
basketProducts: [{
id: 3247,
name: 'Кроссовок Левый',
price: 30000,
quantity: 1,
categoryId: 411,
categoryName: 'Обувь'
}, {
id: 3247,
name: 'Кроссовок Правый',
price: 30000,
quantity: 2,
categoryId: 411,
categoryName: 'Обувь'
}]
});
</script>3. Страница каталога/категории/подкатегории
<script>
window.advcake_data = window.advcake_data || [];
window.advcake_data.push({
pageType: 3,
user: {
email: 'md5(user@email.ru)' // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
},
currentCategory: {
id: 441,
name: 'Обувь'
},
products: [{
id: 001,
name: 'Черная кеда',
price: 12000
}, {
id: 002,
name: 'Серый кед',
price: 13000
}],
basketProducts: [{
id: 3247,
name: 'Кроссовок Левый',
price: 30000,
quantity: 1,
categoryId: 411,
categoryName: 'Обувь'
}, {
id: 3247,
name: 'Кроссовок Правый',
price: 30000,
quantity: 2,
categoryId: 411,
categoryName: 'Обувь'
}]
});
</script>4. Страница корзины
<script>
window.advcake_data = window.advcake_data || [];
window.advcake_data.push({
pageType: 4,
user: {
email: 'md5(user@email.ru)' // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
},
basketProducts: [{
id: 3247,
name: 'Кроссовок Левый',
price: 30000,
quantity: 1,
categoryId: 411,
categoryName: 'Обувь'
}, {
id: 3247,
name: 'Кроссовок Правый',
price: 30000,
quantity: 2,
categoryId: 411,
categoryName: 'Обувь'
}]
});
</script>5. Страница оформления заказа (после корзины и до страницы «Спасибо за заказ»)
<script>
window.advcake_data = window.advcake_data || [];
window.advcake_data.push({
pageType: 5,
user: {
email: 'md5(user@email.ru)' // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
},
basketProducts: [{
id: 3247,
name: 'Кроссовок Левый',
price: 30000,
quantity: 1,
categoryId: 411,
categoryName: 'Обувь'
}, {
id: 3247,
name: 'Кроссовок Правый',
price: 30000,
quantity: 2,
categoryId: 411,
categoryName: 'Обувь'
}]
});
</script>6. Страница оформленного заказа («Спасибо за заказ»)
<script>
window.advcake_data = window.advcake_data || [];
window.advcake_data.push({
pageType: 6,
user: {
email: 'md5(user@email.ru)', // email в виде хеша или уникальный идентификатор, если не передается, данное поле можно оставить пустым
type: 'old' // old, new - опционально, передавать пустое значение в кавычках (''), если тип пользователя неизвестен
},
basketProducts: [{
id: 3247,
name: 'Кроссовок Левый',
price: 30000,
quantity: 1,
categoryId: 411,
categoryName: 'Обувь'
}, {
id: 3247,
name: 'Кроссовок Правый',
price: 30000,
quantity: 2,
categoryId: 411,
categoryName: 'Обувь'
}],
orderInfo: {
id: 'ac31004', // уникальный идентификатор заказа, используемый при сверке
totalPrice: 90000, // сумму заказа передавать без учета доставки
coupon: 'SKIDKA100' // опционально, передавать пустое значение в кавычках (''), если заказ без купона или данный функционал отсутствует на сайте
}
});
</script>Шаг 4. Настройка автоматической сверки с помощью XML-выгрузки
Этот шаг необязателен для старта — настроить автоматическую сверку можно позже.
Каждый час мы забираем из XML-выгрузки данные о новых заказах и обновляем статусы существующих.
При передаче GET-параметров ?from=2019-01-01&to=2019-02-01 выгружаются заказы за указанный период по дате создания.
Расшифровка полей выгрузки
| Поле | Описание |
|---|---|
orderId | Номер заявки/лида/заказа |
orderPrice | Стоимость заявки. Если понятие стоимости заявки отсутствует, поле можно исключить |
orderStatus | Статус заявки. Поле можно передавать двумя способами: Согласно нашим внутренним идентификаторам: 1 – Заявка в обработке;2 – Заявка подтверждена;3 – Заявка отменена.Согласно вашим внутренним идентификаторам — в таком случае нам потребуется описание каждого статуса, например: Принят в обработку – транслируем как статус 1;Подтвержден – транслируем как статус 2;Обработан – транслируем как статус 3. |
orderBasket | Если ставка вебмастеру зависит от категории товара необходимо передавать также обновленный список товаров.orderBasket – состав корзины в формате JSON, например:[ { "id": 1107239, "name": "Куртка детская Rip Curl Small Puffer Jacket Surf The Web", "price": 4580, "quantity": 1, "marketing_cat": "1", "categoryId": "164", "categoryName": "одежда детская" }, { "id": 1047488, "name": "Шапка носок Armour Classic Beanie Blue", "price": 490, "quantity": 1, "marketing_cat": "2", "categoryId": "164", "categoryName": "одежда детская" } ] – в поле price передавать стоимость за единицу товара;– в поле quantity передавать количество данного товара в корзине;– в поле marketing_cat передаётся маркетинговая категория товара: каждому товару присваивается номер категории, по которому рассчитывается комиссия (поле необязательно, если разделения комиссии по категориям нет);Например: Одежда: marketing_cat: "1" – комиссия 5% от стоимости товара;Обувь: marketing_cat: "2" – комиссия 2% от стоимости товара.Примечание: если вы используете другой вариант разделения товаров по категориям, сообщите нам. – в поля categoryId, categoryName передавать значения из товарного фида. |
description | Причина отмены заявки (желательно, но не обязательно) |
coupon | Купон/промокод, использованный в заказе. Если промокоды не используются, поле можно исключить |
clientType | Тип клиента: old (старый), new (новый). Нужен для разделения ставок и аналитики (желательно, но не обязательно) |
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) |
Пример значения orderBasket:
[
{
"id": "1107239", // тип данных: string
"name": "Куртка детская Rip Curl Small Puffer Jacket Surf The Web", // тип данных: string
"price": 4580, // тип данных: number
"quantity": 1, // тип данных: number
"marketing_cat": "1", // тип данных: string
"categoryId": "164", // тип данных: string
"categoryName": "одежда детская" // тип данных: string
},
{
"id": "1047488", // тип данных: string
"name": "Шапка носок Armour Classic Beanie Blue", // тип данных: string
"price": 490, // тип данных: number
"quantity": 1, // тип данных: number
"marketing_cat": "2", // тип данных: string
"categoryId": "164", // тип данных: string
"categoryName": "одежда детская" // тип данных: string
}
]Поля массива:
price— стоимость за единицу товара;quantity— количество товара в корзине;marketing_cat— маркетинговая категория (необязательно, если нет разделения комиссии по категориям);categoryId,categoryName— значения из товарного фида.
Если у вас есть дополнительные идентификаторы по заказу, создайте дополнительные поля и сообщите нам их названия и передаваемые параметры.
Вам помогла эта страница?
Последнее изменение: 2026-01-06