Идетитификация пользователя на сайте

Одна из основных задач, с которой связываются разработчики веб-приложений - это идентификация пользователя.

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

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

Действие I. Идентификация анонимного пользователя.

Тут встает вопрос о том, как идентифицировать анонимного пользователя. Идентифицировать его нужно по COOKIE. Для этого, при самом первом заходе пользователя на сайт, ему нужно поставить куку с уникальным значением, например, с хэшем от md5(uniqid()) и временем жизни лет 10. Теперь, при последующих посещениях пользователем сайта, мы можем смело накапливать статистику его действий - у нас есть есть его уникальный идентификатор, с помощью которого мы его и опознаем. Например, мы можем показать ему какие товары он смотрел с момента своего первого визита на сайт, что будет для пользователя дополнительной мотивацией купить интересовавший его ранее товар.

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

Дейстие II. Регистрация, закрепление за пользователем его уникального идентификатора.

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

Действие III. Постоянная идентификация пользователя всегда и везде.

Допустим пользователь, находясь дома, прошел вышеописанный процесс, после чего пошел на работу, открыл интернет-магазин в другом браузере и опять начал смотреть интересующие его товары. Что произойдет? Правильно - ему в COOKIE поставится уникальный идентификатор, никак не связанный с его "прошлым" идентификатором (который уже записан в базу и связан с его аккаунтом). Пока пользователь находясь на работе, т.е. работая из другого браузера, не авторизуется под своим аккаунтом, для системы - это ещё один новый посетитель. Но когда пользователь авторизуется на сайте, необходимо сделать два действия:

  1. Перезаписать текущий уникальный идентификатор в COOKIE идентификатором, хранимым в базе.
  2. Обновить всю статистику с текущим уникальным идентификатором, заменив текущий уникальный идентификатор на тот, что закреплен за пользователем.

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

 

В первый раз описанный алгоритм я применил на сайте объявлений www.adverts.ru. Там анонимные пользователи могут подавать объявления, а когда они ещё и регистрируются на сайте, то все объявления, поданные ими анонимно, автоматически привязываются к их аккаунту на основании уникальной куки.

В дальнейшем алгоритм был внесен и в структуру интернет-магазина М.Видео, на основании чего собиралась статистика просмотров карточек товаров.

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