Вне "колпака" II. Уходим от слежки на компьютере. HTML5 и хранение данных на клиенте. Прочие механизмы хранения

Возможности 26.03.2019
Возможности

Вести.Хайтек публикуют вторую часть руководства о том, как стать "невидимым" для рекламодателей в Интернете. . В эту субботу речь пойдет о том, как спрятаться от слежки на компьютере.

Браузеры
С начала 2011 года разработчики браузеров начали внедрять в них функцию отказа от слежки — Do Not Track (DNT). Она уведомляет сайты о том, что пользователь не хочет, чтобы рекламщики следили за его перемещениями по Сети и собирали о нем конфиденциальные данные при помощи cookie-файлов. Как правило, по умолчанию DNT выключена. Чтобы ее активировать, выполните следующие шаги:

Firefox : зайдите в "Настройки" → выберите вкладку "Приватность" и поставьте переключатель напротив пункта "Сообщать сайтам, что я не хочу, чтобы меня отслеживали"


Chrome : откройте "Настройки" → на открывшемся экране перейдите по ссылке "Показать дополнительные настройки" (внизу) → в разделе "Личные данные" поставьте галку рядом с "Отправлять с исходящим трафиком запрос "Не отслеживать"". Там же рекомендует снять галки с "Предсказывать сетевые действия для ускорения загрузки страниц" и "Автоматически отправлять в Google статистику использования и отчеты о сбоях"


Internet Explorer : "Настройки" → "Безопасность" → "Отправлять запросы Do Not Track ("Не отслеживать")" → нажмите на кнопку "Включить"


Safari : "Настройки" → перейдите на вкладку "Конфиденциальность" → и поставьте галку напротив "Запретить веб-сайтам отслеживать меня"


Opera : "Настройки" → раздел "Конфиденциальность и безопасность" → отметьте "Отправлять запрос "Не отслеживать" с данными". По желанию, галки рядом с "Использовать службу предсказания для автодополнения вводимого поискового запроса или ссылки в адресной строке" и "Предсказывать сетевые действия для оптимизации загрузки страницы" можно снять

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

Кроме того, пока нет никаких договоренностей насчет того, как именно должна работать DNT. С одной стороны, все больше пользователей не хочет, чтобы за ними вели слежку. По итогам опроса, проведенного агентством Forrester Research в марте 2013 года, функция DNT была включена у 18% интернетчиков. С другой, против этой системы выступают рекламщики, настаивая, что поведенческая реклама — это неотъемлемая часть бесплатных веб-сервисов. Ожидается, что в 2014 году Консорциум Всемирной паутины (W3C) внесет ясность в этот вопрос, приняв механизм DNT как стандарт и сделав его исполнение обязательным.

Расширения
Отключение DNT — еще не панацея. Мы также советуем установить расширение для браузера, которое будет блокировать рекламные cookie-файлы. Одним из лучших плагинов такого рода (для Firefox и Chrome) является Ghostery, который выявляет поведенческие маяки, аналитические "жучки" и рекламные "куки" Facebook, Google Adsense, "Яндекс.Метрики", DoubleClick и сотен других рекламных сетей.

Так ведет себя Ghostery при заходе на Twitter.com

Ghostery очень удобен в обращении и, что немаловажно, переведен на русский язык. После установки дополнения на панели навигации браузера появится счетчик, оповещающий о количестве найденных на сайте "жучков". К примеру, зайдя в Twitter, вы увидим один "жучок" Google Analytics, на Apple.ru — маяк Omniture (Adobe Analytics), а в разделе новостей "Яндекса" — "жучки" "Яндекс.Директа" и "Яндекс.Метрики". Чтобы их заблокировать, надо нажать на иконку с изображением привидения и переместить переключатели вправо.

