Referrer и Referrer Policy. Как аналитика узнает источник перехода

Как аналитика узнает источник перехода

Когда вы переходите с одного сайта на другой, по ссылке, а не набрав новый адрес на клавиатуре (да, кто-то еще так делает), системы аналитики, вроде Google Analytics или Яндекс.Метрика фиксируют источник перехода. 

Как они это делают и как это использовать в своих целях?

 

Referrer

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

Все прозрачно и маркетологи рисуют графики с единорогами... и тут на сцену выходит Referrer Policy.

Referrer Policy

Если сайт-источник хочет контролировать что именно передавать и передавать ли что-то в Referrer он использует специальный заголовок Referrer Policy.

HTTP response header Referrer Policy - заголовок ответа. Согласно документации он может содержать в себе одно из следующих значений:

“” - ничего

Если вы ничего не передаете заголовке Referrer Policy браузер сам решит и сделает это, на свое усмотрение. Он может взять meta-тег, атрибут referrerpolicy или ключ rel на ссылке (если вы их прописали).

Ничего не прописали - ничего не контролируете.

no-referrer

no-referrer это анонимность и браузер никому ничего не скажет, не отправит заголовок, ни на внешние ссылки ни на внутренние. 

Полная анонимность, даже для собственной аналитике.

no-referrer-when-downgrade

Если ваш сайт открывается через https, а ссылка ведет на http будет анонимность.

Поясню, мы запрещаем слать информацию с нашего безопасного сайта на потенциально опасные ресурсы.

same-origin

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

origin

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

strict-origin

Тоже самое что и origin, но с запретом слать информацию с https на http.

origin-when-cross-origin

Внутри своего сайта отправляется полная информация, а чужим только только адрес сайта-источника.

strict-origin-when-cross-origin

Тоже самое что и origin-when-cross-origin, но с запретом слать информацию с https на http.

unsafe-url

Шлет все и всем - не делайте так!

Как поступить

  1. Никогда не отправлять информацию с https на http;
  2. Остальное зависит от ваших задачи, наличия шапочки из фольги и маркетинговых целей.