Интеграция без cookie с Shopify
Шаг 1: Создать оффер
Для отслеживания без cookie обязательно включать параметр click ID и токен в URL предложения, а также на всех целевых страницах при создании предложения в панели Offer18.
https://shopurl.com/?<YOUR-CLICK-ID-PARAMETER>={tid}Шаг 2: Размещение кода
В админке Shopify перейдите в "Настройки"
Перейдите в "События клиентов" » "Добавить пользовательский пиксель"
Введите "Имя пикселя" и затем нажмите "Добавить пиксель"

Удалите существующее содержимое из раздела "Код"
Теперь вставьте приведённый ниже скрипт в секцию "Код"
analytics.subscribe("page_viewed", (event) => {
const sdkScript = document.createElement('script');
sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
sdkScript.setAttribute('async', '');
document.head.appendChild(sdkScript);
sdkScript.onload = function () {
// window.Offer18WebSDK.activateDebugMode();
window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
};
sdkScript.onerror = function () {
console.error('Failed to load the Offer18 Web SDK.');
};
});
analytics.subscribe('checkout_completed', (event) => {
var discountString;
var totalAmount = event.data.checkout.totalPrice.amount;
var orderID = event.data.checkout.order.id;
var currency = event.data.checkout.currencyCode;
var allDiscountCodes = event.data.checkout.discountApplications.map((discount) => { if (discount.type === 'DISCOUNT_CODE') { return discount; } });
if (allDiscountCodes.length > 10) { discountString = ''; } else { discountString = allDiscountCodes.map((item) => item.title).join(','); }
const sdkScript = document.createElement('script');
sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
sdkScript.setAttribute('async', '');
document.head.appendChild(sdkScript);
sdkScript.onload = function () {
// window.Offer18WebSDK.activateDebugMode();
window.Offer18WebSDK.trackConversion({
domain: '<YOUR-POSTBACK-DOMAIN>',
accountId: '<YOUR-ACCOUNT-ID>',
offerId: '<CAMPAIGN-ID>',
postbackType: 'ajax',
coupon: `${discountString}`,
conversionData: {
sale: `${totalAmount}`,
currency: `${currency}`,
adv_sub5: `${orderID}`,
}
});
};
sdkScript.onerror = function () {
console.error('Failed to load the Offer18 Web SDK.');
};
});Убедитесь, что заполнители в скрипте заменены на фактическую информацию для кампании. Заполнители объяснены в таблице ниже.
Заполнитель
Пояснение
<YOUR-CLICK-ID-PARAMETER>
Это параметр clickid используемый при создании предложения.
<YOUR-POSTBACK-DOMAIN>
Домен для постбэка пользователя. (domain)
<YOUR-ACCOUNT-ID>
ID аккаунта Offer18 пользователя. (accountId)
<CAMPAIGN-ID>
ID предложения. (offerId)
В случае Shopify значение 'postbackType' 'должен быть' 'ajax'
Перейдите к Сохранить

Пользовательские опции оформления заказа
Если вы используете любую из перечисленных ниже кастомных форм оформления заказа, вы должны использовать соответствующий скрипт конверсии, специфичный для этого стороннего оформления.
Shiprocket
analytics.subscribe("page_viewed", (event) => {
const sdkScript = document.createElement('script');
sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
sdkScript.setAttribute('async', '');
document.head.appendChild(sdkScript);
sdkScript.onload = function () {
// window.Offer18WebSDK.activateDebugMode();
window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
};
sdkScript.onerror = function () {
console.error('Failed to load the Offer18 Web SDK.');
};
});
analytics.subscribe('PurchaseSR', (event) => {
var totalAmount = event.customData.value;
var orderID = event.customData.transaction_id;
const sdkScript = document.createElement('script');
sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
sdkScript.setAttribute('async', '');
document.head.appendChild(sdkScript);
sdkScript.onload = function () {
// window.Offer18WebSDK.activateDebugMode();
window.Offer18WebSDK.trackConversion({
domain: '<YOUR-POSTBACK-DOMAIN>',
accountId: '<YOUR-ACCOUNT-ID>',
offerId: '<CAMPAIGN-ID>',
postbackType: 'ajax',
coupon: `${discountString}`,
conversionData: {
sale: `${totalAmount}`,
adv_sub5: `${orderID}`,
}
});
};
sdkScript.onerror = function () {
console.error('Failed to load the Offer18 Web SDK.');
};
});GoKwik
analytics.subscribe("page_viewed", (event) => {
const sdkScript = document.createElement('script');
sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
sdkScript.setAttribute('async', '');
document.head.appendChild(sdkScript);
sdkScript.onload = function () {
// window.Offer18WebSDK.activateDebugMode();
window.Offer18WebSDK.initializeConversion('<YOUR-CLICK-ID-PARAMETER>');
};
sdkScript.onerror = function () {
console.error('Failed to load the Offer18 Web SDK.');
};
});
analytics.subscribe('gokwik', (event) => {
var totalAmount = eventData.customData.total_price;
var orderID = eventData.customData.order_name;
const sdkScript = document.createElement('script');
sdkScript.setAttribute('src', 'https://web-resources.offer18.net/sdk/web/WebSDK.js');
sdkScript.setAttribute('async', '');
document.head.appendChild(sdkScript);
sdkScript.onload = function () {
// window.Offer18WebSDK.activateDebugMode();
window.Offer18WebSDK.trackConversion({
domain: '<YOUR-POSTBACK-DOMAIN>',
accountId: '<YOUR-ACCOUNT-ID>',
offerId: '<CAMPAIGN-ID>',
postbackType: 'ajax',
coupon: `${discountString}`,
conversionData: {
sale: `${totalAmount}`,
adv_sub5: `${orderID}`,
}
});
};
sdkScript.onerror = function () {
console.error('Failed to load the Offer18 Web SDK.');
};
});Сбор данных
Вы можете собирать данные конверсий, используя различные параметры постбэка Offer18
Данные конверсии
Параметр постбэка Offer18
Переменная для использования
Валюта
currency
`${currency}`Общая сумма заказа
sale
`${totalAmount}`ID заказа
adv_sub5
`${orderID}`Скидочные купоны
coupon
`${discountString}`Режим отладки
Пользователь может включить режим отладки, раскомментировав 'window.Offer18WebSDK.activateDebugMode();'

Последнее обновление
Это было полезно?