Техническая поддержка

Настройка gtag.js для Google Ads: установка и устранение ошибок 2026

Настройка gtag.js для Google Ads: установка и устранение ошибок 2026
0.00
(0)
Просмотров: 13
Время прочтения: ~ 8 мин.
Гугл
12.04.26
Редакция NPPR TEAM
Содержание

Коротко: gtag.js — прямая JavaScript-библиотека Google для отправки конверсионных событий без дополнительного контейнера. Работает быстрее, чем через Google Tag Manager, и остаётся полностью в коде сайта. Неверная настройка убивает данные о конверсиях и лишает Smart Bidding сигналов. Для кампаний на аккаунтах Google Ads точный gtag.js — важнейший технический шаг.

✅ Подходит если❌ Не подходит если
Есть прямой доступ к коду сайтаТы маркетолог без технических навыков
Нужна минимальная задержка теговGTM уже развёрнут на всём сайте
Один домен, простая структураУправляешь 20+ сайтами централизованно
Хочешь отлаживать через Tag AssistantНужен server-side tagging (использй sGTM)

Важное уточнение: Этот гайд про gtag.js — глобальный тег Google, который грузится через <script> прямо в HTML. Это не Google Tag Manager (GTM) — это отдельная система контейнеров. Обе технологии используют функцию gtag() внутри, но механизм загрузки, отладка и сценарии использования у них принципиально разные.

Что изменилось в gtag.js для Google Ads в 2026

ФункцияДо 20252026
Загрузка тегаТолько gtag.jsОбъединён в Google Tag (gtag.js IS Google Tag)
Enhanced ConversionsОпциональноПо умолчанию для новых целей конверсии
Tag AssistantРасширение ChromeВстроен в Chrome DevTools → панель Tag Assistant
Consent Mode v2ОпциональноОбязателен для EU/EEA (GDPR)
Авто-событияРучныеsend_page_view автоматически срабатывает при SPA
  • Консолидация Google Tag: Сниппет gtag.js теперь универсальный загрузчик для всех продуктов Google (Ads, Analytics, Merchant Center) — один сниппет покрывает всё
  • Consent Mode v2 обязателен для EU-рекламодателей — без gtag('consent', 'default', {...}) перед срабатыванием тега = нулевые данные о конверсиях от EU-пользователей
  • Enhanced Conversions включён по умолчанию в новых аккаунтах Google Ads с 2026 — объект user_data теперь часть стандартного конверсионного события

gtag.js против Google Tag Manager — ключевые отличия

Параметрgtag.jsGoogle Tag Manager
ВнедрениеТег script в <head>Контейнерный сниппет GTM
Кто управляетРазработчикМаркетолог
Задержка тега~50 мс~80-150 мс (загрузка контейнера)
ОтладкаTag Assistant + консольРежим предпросмотра GTM
ВерсионированиеGit (код)GTM Workspaces
Server-sideНет (нужен sGTM)Да (через sGTM)
Лучше дляПрямой контроль, производительностьМного тегов, без разработчика

Установка gtag.js: пошаговая инструкция

Шаг 1: Получи ID тега Google

В Google Ads: Инструменты → Менеджер данных → Подключённые продукты → Google Tag. ID тега начинается с AW-, затем номер аккаунта. Формат: AW-123456789.

Шаг 2: Добавь сниппет на каждую страницу

Вставь в раздел <head> каждой страницы, до всех остальных скриптов:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'AW-XXXXXXXXX');
</script>

Замени AW-XXXXXXXXX на свой реальный ID. Атрибут async гарантирует что тег не блокирует рендеринг страницы — критично для Core Web Vitals.

Читайте также: Enhanced Conversions Google Ads: настройка, хеширование, польза в 2026

⚠️ Важно: Если сайт использует заголовок Content Security Policy (CSP), добавь https://www.googletagmanager.com и https://www.google-analytics.com в директивы script-src и connect-src. Блокировка этих доменов беззвучно ломает тег — никаких ошибок в интерфейсе, только пропавшие данные о конверсиях.

Шаг 3: Добавь событие конверсии

Для каждой цели конверсии (клик по кнопке, отправка формы, покупка) — отдельное событие. Конверсионный лейбл смотри в Цели → Конверсии → твоя цель → Настройка тега → Использовать Google Tag напрямую:

<script>
  gtag('event', 'conversion', {
    'send_to': 'AW-XXXXXXXXX/YYYYYYYYYYYY',
    'value': 1.0,
    'currency': 'RUB',
    'transaction_id': ''
  });
</script>

Для Enhanced Conversions добавь объект user_data:

gtag('event', 'conversion', {
  'send_to': 'AW-XXXXXXXXX/YYYYYYYYYYYY',
  'value': 5000.00,
  'currency': 'RUB',
  'user_data': {
    'email_address': sha256(userEmail), // хешировать
    'phone_number': sha256(userPhone)   // хешировать, формат E.164
  }
});

Google хеширует данные автоматически если ты передаёшь их в открытом виде в объект user_data — но серверное SHA-256 хеширование предпочтительно для соблюдения GDPR.

Запускаешь кампании с оптимизацией конверсий? Убедись что трекинг настроен на аккаунтах Google Ads — новые аккаунты без истории конверсий 4-6 недель накапливают сигналы до стабилизации Smart Bidding.

Добавь дефолты согласия до вызова gtag('config'):

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
  'analytics_storage': 'denied',
  'wait_for_update': 500
});

После принятия согласия пользователем через CMP обновляй:

gtag('consent', 'update', {
  'ad_storage': 'granted',
  'ad_user_data': 'granted',
  'ad_personalization': 'granted',
  'analytics_storage': 'granted'
});

⚠️ Важно: Без Consent Mode v2 политика EU User Consent Policy Google запрещает показ персонализированной рекламы пользователям из EU. Пропуск этого шага = потеря данных о конверсиях из ваших самых ценных рынков и отсутствие сигнала для Smart Bidding.

Читайте также: Настройка отслеживания конверсий Google Ads: GTM, улучшенные конверсии и полный гайд

Проверка: правильно ли срабатывает тег

Метод 1: Tag Assistant

Открой Chrome → перейди на нужную страницу → DevTools → вкладка Tag Assistant (или зайди на tagassistant.google.com). Тег показывает:

  • Зелёная галка: тег срабатывает корректно
  • Жёлтое предупреждение: срабатывает, но есть проблемы в конфигурации
  • Красная ошибка: тег не срабатывает или заблокирован

Метод 2: Вкладка Network

DevTools → вкладка Network → фильтр по googletagmanager.com или doubleclick.net. После конверсионного события должен появиться запрос к https://googleads.g.doubleclick.net/pagead/viewthroughconversion/ со статусом 200.

Метод 3: dataLayer в консоли

console.log(window.dataLayer);

Каждый вызов gtag() пушит объект в этот массив. Проверь что твоё конверсионное событие появилось с нужными параметрами.

Читайте также: Как интегрировать трекер с Google Ads: пошаговый гайд для медиабайера

Кейс: E-commerce сайт, кампании Google Shopping + Search, $500/день бюджета. Проблема: Трекинг конверсий показывал 0 конверсий 2 недели, хотя продажи шли. Tag Assistant показывал «тег не найден». Действие: Исследование через вкладку Network — gtag.js был заблокирован Cloudflare Rocket Loader, который откладывал все скрипты. Сниппет <head> стоял после стороннего скрипта, который переопределял dataLayer. Результат: Отключили Rocket Loader для URL gtag.js, переместили сниппет в первый <script> в <head>. Конверсии начали фиксироваться через час. Smart Bidding вышел из режима «Обучение» за 12 дней при 67 атрибутированных конверсиях.

Типичные ошибки и их решения

Тег срабатывает, но конверсии показывают «Не подтверждено» Подожди 24-48 часов после первого срабатывания. Если после 48 ч статус не изменился: проверь что конверсионный лейбл в send_to точно совпадает с лейблом в Google Ads (регистр важен).

Двойной счёт конверсий (2x или 3x) Один и тот же пиксель срабатывает дважды — и при загрузке страницы, и в onClick-обработчике. Выбери один метод. Также проверь, не заходят ли пользователи на страницу спасибо повторно (кешированные редиректы могут перезапускать page-load события).

Конверсии есть в GA4, но нет в Google Ads Ты отправляешь события на G- (GA4 ID) вместо AW- (Ads ID). Это разные системы. Нужен отдельный вызов gtag('event', 'conversion', { 'send_to': 'AW-...' }).

Enhanced Conversions данные не появляются в отчётах Данные Enhanced Conversions появляются через 24-72 часа. Убедись что объект user_data заполнен — если поле email пустое (пользователь не авторизован), матчинг молча проваливается. Целевой процент заполненности email на конверсионных событиях — 60%+.

Кейс: Лидген лендинг, финансовая вертикаль, $150/день. Проблема: Тег корректно срабатывал по Tag Assistant, но Google Ads показывал на 40% меньше конверсий чем CRM. Подозрение на проблему с окном атрибуции. Действие: Включили Enhanced Conversions, передаём хешированный email из события отправки формы. Оказалось 35% лидов приходят из Safari (ITP блокирует GCLID-cookies). Enhanced Conversions поймал их через матчинг email. Результат: Атрибутированные конверсии выросли на 38%. CPL в отчётах упал с $94 до $68, совпав с данными CRM. tCPA Smart Bidding стабилизировался за 3 недели.

