javascript — код отслеживания дедупликации заказов woocommerce

В woocommerce мы рекламируем наши продукты, Admitad филиалы.
До сих пор я использую код отслеживания из этого ответа (спасибо @LoicTheAztec):
Элементы заказа в коде отслеживания JS на странице Заказ получен в Woocommerce

И этот код работает отлично …


Дедупликация заказа

Теперь мне нужна помощь с дедупликацией заказа, и вот что Admitad дал нам:

«Если вы работаете только с Admitad, используйте значение по умолчанию для параметра дедупликации и пропустите этот шаг.
Если вы работаете с несколькими партнерскими сетями, вы должны настроить дедупликацию заказов на своей стороне. Определите значение переменной ADMITAD.Invoice.broker, чтобы мы могли понять, к какому источнику принадлежит ордер. Значение adm указывает заказы, которые принадлежат Admitad, они будут отслеживаться и попадать в нашу статистику. Заказы с другими значениями отслеживаться не будут. «

Пример параметров дедупликации других партнерских сетей:

AWIN.Tracking.Sale.channel = "adm"; // http://wiki.awin.com/index.php/Advertiser_Tracking_Guide/De-duplication

window.criteo_q.push({ event: "trackTransaction", deduplication: "adm", <...>); // https://support.criteo.com/hc/en-us/articles/205573701-Deduplication-Parameter

Ниже приведен пример использования файла cookie для хранения источника последнего клика. Источник кликов определяется на основе значения параметра GET, когда пользователь заходит на сайт. Файл cookie сохраняется определенное количество дней, значение cookie используется для определения параметра дедупликации.

// name of the cookie that stores the source

var cookie_name = 'deduplication_cookie';

// cookie lifetime

var days_to_store = 90;


// a function to get the source from the GET parameter

getSourceParamFromUri = function () {

// in the example we use the GET parameter deduplication_channel to define
the source

// if you use another parameter, specify its name in a regular expression

return (/deduplication_channel=([^&]+)/.exec(document.location.search) ||
[])[1] || '';

};


// a function to get the source from the cookie named cookie_name

getSourceCookie = function () {

var matches = document.cookie.match(new RegExp(

"(?:^|; )" + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,
'\\$1') + "=([^;]*)"
));

return matches ? decodeURIComponent(matches[1]) : undefined;

};


// a function to set the source in the cookie named cookie_name

setSourceCookie = function () {

var param = getSourceParamFromUri();

if (!param) { return; }

var period = days_to_store * 60 * 60 * 24 * 1000; // in seconds

var expiresDate = new Date((period) + +new Date);

var cookieString = cookie_name + '=' + param + '; path=/; expires=' +
expiresDate.toGMTString();

document.cookie = cookieString;

document.cookie = cookieString + '; domain=.' + location.host;

};


// set cookie

setSourceCookie();


// define a channel for Admitad

if (getSourceCookie(cookie_name)) {

ADMITAD.Invoice.broker = getSourceCookie(cookie_name);

} else {

ADMITAD.Invoice.broker = 'na';

}

Кто-нибудь может помочь нам создать и интегрировать с нашим кодом отслеживания эту дедупликацию заказа?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector