В 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';
}
Кто-нибудь может помочь нам создать и интегрировать с нашим кодом отслеживания эту дедупликацию заказа?
Задача ещё не решена.
Других решений пока нет …