Настройка для SPA (React, Vue, Angular)

Для одностраничных приложений, где смена URL не вызывает полную перезагрузку страницы:

// Отключи авто page_view
gtag('config', 'AW-XXXXXXXXX', { send_page_view: false });

// Отправляй вручную при смене роута
history.pushState = (function(original) {
  return function() {
    original.apply(this, arguments);
    gtag('event', 'page_view', {
      'page_path': window.location.pathname
    });
  };
})(history.pushState);

Это предотвращает задвоение page_view и обеспечивает корректный подсчёт конверсий.

Быстрый старт: чеклист

  • [ ] Получить ID тега AW- в Google Ads → Инструменты → Менеджер данных
  • [ ] Вставить сниппет gtag.js в <head> до всех скриптов на каждой странице
  • [ ] Реализовать Consent Mode v2 дефолты до gtag('config') (обязательно для EU)
  • [ ] Добавить конверсионное событие на страницу спасибо или в onClick-обработчик
  • [ ] Передать user_data для Enhanced Conversions (хешировать email + телефон)
  • [ ] Проверить: Tag Assistant показывает зелёный цвет на ключевых страницах
  • [ ] Проверить: Network вкладка показывает запрос к doubleclick.net
  • [ ] Проконтролировать: нет задвоений конверсий в отчётах через 48ч
  • [ ] Для SPA: отключить авто page_view, настроить ручные события на роут-ченджах

Нужны чистые аккаунты для тестирования gtag.js настройки? Смотри аккаунты Google Ads — прогретые аккаунты позволяют пропустить очередь верификации и сразу начать накапливать данные атрибуции.

Что читать дальше

Другие статьи

Часто задаваемые вопросы

Что такое gtag.js и чем он отличается от Google Tag Manager?

`gtag.js` — JavaScript-библиотека, которую ты добавляешь напрямую в HTML сайта. Она отправляет события в Google Ads и Analytics без дополнительных систем. GTM — отдельная система управления тегами: добавляешь один контейнерный сниппет, а потом управляешь тегами через веб-интерфейс без разработчиков. Обе используют функцию `gtag()`, но GTM добавляет управляющий слой.

Нужно ли использовать оба — gtag.js и GTM?

Нет, это альтернативы. Если GTM уже установлен на сайте — настрой тег конверсий Google Ads внутри GTM через шаблон «Google Ads Conversion Tracking». Если предпочитаешь прямой код — используй gtag.js. Запуск обоих одновременно приводит к задвоению конверсий.

Как найти конверсионный лейбл для параметра send_to?

Google Ads → Цели → Конверсии → кликни на свою цель → Настройка тега → Использовать Google Tag напрямую. Увидишь сниппет с `send_to: 'AW-XXXXXXXXX/LABEL'`. Значение `/LABEL` уникально для каждой цели конверсии.

Почему Tag Assistant показывает жёлтое предупреждение на теге?

Жёлтые предупреждения обычно некритичны: page view срабатывает до разрешения Consent Mode, или ID тега ещё не привязан к активной кампании. Самая распространённая исправляемая проблема — Consent Mode не инициализируется до вызова `gtag('config')`.

Можно ли отправлять gtag.js события с сервера?

Нет — gtag.js работает только в браузере. Для серверного трекинга конверсий используй Google Ads Conversion Measurement API (GAPI) или разворачивай server-side Google Tag Manager (sGTM).

Сколько времени до получения статуса «Подтверждено» у новой цели конверсии?

После хотя бы одного корректного срабатывания тега верификация занимает 24-48 часов. Если статус «Не подтверждено» через 72 часа — проверь что лейбл в `send_to` совпадает точно (с учётом регистра), цель конверсии активна (не удалена) и тег срабатывал не на localhost.

Как не потерять конверсии из Safari из-за ITP?

Включи Enhanced Conversions с передачей хешированного email пользователя. Это компенсирует блокировку GCLID-cookies в Safari через матчинг по авторизованным аккаунтам Google. Также рассмотри сервер-сайд трекинг через GAPI или sGTM — он не зависит от браузерных ограничений.

Что делать если сниппет gtag.js не работает на AMP-страницах?

AMP использует специальный компонент `` вместо стандартного `

Об авторе

Редакция NPPR TEAM
Редакция NPPR TEAM

Материалы подготовлены командой медиабайеров NPPR TEAM — 15+ специалистов с суммарным опытом более 7 лет в закупке трафика. Команда ежедневно работает с TikTok Ads, Facebook Ads, Google Ads, тизерными сетями и SEO в регионах Европы, США, Азии и Ближнего Востока. С 2019 года выполнено более 30 000 заказов на платформе NPPRTEAM.SHOP.

Статьи