Привет! Сразу скажу, что речь идёт о версии cpatracker, которая ставится на свой хостинг.
Итак, чтобы сделать javascript-редирект в cpa tracker, надо каждый день…
Читать далее JS-редирект в CPATracker (добавляем возможность)
Привет! Сразу скажу, что речь идёт о версии cpatracker, которая ставится на свой хостинг.
Итак, чтобы сделать javascript-редирект в cpa tracker, надо каждый день…
Читать далее JS-редирект в CPATracker (добавляем возможность)
Теперь поговорим о технической реализации. Сам скрипт ищи в конце поста. Про использование куки для определения того, куда редиректить, я уже писал в посте «Редирект новых и старых посетителей в разные места, редирект по номеру посещения«.
Для определения псевдослучайного числа от 1 до 100 на основе ip-адреса напишем функцию:
function getIPNum() {
$ip = ip2long($_SERVER["REMOTE_ADDR"]);
$sto = pow($ip + 57, 0.7)%100 + 1;
return $sto;
}
Адреса лендингов будем передавать в массиве со значениями. Каждой ссылке присвоим вероятность выпадания в процентах (а если точнее – умножим на сто).
Например,
$arr = array(
"http://google.com" => 30,
"http://yandex.ru" => 30,
"http://mail.ru" => 40);
Тут гугл откроется в 30% случаев, яндекс тоже в 30, а мэйл в 40 процентах. Скажу сразу, значение у последней ссылки может быть любым, и если сумма чисел будет меньше сотни, переход всё равно осуществится по последней ссылке. Ну и ссылок сколько угодно можно с разными вероятностями. Удобно?
Теперь функция выбора лендинга на основе числа от 1 до 100:
function chooseLink($arr, $num) { $rate = 0; while (($item = current($arr))!== FALSE) { $rate += $item; if ($num <= $rate) return key($arr); next($arr); } return key($arr); }
Итак, уже получаем адрес для ленда на основе ip:
$arr = array( "http://google.com" => 30, "http://yandex.ru" => 30, "http://mail.ru" => 40); function getIPNum() { $ip = ip2long($_SERVER["REMOTE_ADDR"]); $sto = pow($ip + 57, 0.7)%100; return $sto; } function chooseLink($arr, $num) { $rate = 0; while (($item = current($arr))!== FALSE) { $rate += $item; if ($num <= $rate) return key($arr); next($arr); } return key($arr); } $link = chooseLink($arr, getIPNum());
Хорошо, сделали. Но! Как мы помним из первой части, всё же сначала при посещении проверяем куки.
Что храним в куки? А давайте сразу ссылку туда зафигачим!
Итого,
if (isset($_COOKIE['keks']))
$link=$_COOKIE['keks'];
else {
$link = chooseLink($arr, getIPNum());
SetCookie("keks",$link,time()+3600*24*365*10);
}
Ну и в самом контенте ссылки на лендинг делать уже как <a href="<?php echo $link; ?>">йа ссылко</a>
Итак, при заходе посетителя
Весь код для выбора ссылки:
30,
"http://yandex.ru" => 30,
"http://mail.ru" => 40);
function getIPNum() {
$ip = ip2long($_SERVER["REMOTE_ADDR"]);
$sto = pow($ip + 57, 0.7)%100;
return $sto;
}
function chooseLink($arr, $num) {
$rate = 0;
while (($item = current($arr))!== FALSE) {
$rate += $item;
if ($num <= $rate) return key($arr);
next($arr);
}
return key($arr);
}
if (isset($_COOKIE['keks']))
$link=$_COOKIE['keks'];
else {
$link = chooseLink($arr, getIPNum());
SetCookie("keks",$link,time()+3600*24*365*10);
}
?>
Ололо
Йа текст лендинга
А йа ссылко
...
Привет.
Если тебе говорят, что лучший вариант определять гео это JavaScript (допустим, через API Яндекса), – не верь. Да, это может быть немного точнее, но в скорости и наличии определённого процента несрабатываний ты проиграешь. Читать далее Точное и быстрое определение страны на PHP
Йоу.
Нужно определить, принадлежит ли IP посетителя к определённому списку диапазонов, и направить в нужное место в зависимости от этого?
Недавно мы добавляли все метки в редирект на php.
Сейчас сделаем то же самое на JavaScript, при этом метки добавим к абсолютно всем ссылкам на странице. Читать далее Дописываем метки ко всем ссылкам на странице с помощью JavaScript
Раз уж начал про редиректы…
Цель. Написать скрипт, который будет:
Что делаем? Ставим пользователю куки при каждом новом посещении.
Назовём наш куки keks. Просто так. Итак,
if (isset($_COOKIE['keks'])) $i=$_COOKIE['keks']+1; else $i=1; SetCookie("keks",$i,time()+3600*24*365*10);
В переменную $i записываем существующее значение куки плюс один. Если такого куки нет (первый заход) – то прописываем единицу. Следующей строчкой ставим/обновляем куки. В данном примере – на 10 лет, то есть фактически навсегда. Читать далее Редирект новых и старых посетителей в разные места, редирект по номеру посещения
Итак, допустим, у нас есть скрипт http://site.ru/script.php. Он должен отправлять посетителей на http://site2.ru – конечный лендинг/партнёрскую ссылку/что угодно.
Мы хотим лить трафик с различными параметрами на скрипт. Пишем в нём стандартный редирект:
<?php header("location: http://site2.ru"); ?>
Редирект идёт, но метки не передаются. Т.е. при переходе на http://site.ru/script.php?utm_source=marketgid мы теряем параметр utm_source. Читать далее Передаём метки через редирект в первозданном виде
Итак, есть два хороших варианта: с помощью .htaccess и с помощью php.
Читать далее Разделяем мобильный и десктопный трафик