Как захватить взаимодействие пользователя с сайтом? - PullRequest
2 голосов
/ 26 августа 2009

Как я могу зафиксировать взаимодействие с пользователем на сайте? Сколько ссылок щелкнул пользователь. Откуда пришел пользователь. Я хочу создать свою собственную логику. Я не хочу использовать какой-либо инструмент статистики. Как мне это сделать?

Заранее спасибо

Ответы [ 7 ]

2 голосов
/ 26 августа 2009

Место, откуда пришел пользователь, вы можете получить по рефереру (document.referrer).
И если у вас есть какой-либо сеанс или отметка пользователя (по файлам cookie), вы можете проверить, по каким ссылкам щелкают, фиксируя событие onclick. Но не ставьте onclick на каждую ссылку, просто используйте технику захвата событий. В jQuery это будет:

$('a') 
    .livequery('click', function(event) { 
        alert('clicked'); 
        return false; 
    }); 

Если вы хотите узнать, какая ссылка была нажата, когда она исчезла - вы должны поместить событие onunload, которое отправит данные о нажатой ссылке на ваш сервер.

1 голос
/ 04 декабря 2009

Мне известны 2 способа:

  1. создайте сервис и вызывайте его, используя метод GET для каждого события, которое вы хотите отслеживать.
    это примерно так:

    service.php?event=pageview&time=127862936&userId=70&registered=true
    

    таким образом ваш сервис может работать с данными.

  2. Второй известный мне способ, которым я сам пользуюсь, - это вызов фиктивного образа на моем сервере, связывание с ним GET-запроса, а затем анализ запроса на изображение на стороне сервера. каждый запрос обрабатывается и регистрируется, затем я создаю отчеты.

Опять же, вам нужно знать, какие события вы хотите захватить, они предопределены и должны отлавливать и отправлять их по мере их возникновения. Ваш клиент может поместить файл js с 1 скриптом, но этот скрипт должен добавить слушателей событий. Допустим, вы хотите знать, когда пользователь покинул страницу. добавьте прослушиватель события в событие onbeforeunload, например:

window.onbeforeunload = function(){
   sendStats({event:'onbeforeunload'});
}

затем функция sendStats разбивает JSON и создает запрос для отправки на сервер следующим образом:

function sendStats(statsJSON){
    var url = [];
    for (var key in statsJSON) {
        // make sure that the key is an actual property of an object, and doesn't come from the prototype
        if( statsJSON.hasOwnProperty(key) ){  
            var sign = (!url[0]) ? '?' : '&';
            url.push(sign);
            url.push(key + '=');
            url.push( encodeURI(statsJSON[key]) );
        }
    }
    var time = new Date().getTime();
    url.push('&time=');
    url.push(time);

    var stat = new Image();
    stat.src = clientHost + 'stats.gif' + url.join('');
}
0 голосов
/ 10 декабря 2010

Используйте аналитику Google и подключайте элементы сайта, используя их API.

0 голосов
/ 28 августа 2009

Я знаю, что это не создает вашу собственную логику, но если вы решите, что не хотите анализировать журналы своего сервера, вы можете попробовать новый сервис, который пытается объединить аналитику Google: http://mixpanel.com/. Это анализ в реальном времени у них есть бесплатная ограниченная учетная запись, так что вы можете попробовать ее перед обновлением.

Я еще не пробовал их API, чтобы получить информацию, но я думаю, что вы могли бы позволить им собирать данные с вашего сайта и делать с ними забавные вещи после того, как вы вернете их обратно.

0 голосов
/ 26 августа 2009

Я не думаю, что вам нужно будет это фиксировать, так как он, скорее всего, уже записан в журналах веб-сервера самим веб-сервером. Вам просто нужно найти программное обеспечение, которое может анализировать журналы и давать вам хорошие метрики. Для этого есть множество пакетов.

0 голосов
/ 26 августа 2009

Я разработчик asp .net. Но я думаю, что эта техника будет работать все время. Если вы хотите узнать, откуда пользователь зашел на ваш сайт, вы можете использовать некоторую переменную отслеживания строки запроса www.mysite.com?IMFrom=something. То есть, когда вы публикуете свою ссылку на каком-либо стороннем веб-сайте, например, скажи гугл. Разместить ссылку как www.mysite.com?google=traficfromgoogle. Вы можете получить трафик с другого сайта. Иметь разные переменные строки запроса для каждого. Вы также можете использовать какой-то уникальный идентификатор для всего сайта, который отправляет вам трафик. Теперь создайте функцию отслеживания, которая будет отслеживать эту переменную строки запроса. Используйте эту функцию, где она будет вызываться во время каждого запроса. И теперь вы можете поместить некоторую настраиваемую логику для каждого запроса, имеющего такую ​​строку запроса.

0 голосов
/ 26 августа 2009

Начните с файлов журнала веб-сервера, покопайтесь в его формате, попробуйте простую статистику. Тогда вы, возможно, захотите прочитать код статистических инструментов, таких как awstats, чтобы улучшить свое представление об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...