Таким образом, на сайте должен быть расположен код, обеспечивающий регистрацию перехода от CPA сети - сохранение параметров, переданных при переходе с привязкой их к посетителю для последующей передачи CPA сети информации о регистрации желаемого действия.
Код, обеспечивающий вышеописанный функционал, может быть интегрирован в систему Google Tag Manager, при условии, что в GTM уже настроено получение переменной, содержащей ID заказа, а также переменной, содержащей сумму заказа (или количество единиц товара в заказе). Если данные условия выполняются, в GTM необходимо добавить 2 тега:
1. Тип - пользовательский HTML, установить на все страницы сайта.
<script type="application/javascript">
(function() {
function c(e) {
var d = RegExp("[?&]" + e + "=([^&]*)").exec(window.location.search);
return d && decodeURIComponent(d[1].replace(/\+/g, " "))
}
function a(f, g) {
var e = new Date(new Date().getTime() + 1000 * 3600 * 24 * 30);
var domain = window.location.hostname.replace(/^(www\.)?(.+)$/i, '$2');
document.cookie = f + "=" + g + "; domain=."+domain+"; path=/; expires=" + e.toUTCString()
}
function b() {
if (window.location.href) {
var d = c("utm_source");
var e = c("SAuid");
if (d != null && d.length) a("utm_source", d);
if (e != null && e.length) a("SAuid", e);
}
}
b();
})();
</script>
Эти параметры извлекаются из URL по которому посетитель перешёл на сайт рекламодателя и фиксируются вышеописанным кодом на 30 дней (зависит от параметра кампании «время жизни cookie») для последующей передачи CPA сети SellAction информации о регистрации действия.
2. Тип - пользовательский HTML, установить на страницу, что показывается клиенту после оформления заказа.
<script type="application/javascript">
(function() {
var params = {
order_id: {{ORDER_ID}},
lastCookieWin: true,
tariffs: {}
}
params.tariffs[{{TARIFF_ID}}] = {{TARIFF_PARAM}};
function d(g) {
var f = g + '=';
var e = document.cookie.split(';');
for (var h = 0; h < e.length; h++) {
var j = e[h].trim();
if (j.indexOf(f) == 0) {
return j.substring(f.length, j.length)
}
}
return ''
}
function a(g) {
var tp = [];
for (var p in g.tariffs) {
if (g.tariffs.hasOwnProperty(p)) {
tp.push(p + '_' + g.tariffs[p]);
}
}
var t_str = tp.join('-');
var f = 'id=' + g.id + '-' + t_str + '&order_id=' + g.order_id
var e = new Image();
e.src = g.schema + '://sellaction.net/reg.php?' + f;
return e
}
if (params.lastCookieWin == true && !/sellaction/i.test(d('utm_source'))) return;
params.id = d("SAuid");
if (String(params.id).length > 7) {
params.schema = /^https:/.test(document.location.href) ? 'https' : 'http';
a(params);
}
})();
</script>
params.tariffs[{{TARIFF_ID_1}}] = {{TARIFF_PARAM_1}};
params.tariffs[{{TARIFF_ID_2}}] = {{TARIFF_PARAM_2}};
params.tariffs[{{TARIFF_ID_3}}] = {{TARIFF_PARAM_3}};