Black Seo Way
Тёмная сторона оптимизации

Определение уникальности посетителя средствами Cookie и JavaScript

29 Август 2011

Продолжая свои эксперименты с трафом и поведенческими факторами, решил я сделать следующую вещь:

Заходя на сайт (дорвей, в моём случае) юзер видит баннер, который перекрывает всю страницу. Нажимает на «закрыть», баннер закрывается, ставится кука, пользователь больше не видит его в течении месяца и спокойно путешествует по дору, кликает на страницы, редиректа на платник пока не происходит.

Итак, решение вопроса:

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 (это первый пункт). Я про это забыл и долго думал, почему же не получается, как надо. А так как изначально блок с рекламой будет невидимым, то боятся его появления не нужно. Оно вылезет, если куки не будет. Вот так.

Ну в принципе вот и всё, чем хотел поделиться. Вам решать, для чего это всё может пригодится :) Если будете экспериментировать, советую совместить эту систему с счётчиком кликов, про который я уже писал.

  • Askar

    нужно попробовать, спс

  • http://yarikseo.ru Ярик

    Пробуй, спрашивай если чё :)

  • Cheazre

    С прошлого поста про дорвеи под ССМ прошло уж 1,5 года, с тех пор мало что изменилось?
    Начал делать доры,но пока нет конкретного представления о ру дорах, мб напишешь обновленный пост? Наверняка не много изменилось. Заранее спасибо.

Топовые посты

Контакты

  • ICQ: 485191792
  • Skype: msp-yarik
  • Mail: yarikseo@gmail.com
  • Лента в твиттере
  • Блоги, которые я читаю

    Прочее



    Копиврайт © 2009 .. 2010 .. 2011
    Black Seo Way yarikseo.ru. Lets go!