Как узнать, откуда пришли посетители сайта
Источники трафика показывают отчеты Яндекс Метрики и Google Analytics 4. Они помогают разделить поиск, рекламу, переходы с других сайтов и прямые заходы. UTM-метки уточняют кампанию, а панели вебмастеров показывают поисковые запросы. Серверные логи помогают разобрать отдельные переходы, но не заменяют счетчик.
- Какие бывают источники трафика
- Источники трафика в Яндекс Метрике
- Источники трафика в Google Analytics 4
- UTM-метки: как отслеживать рекламу и рассылки
- По каким запросам приходят из поиска
- Почему часть трафика попадает в «Прямые заходы»
- Как получить источник перехода на сервере
- С чего начать анализ источников
Какие бывают источники трафика
Система аналитики определяет источник по меткам, рефереру и другим признакам. Реферер – это адрес отправляющей страницы, который браузер передает при запросе. HTTP-заголовок называется Referer, именно с таким написанием.
| Тип трафика | Откуда приходит посетитель | Что помогает определить источник |
|---|---|---|
| Поиск | Из обычной выдачи поисковой системы | Реферер поисковика; запросы смотрят отдельно в панелях вебмастеров |
| Реклама | Из платного объявления | UTM-метки, рекламные идентификаторы и интеграции |
| Ссылки с сайтов | Из статьи, каталога или партнерского материала | Домен в реферере или метки размещения |
| Соцсети | Из публикации, сообщества или профиля | Реферер соцсети либо UTM-метки |
| Мессенджеры | Из сообщения, канала или чата | Прежде всего UTM-метки: приложение может не передать реферер |
| Рассылки | Из письма | UTM-метки с обозначением email-канала |
| Прямые заходы | Из закладки, адресной строки или перехода без распознанного источника | Источник часто остается неизвестным |
Источник обозначает конкретную площадку, канал объединяет похожие способы привлечения. Например, google – источник, а organic – обозначение бесплатного поискового перехода.
В GA4 пара source / medium объединяет источник и тип перехода. Группа каналов классифицирует такие пары по собственным правилам.
Реферальный трафик обычно означает переходы по ссылкам с других сайтов. Соцсети и поисковики тоже передают реферер, но аналитика выделяет их отдельно.
Источники трафика в Яндекс Метрике
Откройте Яндекс Метрику и выберите счетчик нужного сайта. Отчеты покажут только посещения, которые счетчик успел зарегистрировать.
Установка счетчика не восстанавливает историю предыдущих визитов.
Как прочитать отчет «Источники, сводка»
- Откройте «Отчеты» → «Источники» → «Источники, сводка». В таблице появятся группы источников трафика.
- В календаре над отчетом задайте даты начала и окончания. Для первого разбора возьмите последние 7 полных дней.
- Сравните количество визитов по источникам. Один посетитель может создать несколько визитов, поэтому посетители и визиты не совпадают.
- Откройте настройку группировок таблицы. Оставьте источник трафика, затем добавьте детализацию по поисковой системе или сайту перехода.
- Если на сайте настроены цели, сравните конверсию источников. Источник с большим количеством визитов может приносить меньше заявок.
Группировка определяет содержание строк, а метрика – значение в столбце. Например, вы группируете визиты по источнику и оцениваете число достижений цели.
Как найти сайты, с которых приходят посетители
В сводке источников оставьте группировку по сайту перехода. Задайте тот же период, который использовали для общего распределения визитов. Строки с доменами покажут сайты-доноры и объем зарегистрированного трафика.
Для проверки конкретного донора отфильтруйте таблицу по его домену. Добавьте детализацию по адресу реферера, если она доступна в отчете.
Переданный адрес не обязательно указывает на конкретную страницу. При межсайтовом переходе браузер часто передает только начало адреса: схему, домен и порт. Путь статьи при этом отсутствует. Для различения нескольких размещений на одном сайте используйте UTM-метки.
Где искать поисковые запросы
Откройте «Отчеты» → «Источники» → «Поисковые запросы» и задайте нужный период. Таблица покажет запросы, которые система смогла определить. «Поисковая фраза» – группировка внутри отчета.
Пустая строка или скрытая фраза не означает отсутствие поискового перехода.
Для анализа поискового спроса используйте также Яндекс Вебмастер и Google Search Console. Их отчеты описывают поисковую выдачу, поэтому дополняют статистику счетчика.
Источники трафика в Google Analytics 4
В Google Analytics выберите ресурс нужного сайта. Для ответа на вопрос «откуда пришли посетители» анализируйте источники сеансов.
Источник первого привлечения пользователя показывает, как система впервые узнала этого посетителя.
- Откройте «Отчеты» → «Привлечение» → «Привлечение трафика». Вы увидите таблицу привлечения сеансов.
- Задайте период в календаре отчета. Для сравнения с Метрикой используйте одинаковые даты.
- В измерении таблицы выберите «Источник / канал сеанса». В строках появятся пары вроде
google / organic. - Сравните сеансы и настроенные ключевые события. Эти столбцы помогают оценить объем и результат привлечения.
Здесь слово «канал» в паре означает medium. Не путайте его с группой каналов, например Organic Search или Referral. Группа объединяет переходы по правилам классификации GA4.
Если отчет отсутствует в навигации, используйте поиск внутри Analytics. Введите название «Привлечение трафика» и откройте найденный отчет.
Изменять структуру отчетов ради просмотра статистики не требуется.
Как посмотреть реферальные сайты
В отчете привлечения трафика выберите измерение источника и канала сеанса. Отберите строки, у которых medium равен referral. Источник в таких строках обычно содержит домен сайта-донора.
Например, строка partner.example / referral обозначает переходы с условного партнерского сайта. Она не сообщает, какая именно статья содержала ссылку. Полный адрес зависит от переданного реферера и собранных параметров событий.
Почему цифры Метрики и GA4 расходятся
Сравнивайте одинаковые периоды, часовые пояса и показатели. Число пользователей в одном сервисе нельзя напрямую сравнивать с визитами другого.
- Счетчики могут загружаться на разных страницах или с разными задержками.
- Блокировщик либо настройки согласия могут разрешить один счетчик и отключить другой.
- Системы по-разному определяют сеансы, фильтруют трафик и присваивают источники.
- Редиректы, переходы между доменами и потерянные метки меняют атрибуцию.
При заметном расхождении сначала проверьте установку обоих счетчиков на посадочных страницах. Затем сравните один размеченный переход в обеих системах. Если переход зарегистрировал только один счетчик, начните с проверки загрузки второго.
UTM-метки: как отслеживать рекламу и рассылки
UTM-метки добавляют сведения об источнике прямо в адрес ссылки. Счетчик читает параметры при открытии посадочной страницы.
Для базовой разметки заполняйте 3 параметра по единым правилам именования. Значения выбирайте под площадку, тип перехода и кампанию каждого размещения. Считайте эти поля обязательными в собственной таблице рекламных ссылок.
| Параметр | Что обозначает | Пример |
|---|---|---|
utm_source | Площадку или отправителя | newsletter, telegram |
utm_medium | Тип перехода | email, social, cpc |
utm_campaign | Название кампании | spring_launch |
Одна кампания может объединять несколько площадок.
Например, сохраните spring_launch для письма и публикации в Telegram. У письма задайте newsletter / email, у публикации – telegram / social.
Для письма о запуске продукта ссылка может выглядеть так. Домен и страница в примере условные; замените их своими.
https://local.it/offer?utm_source=newsletter&utm_medium=email&utm_campaign=spring_launch- Возьмите конечный адрес посадочной страницы. Откройте его и убедитесь, что страница работает.
- Добавьте параметры после знака
?. Если параметры уже есть, присоедините метки через&. Метки должны стоять перед фрагментом адреса, который начинается с#. - Запишите названия в нижнем регистре. Например, используйте
newsletterво всех письмах одной рассылки. - Откройте готовую ссылку в отдельном окне браузера. После редиректов метки должны остаться в конечном адресе.
- Поставьте готовую ссылку в письмо или объявление вместо обычной. Сохраните ее вместе с названием размещения.
Собрать адрес помогает Campaign URL Builder от Google. Укажите адрес страницы и значения source, medium, campaign в соответствующих полях. Если используете собственную таблицу разметки, храните в ней те же 3 поля.
Где найти размеченную кампанию
В Метрике откройте «Отчеты» → «Источники» → «Метки UTM». Выберите период тестового перехода. Отчет объединяет данные по парам «атрибут – значение» метки. Найдите utm_campaign со значением spring_launch, которое вы указали в ссылке.
В GA4 откройте «Отчеты» → «Привлечение» → «Привлечение трафика». Выберите измерение кампании сеанса и найдите spring_launch. При детализации по источнику и каналу ожидаемая пара – newsletter / email.
Данные могут появиться после обработки, поэтому отсутствие кампании сразу после клика не доказывает ошибку.
Если кампания так и не появилась, проверьте сохранность параметров после редиректов. Также проверьте загрузку счетчика и исключение собственных посещений фильтрами.
Не ставьте UTM-метки на внутренние ссылки сайта. Внутренняя навигация не привлекает нового посетителя извне. Для анализа баннеров внутри сайта используйте события клика.
Чтобы отменить разметку размещения, верните исходную ссылку в письме или объявлении. Уже собранная статистика кампании при этом останется.
По каким запросам приходят из поиска
Поисковики обычно не передают текст запроса в реферере перехода. Из серверного лога нельзя восстановить скрытую поисковую фразу.
Запросы смотрят в панелях вебмастеров после подтверждения прав на сайт.
Запросы в Яндекс Вебмастере
- Откройте Яндекс Вебмастер и выберите подтвержденный сайт. Адрес должен соответствовать нужному домену и протоколу.
- Откройте отчет «Статистика поисковых запросов». В нем собраны показатели запросов, включая показы и клики.
- Сопоставьте запросы с количеством кликов. Фразы с кликами привели переходы из поиска; одни показы этого не доказывают.
Показы означают появление сайта в результатах поиска. Клики означают переходы из выдачи.
Запросы в Google Search Console
- Откройте Google Search Console и выберите подтвержденный ресурс сайта.
- Откройте отчет об эффективности в обычном поиске – Performance (Search results). Он содержит график кликов и показов. Не выбирайте отчеты о рекомендациях или новостях.
- Задайте период и откройте вкладку запросов – Queries. Сопоставьте поисковые фразы с количеством кликов.
- Для анализа конкретной посадочной страницы добавьте URL-фильтр с ее адресом. На вкладке Queries смотрите запросы для выбранной страницы. Вкладка Pages показывает данные по страницам сайта.
Поисковые панели не связывают каждую фразу с конкретным человеком. Часть запросов скрывается ради приватности. Поэтому сумма видимых строк может отличаться от общего количества кликов.
Сравнивайте запросы внутри одной панели. Клик поисковика и сеанс счетчика описывают разные события, поэтому равенство чисел не гарантировано. После клика посетитель может закрыть страницу до загрузки счетчика.
Почему часть трафика попадает в «Прямые заходы»
Прямой заход не всегда означает ручной ввод адреса. Система может отнести сюда переход без распознанного источника.
Если реферер отсутствует и меток нет, определить площадку задним числом часто невозможно.
| Причина | Что происходит | Что делать |
|---|---|---|
| Закладки и адресная строка | У перехода нет отправляющей веб-страницы | Учитывать такие посещения как самостоятельный сценарий |
| Мессенджер или приложение | Приложение может открыть ссылку без реферера | Размечать ссылки каналов и публикаций UTM-метками |
| Письмо без меток | Почтовый клиент может не сообщить источник | Добавлять utm_medium=email и название рассылки |
| Ограничение Referrer-Policy | Страница-источник запрещает передачу реферера | Использовать метки в согласованных внешних размещениях |
| Переход с HTTPS на HTTP | Политика браузера может убрать реферер при снижении защищенности | Перевести посадочные страницы на HTTPS |
| Редирект теряет параметры | Конечная страница открывается без UTM | Сохранять query-параметры при перенаправлении |
Заголовок Referrer-Policy управляет передачей адреса источника. При политике strict-origin-when-cross-origin межсайтовый HTTPS-переход передает только origin: схему, хост и порт. Внутри одного origin браузер может передать путь и параметры.
При той же политике переход с HTTPS на HTTP не передает реферер. Политика no-referrer запрещает его передачу целиком.
Настройка вашего сайта не заставит чужой сайт раскрыть адрес отправляющей страницы.
Отсутствие пути в реферере само по себе не создает прямой заход. Если аналитика получила домен донора, она еще может определить источник. Главная потеря здесь – адрес конкретной статьи.
Проверяйте размещения отдельными тестовыми переходами. Сравните конечный URL с исходной размеченной ссылкой. Если метки исчезли, исправьте перенаправление до запуска кампании.
Как получить источник перехода на сервере
PHP получает реферер через $_SERVER['HTTP_REFERER'], а параметры ссылки – через $_GET. Оба источника содержат пользовательский ввод. Отсутствующий реферер нужно обрабатывать без ошибки.
Рабочий пример для PHP 8
Создайте каталог var вне публичного каталога сайта. Разрешите пользователю PHP запись только в этот каталог. Пример предполагает, что файл обработчика лежит в соседнем публичном каталоге.
<?php
declare(strict_types=1);
function queryValue(string $key): ?string
{
$value = $_GET[$key] ?? null;
return is_string($value) ? substr($value, 0, 300) : null;
}
$refererValue = $_SERVER['HTTP_REFERER'] ?? '';
$referer = is_string($refererValue)
? substr($refererValue, 0, 2000)
: '';
$refererHost = parse_url($referer, PHP_URL_HOST);
$requestUri = $_SERVER['REQUEST_URI'] ?? '/';
$landingPath = parse_url($requestUri, PHP_URL_PATH);
$record = [
'time' => gmdate('c'),
'landing_path' => is_string($landingPath) ? $landingPath : '/',
'referer_host' => is_string($refererHost) ? $refererHost : null,
'utm_source' => queryValue('utm_source'),
'utm_medium' => queryValue('utm_medium'),
'utm_campaign' => queryValue('utm_campaign'),
];
$line = json_encode(
$record,
JSON_UNESCAPED_UNICODE | JSON_INVALID_UTF8_SUBSTITUTE | JSON_THROW_ON_ERROR
) . "\n";
$written = file_put_contents(
__DIR__ . '/../var/traffic.jsonl',
$line,
FILE_APPEND | LOCK_EX
);
if ($written === false) {
error_log('Cannot write traffic log');
}Подключите этот код в обработчике посадочной страницы. Откройте ее по ссылке с 3 UTM-метками из примера. В файле traffic.jsonl должна появиться строка с кампанией spring_launch.
Пример сохраняет только домен реферера и путь посадочной страницы. Полные адреса могут содержать токены, email и другие чувствительные параметры. Ограничьте доступ к логу и настройте его ротацию.
Флаг FILE_APPEND добавляет запись в конец файла. Флаг LOCK_EX блокирует конкурирующую запись на время операции. Разделитель "\n" создает отдельную строку для каждого JSON-объекта.
Если лог не появился, проверьте существование каталога и права пользователя PHP. Сообщение об ошибке записи попадет в журнал ошибок PHP.
Чтобы отключить сбор, удалите подключение обработчика.
Как декодировать параметры без ручного разбора
PHP уже декодирует значения в $_GET. Не применяйте urldecode() к ним повторно: двойное декодирование может изменить исходное значение.
Для отдельной закодированной строки используйте urldecode().
$encodedValue = 'spring+launch';
$readableValue = urldecode($encodedValue); // spring launch
$url = 'https://local.it/offer?utm_source=newsletter&utm_medium=email';
$query = parse_url($url, PHP_URL_QUERY);
$params = [];
if (is_string($query)) {
parse_str($query, $params);
}
$source = $params['utm_source'] ?? null;Функция parse_url() выделяет query-часть адреса. Функция parse_str() разбирает параметры и декодирует значения. Семейство ereg удалено в PHP 7.0; для обработки процентов оно не требуется.
Реферер можно подделать или вообще не передать. Не используйте его для авторизации, выдачи доступа или единственной проверки безопасности. UTM-метки тоже не доказывают подлинность источника.
Как прочитать реферер в access-логах nginx и Apache
Путь к access-логу задает конфигурация веб-сервера. У nginx его определяет директива access_log, у Apache – CustomLog. В панели хостинга ищите журнал обращений нужного домена.
Если вы администрируете сервер, найдите эти директивы в конфигурации сайта. Они укажут файл и используемый формат записи. Универсального расположения для всех установок нет.
В формате combined реферер стоит в кавычках после размера ответа. Следующее поле содержит User-Agent. Условная строка выглядит так:
192.0.2.10 - - [TIME] "GET /offer?utm_source=newsletter HTTP/1.1" 200 1234 "https://partner.example/" "Browser"Здесь https://partner.example/ обозначает реферер. Значение "-" на его месте означает отсутствие значения в записи. Для собственного формата nginx ищите переменную $http_referer, у Apache – спецификатор %{Referer}i.
UTM-параметры ищите в адресе запроса, если формат сохраняет query-строку.
Серверный запрос не равен визиту: логи содержат обращения роботов, запросы ресурсов и повторные загрузки. Без идентификатора посетителя отдельные строки не складываются в надежную историю его действий.
С чего начать анализ источников
Для общего распределения посещений используйте отчет источников в счетчике. Для оценки размещений заранее создавайте UTM-ссылки. Поисковые запросы изучайте в панелях вебмастеров, а отдельные технические переходы разбирайте по логам.
Совет от нашей редакции: заведите единую таблицу названий UTM-меток до первой кампании. Одинаковые правила именования позволят сравнивать размещения без ручного объединения похожих строк.
Популярное за неделю
- Как создать сайт самому в 2026: 4 способа + пошаговая инструкция 34 мин чтения
- Лучшие конструкторы для создания сайтов — плюсы, минусы и сравнения 22 мин чтения
- Существуют ли поисковики без цензуры? 2 мин чтения
- Как использовать заголовок Referer на сайте 3 мин чтения
- Как создать и разместить баннер ВКонтакте 8 мин чтения
- Сколько стоит реклама у Ольги Бузовой в Instagram 4 мин чтения
Комментарии
И гугл и яндекс при нажатии на сайт перенаправляет через какую-то страницу, которая никак не может определить запрос
А как же смотреть запросы то? Яндекс тот же через прокладку перенаправляет и запрос там шифрованный..
а можно чтобы например вот зарегистрировался юзер и в анкете выходило пришел с google.com....
Не понял как этот код ставить и куда ставить его подскажите мне.
Поставил, все работает. Вот только в некоторых ссылках вообще кракозябры вместо руских букв в ссылке. Кто нибудь знает, в как исправить?
Похоже я буду частым гостем у вас.
Либо я гдето туплю, либо в коде чёта не так(( потому-что ошибок не выдаёт, но в файл ничё не пишеццо!(((
Да жирненько и действительно просто!! спс за труды!!
У меня вот такая ошибка при считывании скрипта - Deprecated: Function ereg() is deprecated in /home/*/********/WWW/****.php on line 16
Как это исправит..скажите плиз...
звездочки сам поставил)))
А чем не нравится urldecode?