Отслеживание 404 страниц в GA4

Материал обновлен 4 декабря 2023 и адаптирован к последней версии Google Analytics 4.

В Google Analytics можно отслеживать страницы, которые отдают 404 код ответа сервера. Это не так актуально для контекстной рекламы, но очень даже актуально для SEO.

Настройка отслеживания 404 страниц решается несколькими способами:

  • через dataLayer и настройку тега в GTM
  • через создание события в GA4
  • через простой фильтр в кастомном отчете

Разберем каждый вариант отдельно.

Способ #1: через событие в GTM

Этот способ работает с помощью скрипта, который надо добавить в шаблон страницы с 404 ошибкой:

<script>
  window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({
    event: 'error_404'
  });
</script>

На моем сайте это выглядит так:

После установки кода, создаем триггер, который будет срабатывать при событии error_404 в dataLayer:

Далее, создаем тег события GA4, который и будет отправлять данные в Google Analytics:

В моем примере я использую переменную {{Event}} в качестве название, что значит, GA4 будет фиксировать название события из dataLayer, но вы можете ввести любое значение.

Теперь, если перейти в режим отладки и перейти по несуществующей ссылке на нашем сайте, мы можем увидеть событие error_404, которое вызовет наш созданный тег и отправит данные в GA4:

Дальше — дело техники. Создаем простенький отчет в разделе “Explore” внутри GA4 и настраиваем под наши цели:

В моем случае, как видите, используется следующие параметры:

  • Event name (это лишнее, на скриншоте поставил для демонстрации),
  • Page path and screen name — путь внутри сайте (полная ссылки без домена),
  • Page referrer — откуда был переход (удобно, для понимания где битая ссылка).

Способ #2: через событие в GA4

Этот метод использует функционал GA4 по созданию события из события. Для этого нам понадобится заголовок страницы, который у нормальных CMS генерируется отдельный для 404 страницы. Обычно, это вроде “Страница не найдена — website.com”. Зная это, мы можем создать кастомное событие из другого события, вот конфигурация:

Получается, наш GA4 будет фиксировать событии “error_404_ga4”, когда следующие условия будут выполняться:

  • название события равно “page_view” (нам надо фиксировать ошибку один раз на каждую загрузку страницы);
  • заголовок начинается с “Page not found” (подставьте заголовок под ваш сайт).

В результате, мы получим следующую картину в том же простом отчете из предыдущего раздела:

В моем примере у меня два события: одно — из GTM, второе из — GA4. Понятно, что это избыточно — иметь два события для одного и того же. Поэтому используйте только один из этих вариантов.

Лично я не использую создание событий в GA4 вообще. Это неудобно — когда настройка тегов и событий ведется и в GTM, и в GA4. Гораздо лучше делать это в одном месте. В Google Tag Manager это проще, особенно когда приходится работать с несколькими платформами (Piwik, MS Clarity). Таким образом не надо настраивать события внутри каждого сервиса, достаточно создать дополнительный тег в GTM и все готово.

Способ #3: через фильтр в кастомных отчетах

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

В моем случае в отчет попадают сеансы, где были просмотры страниц, заголовки которых начинается на “Page not found”. Прелесть подобного метода, что он ретроспективен. В способах №1 и №2 надо добавлять события и они будут работать только после правок. В этом же способе заголовки страниц уже есть среди собранных данных, поэтому можно сразу получить всю нужную информацию за прошедшие периоды.

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

Привет! Я Роман Григорян, специалист по контекстной рекламе. Это мой сайт, где я делаюсь интересными заметками связанными с Google Ads, Google Tag Manager, и Google Analytics. Если вам нужна помощь с рекламой или аналитикой, напишите мне.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *