Integración sin cookies con Shopify
Paso 1 : Crear Oferta
Para el seguimiento sin cookies, es obligatorio incluir el parámetro click ID y el token en la URL de la oferta y también en todas las páginas de destino al crear una oferta en el panel de Offer18.
https://shopurl.com/?<TU-PARAMETRO-CLICK-ID>={tid}
Paso 2 : Colocación del código
Desde el administrador de Shopify, vaya a "Configuración"
Navegar a "Eventos de cliente" » "Agregar píxel personalizado"
Ingrese el "Nombre del píxel" y luego haga clic en "Agregar píxel"
Elimine el contenido existente de la "Código" sección
Ahora, coloque el script que se muestra a continuación en la "Código" sección
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.');
};
});
Asegúrese de que los marcadores de posición en el script se reemplacen con la información real de la campaña. Los marcadores de posición se explican en la tabla que se proporciona a continuación.
Marcador de posición
Explicación
<YOUR-CLICK-ID-PARAMETER>
Este es el clickid
parámetro utilizado al crear la oferta.
<YOUR-POSTBACK-DOMAIN>
Dominio de postback del usuario. (domain)
<YOUR-ACCOUNT-ID>
ID de cuenta de Offer18 del usuario. (accountId)
<CAMPAIGN-ID>
Id de la oferta. (offerId)
En el caso de Shopify 'postbackType' debe ser 'ajax'
Ir a Guardar

Opciones de pago personalizadas
Si está utilizando cualquiera de las pasarelas de pago personalizadas listadas a continuación, debe usar el script de conversión correspondiente específico para esa pasarela de terceros.
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.');
};
});
Recopilar datos
Puede recopilar datos de conversión usando varios parámetros de postback de Offer18
Datos de conversión
Parámetro de Postback de Offer18
Variable a usar
Moneda
currency
`${currency}`
Importe total del pedido
venta
`${totalAmount}`
ID del pedido
adv_sub5
`${orderID}`
Cupones de descuento
cupón
`${discountString}`
Modo de depuración
El usuario puede habilitar el modo de depuración descomentando 'window.Offer18WebSDK.activateDebugMode();'

Última actualización
¿Te fue útil?