Google
В начале 2012 года Google приняла новую политику конфиденциальности. Смысл документа, вступившего в силу в марте, сводился к тому, что крупнейший интернет-поисковик обладает правом объединять данные одного и того же человека в разных сервисах компании и использовать эту информацию для показа рекламы. К примеру, Google сможет запомнить, какой запрос пользователь ввел в поисковую систему, и показать объявление, которое может его заинтересовать. Информация собирается по всем 60 принадлежащим компании службам, включая почту Gmail, видеохостинг YouTube, карты Google Maps и другие. При этом пользователи не могли отказаться от этих изменений. Сама компания заявляла, что новые правила позволят ей повысить точность поисковых результатов, а также улучшить функциональность других сервисов.

Несмотря на "умные" очки Glass и другие экспериментальные проекты, браузер Chrome и даже платформу Android, именно интернет-реклама остается важнейшим источником доходов Google. Из контекстных объявлений, учитывающих ваши интересы, компания извлекает огромную прибыль, и ограничить их показ оказывается не так-то легко.

Для начала вам нужно узнать, какие данные имеются в распоряжении сервисов Google. Сделать это можно в "Личном кабинете" : здесь доступна информация о привязанных к аккаунту Android-устройствах, загруженных на YouTube видео, файлах в "Документах", задачах, контактах, событиях в "Календаре", письмах Gmail и пр.

"Личный кабинет" Google. Если вы не пользуетесь некоторыми службами, удаляйте из них свои данные (к примеру, веб-альбомы Picasa) и максимально ограничивайте к ним доступ посторонним

Если скачали приложение для смартфона и разрешили ему доступ к списку задач, аккаунту Google+ или другой информации — отвяжите его (например, "Аккаунт" → "Связанные приложения и сайты ", YouTube → "Подключенные аккаунты ", Google+ → "Управление приложениями "). Также запретите запись истории местоположений ("История местоположений" → "Настройки" → на новой странице выставьте флажок рядом с Disable и нажмите кнопку Save; после не забудьте очистить историю ваших локаций, перейдя по ссылке History management).

Кроме того, внимательно пройдитесь по всем другим настройкам, т.к. самые важные из них погребено довольно глубоко. В разделе YouTube мы рекомендуем войти в "Управление историей ", нажать на "Очистить историю просмотров", а после — "Приостановить запись истории просмотров". То же сделайте в "Управлении историей поиска ": очистите историю и приостановите запись. При желании, ограничьте доступ к вашим подпискам и понравившимся видео (раздел "Настройки конфиденциальности ").

Настройки профиля Google+

Самая важная настройка, касаемая рекламной системы "Яндекс.Директ", как обычно, расположена в самом низу. "На партнерских площадках Яндекс показывает рекламу с учетом индивидуальных интересов пользователей, которые определяются по их поведению на Яндексе и на сайтах-участниках Рекламной сети Яндекса", — говорит компания.

Если вы не желаете, чтобы "Яндекс" сохранял в вашем браузере cookie-файлы, а его партнеры учитывали ваши интересы при показе рекламы, выставьте галку рядом с пунктом "Не учитывать круг ваших интересов при показе рекламы" и нажмите на кнопку "Сохранить"

Facebook
"Facebook не предоставляет приложениям третьих сторон или рекламным сетям права использовать ваше имя или фотографии в рекламных объявлениях. Если мы разрешим это в будущем, то вы сможете выбирать настройки, которые будут регулировать использование вашей информации", — говорится на сайте крупнейшей социальной сети. Тем не менее, лучше подстраховаться на случай, если компания начнет продавать ваши имена и фотографии.

Откройте "Настройки" → "

Меня всегда напрягало то, как навязчиво Google AdSense подсовывал контекстную рекламу в зависимости от моих старых запросов в поисковике. Вроде бы и времени с момента поиска прошло достаточно много, да и куки и кеш браузера чистились не раз, а реклама оставалась. Как же они продолжали отслеживать меня? Оказывается, способов для этого предостаточно.

Небольшое предисловие

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

С тех пор многое изменилось, технологии ушли далеко вперед, и в настоящее время отслеживание пользователей одними только печеньками не ограничивается. На самом деле идентифицировать юзеров можно разными способами. Самый очевидный вариант - установить какие-либо идентификаторы, наподобие куков. Следующий вариант - воспользоваться данными об используемым юзером ПК, которые можно почерпнуть из HTTP-заголовков отправляемых запросов: адрес, тип используемой ОС, время и тому подобное. Ну и напоследок можно отличить пользователя по его поведению и привычкам (движения курсора, любимые разделы сайта и прочее).

Явные идентификаторы

Данный подход довольно очевиден, все, что требуется, - сохранить на стороне пользователя какой-то долгоживущий идентификатор, который можно запрашивать при последующем посещении ресурса. Современные браузеры предоставляют достаточно способов выполнить это прозрачно для пользователя. Прежде всего это старые добрые куки. Затем особенности некоторых плагинов, близкие по функционалу к кукам, например Local Shared Objects во флеше или Isolated Storage в силверлайте. HTML5 также включает в себя несколько механизмов хранения на стороне клиента, в том числе localStorage, File и IndexedDB API. Кроме этих мест, уникальные маркеры можно также хранить в кешированных ресурсах локальной машины или метаданных кеша (Last-Modified, ETag). Помимо этого, можно идентифицировать пользователя по отпечаткам, полученным из Origin Bound сертификатов, сгенерированных браузером для SSL-соединений, по данным, содержащимся в SDCH-словарях, и метаданным этих словарей. Одним словом - возможностей полно.

Когда дело касается хранения какого-то небольшого объема данных на стороне клиента, куки - это первое, что обычно приходит на ум. Веб-сервер устанавливает уникальный идентификатор для нового пользователя, сохраняя его в куках, и при всех последующих запросах клиент будет отправлять его серверу. И хотя все популярные браузеры уже давно снабжены удобным интерфейсом по управлению куками, а в Сети полно сторонних утилит для управления ими и их блокировки, куки все равно продолжают активно использоваться для трекинга пользователей. Дело в том, что мало кто просматривает и чистит их (вспомни, когда ты занимался этим последний раз). Пожалуй, основная причина этого - все боятся случайно удалить нужную «печеньку», которая, например, может использоваться для авторизации. И хотя некоторые браузеры позволяют ограничивать установку сторонних куков, проблема не исчезает, так как очень часто браузеры считают «родными» куки, полученные через HTTP-редиректы или другие способы во время загрузки контента страницы. В отличие от большинства механизмов, о которых мы поговорим далее, использование куков прозрачно для конечного пользователя. Для того чтобы «пометить» юзера, необязательно даже хранить уникальный идентификатор в отдельной куке - он может собираться из значений нескольких куков или храниться в метаданных, таких как Expiration Time. Поэтому на данном этапе довольно непросто разобраться, используется ли конкретная кука для трекинга или нет.

Local Shared Objects

Для хранения данных на стороне клиента в Adobe Flash используется механизм LSO. Он является аналогом cookies в HTTP, но в отличие от последних может хранить не только короткие фрагменты текстовых данных, что, в свою очередь, усложняет анализ и проверку таких объектов. До версии 10.3 поведение флеш-куков настраивалось отдельно от настроек браузера: нужно было посетить менеджер настроек Flash, расположенный на сайте macromedia.com (кстати, он доступен и сейчас по следующей ссылке). Сегодня это можно выполнить непосредственно из контрольной панели. К тому же большинство современных браузеров обеспечивают достаточно плотную интеграцию с флеш-плеером: так, при удалении куков и других данных сайтов будут также удалены и LSO. С другой стороны, взаимодействие браузеров с плеером еще не настолько тесное, поэтому настройка в браузере политики для сторонних куков не всегда затронет флеш-куки (на сайте Adobe можно посмотреть, как вручную их отключить).


Изолированное хранилище Silverlight

Программная платформа Silverlight имеет довольно много общего с Adobe Flash. Так, аналогом флешевого Local Shared Objects служит механизм под названием Isolated Storage. Правда, в отличие от флеша настройки приватности тут никак не завязаны с браузером, поэтому даже в случае полной очистки куков и кеша браузера данные, сохраненные в Isolated Storage, все равно останутся. Но еще интересней, что хранилище оказывается общим для всех окон браузера (кроме открытых в режиме «Инкогнито») и всех профилей, установленных на одной машине. Как и в LSO, с технической точки зрения здесь нет каких-либо препятствий для хранения идентификаторов сессии. Тем не менее, учитывая, что достучаться до этого механизма через настройки браузера пока нельзя, он не получил такого широкого распространения в качестве хранилища для уникальных идентификаторов.


HTML5 и хранение данных на клиенте

HTML5 представляет набор механизмов для хранения структурированных данных на клиенте. К ним относятся localStorage, File API и IndexedDB. Несмотря на различия, все они предназначены для обеспечения постоянного хранения произвольных порций бинарных данных, привязанных к конкретному ресурсу. Плюс, в отличие от HTTP- и Flash-куков, здесь нет каких-либо значительных ограничений на размер хранимых данных. В современных браузерах HTML5-хранилище располагается наряду с другими данными сайта. Однако как управлять хранилищем через настройки браузера - догадаться очень трудно. К примеру, чтобы удалить данные из localStorage в Firefox, пользователю придется выбрать offline website data или site preferences и задать временной промежуток равным everything. Еще одна неординарная фишка, присущая только IE, - данные существуют только на время жизни табов, открытых в момент их сохранения. Плюс ко всему вышеперечисленные механизмы не особо-то стараются следовать ограничениям, применимым к HTTP-кукам. Например, можно писать в localStorage и читать из него через кросс-доменные фреймы даже при отключенных сторонних куках.

Кешированные объекты

Все хотят, чтобы браузер работал шустро и без тормозов. Поэтому ему приходится складывать в локальный кеш ресурсы посещаемых сайтов (чтобы не запрашивать их при последующем визите). И хотя данный механизм явно не предназначался для использования в качестве хранилища с произвольным доступом, его можно в таковой превратить. Например, сервер может вернуть пользователю JavaScript-документ с уникальным идентификатором внутри его тела и установить в заголовках Expires / max-age= далекое будущее. Таким образом скрипт, а с ним и уникальный идентификатор пропишется в кеше браузера. После чего к нему можно будет обратиться с любой страницы в Сети, просто запросив загрузку скрипта с известного URL’а. Конечно, браузер будет периодически спрашивать с помощью заголовка If-Modified-Since, не появилась ли новая версия скрипта. Но если сервер будет возвращать код 304 (Not modified), то закешированная копия будет использоваться вечно. Чем еще интересен кеш? Здесь нет концепции «сторонних» объектов, как, например, в случае с HTTP-куками. В то же время отключение кеширования может серьезно отразиться на производительности. А автоматическое определение хитрых ресурсов, хранящих в себе какие-то идентификаторы/метки, затруднено в связи с большим объемом и сложностью JavaScript-документов, встречающихся в Сети. Конечно, все браузеры позволяют юзеру вручную чистить кеш. Но как показывает практика (даже собственный пример), производится это не так часто, если производится вообще.

ETag и Last-Modified

Для того чтобы кеширование работало правильно, серверу необходимо каким-то образом информировать браузер о том, что доступна более новая версия документа. Стандарт HTTP/1.1 предлагает два способа для решения этой задачи. Первый основан на дате последнего изменения документа, а второй - на абстрактном идентификаторе, известном как ETag. В случае с ETag сервер изначально возвращает так называемый version tag в заголовке ответа вместе с самим документом. При последующих запросах к заданному URL клиент сообщает серверу через заголовок If-None-Match это значение, ассоциированное с его локальной копией. Если версия, указанная в этом заголовке, актуальная, то сервер отвечает HTTP-кодом 304 (Not Modified), и клиент может спокойно использовать кешированную версию. В противном случае сервер присылает новую версию документа с новым ETag. Такой подход чем-то напоминает HTTP-куки - сервер сохраняет произвольное значение на клиенте только для того, чтобы потом его считать. Другой способ, связанный с использованием заголовка Last-Modified, позволяет хранить по крайней мере 32 бита данных в строке даты, которая затем отправляется клиентом серверу в заголовке If-Modified-Since. Что интересно, большинство браузеров даже не требуют, чтобы эта строка представляла собой дату в правильном формате. Как и в случае идентификации пользователя через кешированные объекты, на ETag и Last-Modified никак не влияет удаление куков и данных сайта, избавиться от них можно только очисткой кеша.


HTML5 AppCache

Application Cache позволяет задавать, какая часть сайта должна быть сохранена на диске и быть доступна, даже если пользователь находится офлайн. Управляется все с помощью манифестов, которые задают правила для хранения и извлечения элементов кеша. Подобно традиционному механизму кеширования, AppCache тоже позволяет хранить уникальные, зависящие от пользователя данные - как внутри самого манифеста, так и внутри ресурсов, которые сохраняются на неопределенный срок (в отличие от обычного кеша, ресурсы из которого удаляются по истечении какого-то времени). AppCache занимает промежуточное значение между механизмами хранения данных в HTML5 и обычным кешем браузера. В некоторых браузерах он очищается при удалении куков и данных сайта, в других только при удалении истории просмотра и всех кешированных документов.

SDCH-словари

SDCH - это разработанный Google алгоритм компрессии, который основывается на использовании предоставляемых сервером словарей и позволяет достичь более высокого уровня сжатия, чем Gzip или deflate. Дело в том, что в обычной жизни веб-сервер отдает слишком много повторяющейся информации - хидеры/футеры страниц, встроенный JavaScript/CSS и так далее. В данном подходе клиент получает с сервера файл словаря, содержащий строки, которые могут появиться в последующих ответах (те же хидеры/футеры/JS/CSS). После чего сервер может просто ссылаться на эти элементы внутри словаря, а клиент будет самостоятельно на их основе собирать страницу. Как ты понимаешь, эти словари можно с легкостью использовать и для хранения уникальных идентификаторов, которые можно поместить как в ID словарей, возвращаемые клиентом серверу в заголовке Avail-Dictionary, так и непосредственно в сам контент. И потом использовать подобно как и в случае с обычным кешем браузера.

Прочие механизмы хранения

Но это еще не все варианты. При помощи JavaScript и его товарищей по цеху можно сохранять и запрашивать уникальный идентификатор таким образом, что он останется в живых даже после удаления всей истории просмотров и данных сайтов. Как один из вариантов, можно использовать для хранения window.name или sessionStorage. Даже если пользователь подчистит все куки и данные сайта, но не закроет вкладку, в которой был открыт отслеживающий сайт, то при последующем заходе идентифицирующий токен будет получен сервером и пользователь будет снова привязан к уже собранным о нем данным. Такое же поведение наблюдается и у JS, любой открытый JavaScript-контекст сохраняет состояние, даже если пользователь удалит данные сайта. При этом такой JavaScript может не только принадлежать отображаемому сайту, но и прятаться в iframe’ах, веб-воркерах и так далее. Например, загруженная в iframe реклама вовсе не обратит внимания на удаление истории просмотров и данных сайта и продолжит использовать идентификатор, сохраненный в локальной переменной в JS.

Протоколы

Помимо механизмов, связанных с кешированием, использованием JS и разных плагинов, в современных браузерах есть еще несколько сетевых фич, позволяющих хранить и извлекать уникальные идентификаторы.
1.Origin Bound Certificates (aka ChannelID) - персистентные самоподписанные сертификаты, идентифицирующие клиента HTTPS-серверу. Для каждого нового домена создается отдельный сертификат, который используется для соединений, инициируемых в дальнейшем. Сайты могут использовать OBC для трекинга пользователей, не предпринимая при этом каких-либо действий, которые будут заметны клиенту. В качестве уникального идентификатора можно взять криптографический хеш сертификата, предоставляемый клиентом как часть легитимного SSL-рукопожатия.
2.Подобным образом и в TLS тоже есть два механизма - session identifiers и session tickets, которые позволяют клиентам возобновлять прерванные HTTPS-соединения без выполнения полного рукопожатия. Достигается это за счет использования закешированных данных. Два этих механизма в течение небольшого промежутка времени позволяют серверам идентифицировать запросы, исходящие от одного клиента.
3.Практически все современные браузеры реализуют свой собственный внутренний DNS-кеш, чтобы ускорить процесс разрешения имен (и в некоторых случаях снизить риск DNS rebinding атак). Такой кеш запросто можно использовать для хранения небольших объемов информации. Например, если обладать 16 доступными IP-адресами, около 8–9 закешированных имен будет достаточно, чтобы идентифицировать каждый компьютер в Сети. Однако такой подход ограничен размером внутреннего DNS-кеша браузеров и может потенциально привести к конфликтам в разрешении имен с DNS провайдера.

Характеристики машины

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

«Отпечатки» браузера

Наиболее простой подход к трекингу - это построение идентификаторов путем объединения набора параметров, доступных в среде браузера, каждый из которых по отдельности не представляет никакого интереса, но совместно они образуют уникальное для каждой машины значение:
-User-Agent. Выдает версию браузера, версию ОС и некоторые из установленных аддонов. В случаях, когда User-Agent отсутствует или хочется проверить его «правдивость», можно определить версию браузера проверкой на наличие определенных фич, реализованных или измененных между релизами.
-Ход часов. Если система не синхронизирует свои часы со сторонним сервером времени, то рано или поздно они начнут отставать или спешить, что породит уникальную разницу между реальным и системным временем, которую можно измерить с точностью до микросекунды с помощью JavaScript’а. На самом деле даже при синхронизации с NTP-сервером все равно будут небольшие отклонения, которые также можно будет измерить.
-Информация о CPU и GPU. Можно получить как напрямую (через GL_RENDERER), так и через бенчмарки и тесты, реализованные с помощью JavaScript.
-Разрешение монитора и размер окна браузера (включая параметры второго монитора в случае мультимониторной системы).
-Список установленных в системе шрифтов, полученных, например, с помощью getComputedStyle API.
-Список всех установленных плагинов, ActiveX-контролов, Browser Helper Object’ов, включая их версии. Можно получить перебором navigator.plugins (некоторые плагины выдают свое присутствие в HTTP-заголовках).
-Информация об установленных расширениях и другом ПО. Такие расширения, как блокировщики рекламы, вносят определенные изменения в просматриваемые страницы, по которым можно определить, что это за расширение, и его настройки.

Сетевые «отпечатки»

Еще ряд признаков кроется в архитектуре локальной сети и настройке сетевых протоколов. Такие знаки будут характерны для всех браузеров, установленных на клиентской машине, и их нельзя просто скрыть с помощью настроек приватности или каких-то security-утилит. Они включают в себя:
-Внешний IP-адрес. Для IPv6-адресов данный вектор особенно интересен, так как последние октеты в некоторых случаях могут получаться из MAC-адреса устройства и потому сохраняться даже при подключении к разным сетям.
-Номера портов для исходящих TCP/IP-соединений (обычно выбираются последовательно для большинства ОС).
-Локальный IP-адрес для пользователей, находящихся за NAT’ом или HTTP-прокси. Вкупе с внешним айпишником позволяет уникально идентифицировать большинство клиентов.
-Информация об используемых клиентом прокси-серверах, полученная из HTTP-заголовка (X-Forwarded-For). В сочетании с реальным адресом клиента, полученным через несколько возможных способов обхода прокси, также позволяет идентифицировать пользователя.

Поведенческий анализ и привычки

Еще один вариант - взглянуть в сторону характеристик, которые привязаны не к ПК, а скорее к конечному пользователю, такие как региональные настройки и поведение. Такой способ опять же позволит идентифицировать клиентов между различными сессиями браузера, профилями и в случае приватного просмотра. Делать выводы можно на основании следующих данных, которые всегда доступны для изучения:
-Предпочитаемый язык, дефолтная кодировка и часовой пояс (все это живет в HTTP-заголовках и доступно из JavaScript).
-Данные в кеше клиента и его история просмотра. Элементы кеша можно обнаружить при помощи атак по времени - отслеживающий может обнаружить долгоживущие элементы кеша, относящиеся к популярным ресурсам, просто измерив время из загрузки (и отменив переход, если время превышает ожидаемое время загрузки из локального кеша). Также можно извлекать URL’ы, хранящиеся в истории просмотра браузера, хотя такая атака в современных браузерах потребует небольшого взаимодействия с пользователем.
-Жесты мышью, частота и продолжительность нажатия клавиш, данные с акселерометра - все эти параметры уникальны для каждого пользователя.
-Любые изменения стандартных шрифтов сайта и их размеров, уровень zoom’а, использование специальных возможностей, таких как цвет текста, размер.
-Состояние определенных фич браузера, настраиваемых клиентом: блокировка сторонних куков, DNS prefetching, блокировка всплывающих окон, настройки безопасности Flash и так далее (по иронии, пользователи, меняющие дефолтные настройки, в действительности делают свой браузер значительно более легким для идентификации).

И это лишь очевидные варианты, которые лежат на поверхности. Если копнуть глубже - можно придумать еще.

Подытожим

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

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

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

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

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

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

Как настроить отслеживание поисковой активности?

Итак, что нужно сделать в Google Analytics, дабы активизировать возможность отслеживания поисковых запросов внутри сайта?

Перейдите в режим администратора, выберите последовательно необходимые аккаунт, ресурс и представление. В настройках представления найдите блок «Настройки поиска по сайту»:

Переведите переключатель в положение «ВКЛ», в строке «Параметр запроса» необходимо указать имя параметра из адресной строки браузера, который содержит запрос, вводимый пользователем:

В примере на изображение параметр равен S.

После этого сохраните настройки, нажав кнопку «Сохранить» внизу страницы.

На этом настройка отслеживания поиска на сайте с помощью Google Analytics завершена.

Хотел бы обратить ваше внимание на то, что описанный способ более предпочтителен, чем простая настройка отслеживания событий в виде клика по кнопке «Найти» или «Поиск», которые, кроме количества нажатий на кнопку, не предоставят никакой информации.

Спустя некоторое время в отчетах появится соответствующая информация. Группа отчетов «Поиск по сайту» располагается в разделе «Поведение»:

Доступны четыре отчета:

  • обзор;
  • использование;
  • поисковые запросы;
  • страницы.

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

В отчете «Поисковые запросы» вы сможете ознакомиться с теми запросами, которые вводили пользователи.

Также здесь имеется возможность использовать различные параметры и показатели в пользовательских отчетах и расширенных сегментах.

В поисковых системах мы уже давно научились изучать спрос в wordstat, но мимо нас пролетает ещё одно важное знание. Пользователи ведь ищут не только в поисковых системах, но и на вашем сайте тоже, поэтому нам так важно настроить отслеживание поиска на вашем сайте. И вы даже можете не догадываться что ищут на вашем сайте:)

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

Что это вам даст:

  1. Список поисковых запросов, которые люди вводили на вашем сайте;
  2. На каких страницах чаще всего осуществляется поиск?
  3. Устроил ли результат поиска пользователей?
  4. И уже на базе этих данных мы сможем понять как увеличить продажи вашего интернет магазина!

И ещё кое-что. Аудитория, которая осуществляет поиск на вашем сайте, крайне важна . Эти люди не ищут где-то еще, они ищут именно у вас ! И данный скриншот тому доказательство:

Сверху визиты без поиска, а снизу визиты, в которых что-то искали на сайте. А теперь посмотрите на конверсию и на ценность сеансов по каждой из этих категорий людей. Выводы делайте сами.

А мы пока приступим к настройке, благо это просто.

Как отслеживать поиск по сайту с Google Analytics?

Настройка отслеживания поиска очень проста и зависит только от используемой вами .

Шаг №1.
Введите что-нибудь у себя в поиске и скопируйте получившийся URL. Для примера, я буду рассматривать настройку для OpenCart.

Обычно страница с поиском имеет следующий URL: домен.ru/index.php?route=product/search&search=ваш_поисковый_запрос

Шаг №2.
Нам надо определить какой параметр в URL даст понять Google Analytics, что это страница поиска.

В нашем примере это слово “search”, выделил тут жирным домен.ru/index.php?route=product/search&search =

В Битриксе поисковая строка выглядит так: домен.ru/search/?q =123&s=*******. Жирным выделил букву q, которая и даст сигнал о том, что это страница поиска.

Если вы сомневаетесь как вычленить этот параметр запроса в вашем сайте , то напишите в комментариях ссылку на ваш сайт и параметр, который вы определили сами. А я уже проверю верно ли вы сделали отслеживание поиска на вашем сайте.



Шаг №3.
Теперь мы должны включить отслеживание поиска в самом Google Analytics.

Переходим в раздел “Администратор”

Включаем “Отслеживание поиска по сайту”

Вводим нужный “Параметр запроса” (для Битрикса был бы “q” без кавычек)

Готово! Теперь, в зависимости от вашей посещаемости, надо некоторое время подождать пока наберется статистика.

Как с помощью отслеживания поиска по сайту поднять продажи?

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

Сами отчеты находятся тут:
Поведение – Поиск по сайту – Обзор

Какие товары ищут в первую очередь?

Посмотрев на этот отчет, вы сразу увидите какие товары ищут в первую очередь:

Выводы :

  1. Люди не могут найти интересующие их товары. Это очевидно;
  2. Создайте категорию “Хит продаж” или “Самые популярные товары” и поместите их туда, если их конечно, не сотни;
  3. А в свои категориях поднимите эти товары повыше, чтобы они стали заметнее.

С большой долей вероятности эти, казалось бы, незаметные улучшения приведут к росту продаж.

Ценность пользователей, которые осуществляют поиск на сайте

Для корректного отслеживания этих данных необходимо иметь включённую электронную торговлю в Google Analytics. И тогда вашему взору предстанет сравнение двух аудиторий, одна из которых осуществляла поиск, а вторая – нет.

Выводы :

  1. Если вы увидите, что ценность пользователей, которые осуществляли поиск, выше, то посмотрите как у вас выглядит страница поиска сама по себе. Протестируйте её;
  2. Посмотрите по каким полям осуществляется поиск. Иногда поиск идёт только по названиям товаров, а по характеристикам и описаниям не идет;
  3. Ваша цель – сделать страницу поиска максимально удобной;
  4. И предлагать что-то, когда результат поиска нулевой.

Потихоньку чувствуете зачем мы сделали отслеживание поиска по сайту? :)

С каких страниц осуществляется поиск?

Мы также можем увидеть с каких страниц осуществляется поиск:

Изучите эти страницы.

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

Выводы :

  1. Посмотрите с каких страниц какие запросы отправляют и сделайте вывод почему на этих страницах не могут найти нужный товар;
  2. Особенно если такой пример не один, а несколько;
  3. На единичные запросы я бы не стал обращать внимания, у вас их будет там очень много по мере накопления статистики.

Товары, которые ищут, но не покупают

Это мой любимый отчет!

Вы можете увидеть товары, которые ищут на вашем сайте, но которых, например, у вас нет на сайте. Догадываетесь к чему я?

Как получить такой отчет:

И потом перед вами будет подробный отчет какие товары искали, но не купили:

Выводы :

  1. Посмотрите на поисковые запросы и подумайте почему эти товары искали, но продаж не было?
  2. Быть может просто не нашли, так как они у вас иначе называются?
  3. Или у вас просто кончился нужный размер?
  4. Или что-то технически мешает покупке этих товаров?
  5. Или карточка товара не конвертирует?
  6. Или их у вас вообще нет? В таком случае это хороший способ понять что интересует аудиторию в вашей нише. А за это знание многие готовы дорого заплатить.

Порой, на таких вещах теряется уйма денег. Согласитесь?

Собственно и всё.

Как видите, настроить отслеживание поиска по сайту труда не составляет. И куда интереснее изучать эти отчеты и методично повышать продажи.

Буду рад ответить на любые вопросы в комментариях.
Спасибо!



Рекомендуем почитать

Наверх