

Продолжая свои эксперименты с трафом и поведенческими факторами, решил я сделать следующую вещь:
Заходя на сайт (дорвей, в моём случае) юзер видит баннер, который перекрывает всю страницу. Нажимает на «закрыть», баннер закрывается, ставится кука, пользователь больше не видит его в течении месяца и спокойно путешествует по дору, кликает на страницы, редиректа на платник пока не происходит.
Итак, решение вопроса:
1) Сперва устанавливаем функции, которые будут использоваться. Это установка куки, чтение куки, проверка уникальности
<script language="JavaScript" type="text/javascript">
// Установка куки (Имя, значение, Возраст, дальше хуйня)
function setCookie(name, value, expires, path, domain, secure) {
if (!name || !value) return false;
var str = name + '=' + encodeURIComponent(value);
if (expires) str += '; expires=' + expires.toGMTString();
if (path) str += '; path=' + path;
if (domain) str += '; domain=' + domain;
if (secure) str += '; secure';
document.cookie = str;
return true;
}
// Получение куки по её имени
function getCookie(name) {
var pattern = "(?:; )?" + name + "=([^;]*);?";
var regexp = new RegExp(pattern);
if (regexp.test(document.cookie))
return decodeURIComponent(RegExp["$1"]);
return false;
}
// Функция закрытия баннера
function closebanner(){document.getElementById('ID блока').style.display = 'none';}
// Провяем, есть ли кука. Если нет - показываем блок и ставим куку
var vodka = getCookie('имя куки');
if (!vodka) {
var d = new Date();
d.setMonth(d.getMonth() + 1); // 1 месяц ставим
setCookie('имя куки', 'from+russia+with+love', d); // Привет Амерам
document.getElementById('ID блока').style.display = 'block';
}
</script>
Все вроде понятно. Данные не забываем менять на свои. Едем дальше.
2) Сам код в HTML
<style type="text/css"> /* Фиксируем блок в верхнему краю 100%-100% */ #ID блока{text-align:center;position:fixed;top:0px;left:0px;width:100%;height:100;} /* для удобства подвинул вниз баннер */ #ID блока img {margin-top:100px;border:0px;} </style> <div id="ID блока" style="display:none;"><a href="javascript:close();"><img src="http://banner-url.com"></a></div>
Изначально ставим display:none. Объясню для чего это. К примеру если юзер будет повторно заходить на сайт, либо просто будет кликать по ссылкам и бегать по ним, окно будет появляться и сразу же исчезать. Ну такое лучше не допускать.
Далее, самое главное, на чём я сегодня потерял 2 с лишним часа. Не забывайте, что браузер обрабатывает код по мере его считывания. По этому порядок должен быть такой, сначала вывод блока (то есть пункта номер 2), а затем обработка и проверка кук на JS (это первый пункт). Я про это забыл и долго думал, почему же не получается, как надо. А так как изначально блок с рекламой будет невидимым, то боятся его появления не нужно. Оно вылезет, если куки не будет. Вот так.
Ну в принципе вот и всё, чем хотел поделиться. Вам решать, для чего это всё может пригодится
Если будете экспериментировать, советую совместить эту систему с счётчиком кликов, про который я уже писал.

Лента в твиттере