Библиотеки JavaScript для Google ***ytics: в чем разница между ***ytics.js, gtag.js и ga.js

С развитием цифровых технологий, телефонии, с появлением новых форматов, стандартов и устройств необходимо выстраивать новые алгоритмы и инструменты аналитики данных.
Возможности Google ***ytics как инструмента получения данных регулярно расширяются и пополняются с помощью обновления JavaScript библиотек. В этом посте я расскажу, какие бывают библиотеки и как их использовать.
Немного истории: библиотека urchin.js и ga.js
С чего начиналась Google Аналитика? В апреле 2005 года (тогда для SEO нужны были только ссылки, а PPC и вовсе находилось в зачаточном состоянии) Google купил компанию Urchin Software, которая разработала аналитический инструмент — Urchin Web***ytics, работающий на библиотеке urchin.js. Позже, в 2006 году, Urchin Web***ytics был переименован в известный нам Google ***ytics. И уже для него в 2009 году выпустили библиотеку ga.js.
Главное преимущество ga.js было в том, что эту библиотеку научили асинхронной работе, а значит она могла загружаться в фоновом режиме, не мешая загрузке других скриптов и остального контента на сайте.
Код ga.js:
<script type=\"text/javascript\"> var _gaq = _gaq || []; _gaq.push([\\\'_setAccount\\\', \\\'UA-XXXXX-X\\\']); _gaq.push([\\\'_trackPageview\\\']); (function() { var ga = document.createElement(\\\'script\\\'); ga.type = \\\'text/javascript\\\'; ga.async = true; ga.src = (\\\'https:\\\' == document.location.protocol ? \\\'https://ssl\\\' : \\\'http://www\\\') + \\\'.google-***ytics.com/ga.js\\\'; var s = document.getElementsByTagName(\\\'script\\\')[0]; s.parentNode.insertBefore(ga, s); })();script> Как настроить расширенную электронную торговлю с помощью Google Tag Manager Google поддерживал библиотеку до 2014 года (еще год после выпуска новой версии). Использование такой библиотеки сейчас не имеет смысла, и, более того, лишает возможности использовать функции, которые внедрили в Google ***ytics после 2014 — 2015 годов (например,
В целом, вы можете использовать эту библиотеку, если не нужны расширенные функции аналитики. Но если вы используете ga.js в целях оптимизации и уменьшения кода сайта, лучше сразу перейти на ***ytics.js. У этой библиотеки пользовательская база больше, следовательно у большего числа пользователей уже есть нужный кэш.
Наследница ga.js — ***ytics.js
В 2013 году появилась библиотека ***ytics.js, она же Universal ***ytics. Библиотека поддерживала весь набор функций Google ***ytics, а именно:
- User ID;
- Measurement Protocol;
- специальные параметры и показатели;
- расширенная электронная торговля (Enhanced Ecommerce) ;
- дополнительные функции и обновления.
Кроме этих функций, Universal ***ytics изменил правила работы с cookie. Если раньше ***ytics использовал несколько файлов cookie для хранения данных, то теперь — один файл, который подписан уникальным client id.
Также увеличили количество целей с 5 до 20 и расширили настройки в интерфейсе аналитики (ранее нужно было менять некоторые настройки напрямую через код отслеживания).
Universal ***ytics подходит как начинающим пользователям для базовой настройки и простых задач, так и опытным SEO-специалистам для работы с продвинутыми функциями аналитики.
У кода ***ytics.js два варианта реализации, основной:
<script>(function(i,s,o,g,r,a,m){i[ \\\'Google***yticsObject\\\']=r;i[r]=i[r]||function(){(i[r].q=i[r]. q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode. insertBefore(a,m)})(window,document,\\\'script\\\', \\\'https://www.google-***ytics.com/***ytics.js\\\',\\\'ga\\\');ga(\\\'create\\\', \\\'UA-XXXXX-Y\\\', \\\'auto\\\');ga(\\\'send\\\', \\\'pageview\\\');script><script>window.ga=window.ga||function(){ (ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;ga(\\\'create\\\', \\\'UA-XXXXX-Y\\\', \\\'auto\\\');ga(\\\'send\\\', \\\'pageview\\\');script><script async src=\\\'https://www.google-***ytics.com/***ytics.js\\\'>script>Но нужно учитывать, что Internet Explorer 9 и старые мобильные браузеры, которые могут не поддерживать атрибут async, этот скрипт не будут загружать асинхронно. Его следует использовать только в том случае, если многие посетители просматривают ваш сайт в современных браузерах.
Последняя, но не крайняя — gtag.js
Во второй половине 2017 года комaнда Google выпустило обновление библиотеки Аналитики — gtag.js, он же Global Site Tag.
Данное обновление отличалось от перехода между Classic ***ytics (ga.js) и Universal ***ytics (***ytics.js). На этот раз выпустили абсолютно новый тег (а не обновление старого, как было до этого), который передает данные в аналитику, и подгружает подключенные к нему скрипты, в том числе и ***ytics.js.
Обновление разработали, чтобы упростить размещение различных тегов, например:
- Google ***ytics;
- Conversion.js;
- Google Optimize.
Фактически Global Site Tag является контейнером, после установки у вас всегда будут подключены скрипты из разных сервисов Google.
Код тега выглядит так:
<script async src=\"https://www.googletagmanager.com/gtag/js?id=GA_ID\"> script><script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag(\\\'js\\\', new Date()); gtag(\\\'config\\\', \\\'GA_ID\\\');script>Библиотека ***ytics.js по-прежнему работает, просто в gtag.js она загружается иначе.
Благодаря Global Site Tag легко собрать нужные инструменты в одном месте, куда подключать различные продукты и отправлять через их теги данные.
Если вы внедрили на сайте ***ytics.js, то срочно заменять его на gtag.js не стоит. К новой библиотеке следует присмотреться, только если вы подключаете много тегов.
Не стоит внедрять gtag.js, если сайт уже использует Google Tag Manager. Цитата из справки Google:
Выберите gtag.js, если вы не можете использовать Google менеджер тегов, или если для вас важны следующие возможности:
- добавление тегов непосредственно на страницу (не нужно тратить время на настройку системы управления тегами) ;
- управление тегами без использования интерфейса, благодаря изменениям их кода JavaScript.
Если вы уже работаете с менеджером тегов, не рекомендуем отказываться от него.
Как внедрить gtag.js при активной ***ytics.js
Для передачи данных в Google ***ytics ***ytics.js использует счетчики, чаще всего через метод create:
ga(\\\'create\\\', \\\'UA-XXXXX-Y\\\', \\\'auto\\\');ga(\\\'create\\\', \\\'UA-XXXXX-Z\\\', \\\'auto\\\', \\\'clientTracker\\\');Для gtag.js такие счетчики не нужны, а передача данных в необходимый ресурс осуществляется через идентификатор этого ресурса в комaнде config.
Чтобы перейти с ***ytics.js на gtag.js, на каждой странице сайта необходимо сменить код Universal ***ytics на код указанный выше Global Site Tag, но заменив переменную GA_ID на собственный идентификатор Google ***ytics. Как его подключить?
1. Просмотры страницы
Для отслеживания просмотров страниц необходимо удалить стандартный код ***ytics.js. Если используется счетчик по умолчанию, то код будет выглядеть так:
ga(\\\'create\\\', \\\'GA_ID\\\', \\\'auto\\\');ga(\\\'send\\\', \\\'pageview\\\');Вместо него необходимо внедрить код:
gtag(\\\'config\\\', \\\'GA_ID\\\');Если используете такой кастомный счетчик:
ga(\\\'create\\\', \\\'GA_ID\\\', \\\'auto\\\', \\\'trackerName\\\');ga(\\\'trackerName.send\\\', \\\'pageview\\\');То нужно внедрить вместо него gtag.js event:
gtag(\\\'event\\\', \\\'page_view\\\', { \\\'send_to\\\': \\\'GA_ID\\\' });2. Отслеживание событий
Для стандартного кода необходимо удалить счетчик send:
ga(\\\'create\\\', \\\'GA_ID\\\', \\\'auto\\\');ga(\\\'send\\\', \\\'event\\\', \\\'Button\\\', \\\'click\\\', \\\'Fall Campaign\\\');И разместить комaнду event:
gtag(\\\'event\\\', \\\'click\\\', { \\\'event_category\\\': \\\'Button\\\', \\\'event_label\\\': \\\'Fall Campaign\\\'});Для кастомного счетчика:
ga(\\\'create\\\', \\\'GA_ID\\\', \\\'auto\\\', \\\'clientTracker\\\');ga(\\\'clientTracker.send\\\', \\\'event\\\', \\\'Button\\\', \\\'click\\\', \\\'Fall Campaign\\\');Разместить комaнду event:
gtag(\\\'event\\\', \\\'click\\\', { \\\'send_to\\\': \\\'GA_ID\\\', \\\'event_category\\\': \\\'Button\\\', \\\'event_label\\\': \\\'Fall Campaign\\\'});3. Специальные параметры и показатели
Удаляем все send комaнды ***ytics.js для специальных параметров:
ga(\\\'send\\\', \\\'hitType\\\', { \\\'dimension\\\' : \\\'dimension_value\\\'});И заменяем на:
gtag(\\\'config\\\', \\\'GA_ID\\\', { \\\'custom_map\\\': {\\\'dimension\\\' : \\\'dimension_name\\\'}});gtag(\\\'event\\\', \\\'any_event_name\\\', {\\\'dimension_name\\\': \\\'dimension_value\\\'});То же для комaнд, которые отправляют специальные показатели:
ga(\\\'send\\\', \\\'hitType\\\', { \\\'metric\\\' : \\\'metric_value\\\'});Заменяем на:
gtag(\\\'config\\\', \\\'GA_ID\\\', { \\\'custom_map\\\': {\\\'metric\\\' : \\\'metric_name\\\'}});gtag(\\\'event\\\', \\\'any_event_name\\\', {\\\'metric_name\\\': \\\'metric_value\\\'});4. Отслеживание пользовательского времени
Необходимо удалить код:
ga(\\\'send\\\', \\\'timing\\\', \\\'timingCategory\\\', \\\'timingVar\\\', timingValue, \\\'timingLabel\\\');И внедряем вместо него:
gtag(\\\'event\\\', \\\'timing_complete\\\', { \\\'name\\\': \\\'timingVar\\\', \\\'value\\\': timingValue, \\\'event_category\\\': \\\'timingCategory\\\', \\\'event_label\\\': \\\'timingLabel\\\'});5. Установка Google Optimize
В gtag.js уже встроены фреймворки — их нужно лишь активировать. Для активации Google Optimize необходимо добавить параметр в последнюю строчку стандартного кода gtag.js:
<script async src=\"https://www.googletagmanager.com/gtag/js?id=GA_ID\"></script><script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag(\\\'js\\\', new Date()); gtag(\\\'config\\\', \\\'GA_ID\\\'), { \\\'optimize_id\\\': \\\'OPT_CONTAINER_ID\\\'});</script>Где:
OPT_CONTAINER_ID — ваш идентификатор Google Optimize.
GA_ID — ваш идентификатор аналитики во всех представленных примерах.
Рекомендую размещать код с Google Optimize как можно выше в теге
, иначе страница может прогружаться раньше, чем сработает код, и пользователь заметит смену элементов страницы после запуска кода.Подведем итоги
Если вы все еще используете библиотеку ga.js для отслеживания данных в аналитике, замените её на ***ytics.js. В противном случае вы теряете возможность детально настроить получаемые данные и отслеживать их с помощью User ID и Measurement Protocol.
Что касается gtag.js, то на него можно переходить уже сейчас, но в этом нет острой необходимости. Если ваш сайт использует множество сервисов от Google и в код следует внедрять большое количество тегов, а Google Tag Manager по каким-то причинам не подходит — Global Site Tag мастхев, как в плане удобства для подключения новых тегов, так и по скорости загрузки страниц сайта.
Остались опросы? Давайте обсудим в комментариях. И подписывайтесь на рассылку, чтобы не пропустить новые посты о фишках Google ***ytics:
Истории бизнеса и полезные фишкиКомментарии:
Обновление от Google: похожие аудитории можно использовать не только для медийных, но и для поисковых и торговых кампаний...
14 10 2026 4:15:22
Как бесплатно отключить смс уведомление. Плюс — подсказки для маркетологов: как снизить негативное отношение к бренду. То есть, как красиво предоставить возможность отписаться от смс клиентам, и не слить бюджет на ненужные сообщения. Узнать больше!...
13 10 2026 6:29:25
Как и где найти хорошего автора для вашего сайта: сравнение платформ копирайтинга, форматы оплаты (объем или качество), фишки по выбору фрилансера. Читать дальше!...
12 10 2026 0:35:19
Как заинтересовать инвесторов, сколько времени это займет, а также стратегии поиска....
11 10 2026 2:36:24
Как создать Apple ID и настроить поисковую рекламу в App Store...
10 10 2026 8:38:55
Положительная динамика с первых месяцев работы....
09 10 2026 18:44:55
У нас на руках оказались все карты для создания собственного мини-рейтинга популярных сервисов email-рассылок....
08 10 2026 21:16:13
Как работать с новой функцией, чтобы набирать подписчиков и делать продажи. Подробное и актуальное руководство в 2021 году....
07 10 2026 1:18:20
Используйте методы Элияху Голдратта для оптимизации процессов в жизни и на работе...
06 10 2026 20:44:44
Если у интернет-магазина, форума да и любого другого сайта нет мобильной версии, почти 40 процентов пользователей будут искать другой ресурс. Как удержать их? Узнать!...
05 10 2026 0:32:56
Какой движок сайта стоит выбрать...
04 10 2026 20:15:47
Примеры странной, классной и непонятной рекламы в соцсетях из моей ленты за февраль 2021 года...
03 10 2026 22:37:20
Это исследование для тех, кто хочет выяснить, эффективно ли работать с лидами, если им год и больше...
02 10 2026 10:41:55
Технологии решают, но не всегда....
01 10 2026 13:46:27
Раскрутка музыки онлайн: способы, методы, нюансы и примеры...
30 09 2026 14:19:44
Инструкция для трудоголиков для тех, кто старается выполнить как можно больше заданий, а заметного прогресса при этом нет. Работать много и эффективно не всегда полезно. Если бы эффективная работа была залогом успеха, каждому хомяку воздвигли бы памятник...
29 09 2026 1:51:18
Определение частотности запросов — задача первоочередной важности для составления адекватного семантического ядра, наполнения качественным контентом и контекстной рекламой...
28 09 2026 17:44:52
Мы запустили еще один полезный инструмент: Netpeak Spider....
27 09 2026 14:13:54
Алексей Селезнев проанализировал, как дорого обходятся рекламодателям клики по объявлениям в 25 тематиках и 92 странах....
26 09 2026 1:49:59
О неправильных тpaктовках отчета по времени загрузки страниц сайта в ***ytics...
25 09 2026 3:31:11
На украинском рынке услуг велик выбор качественных платформ. Главное понимать, как правильно проводить миграцию....
24 09 2026 9:25:45
Вместо легкой пятничной темы, представляю вольный перевод статьи автора книги «Позитивная иррациональность»....
23 09 2026 23:27:34
Понятные людям и роботам URL. Это уникальный набор символов, который дает возможность идентифицировать всевозможные ресурсы в интернете (страницы сайтов, файлы, изображения, видео и так далее). Чтобы узнать больше, читайте далее!...
22 09 2026 17:17:35
Как и зачем отслеживать конверсии с тегом Google Рекламы...
21 09 2026 7:39:25
Академия — набор структурированного контента, интеpaктивных заданий и обучающих курсов, посвященных конкретному продукту или индустрии в целом...
20 09 2026 21:10:55
Устанавливаем тег конверсий: самостоятельно и с помощью Google Tag Manager....
19 09 2026 8:46:10
Алгоритм настройки и запуска рекламы для SMM-, PPC-специалистов, блогеров и владельцев бизнеса....
18 09 2026 15:52:54
кейсы по seo интернет-магазина модной одежды в Болгарии: как мы сняли негативный эффект от Google Penguin и получили ROMI (возврат маркетинговых инвестиций) 1428%...
17 09 2026 0:28:49
Cafe case. Знакомство аудитории с только что открывшимся заведением: online + offline....
16 09 2026 13:56:16
Как написать годный кейс и победить страх чистого листа...
15 09 2026 23:25:38
Цель — трафик facebook. Делимся кейсом проекта «Мой город»....
14 09 2026 0:55:30
Пуш для рекламных кампаний накануне праздничных распродаж...
13 09 2026 7:11:52
Как работать с Facebook ***ytics — бесплатным инструментом с богатым инструментарием и лучшей из всех существующих решений интеграцией с платформой Facebook...
12 09 2026 12:35:47
Советы и даже требования SEO-специалистов к разработчикам сайтов....
11 09 2026 18:30:39
Если на вашем смартфоне установлен только стандартный набор Uber, Glovo, 2ГИС и нескольких мессенджеров — смотрите подборку необычных и смешных приложений....
10 09 2026 9:19:31
Айти эксперт Женя Розинский о том, почему нацию айти развивают продуктовые бизнесы, а не outsourcing сервисы...
09 09 2026 15:50:20
Правила, требования, особенности. А ещё примеры, которые помогут создать правильную, с точки зрения поисковиков, рекламу. Читать!...
08 09 2026 7:29:52
На вопрос «как все успеть?» хочется ответить что-то вроде «никак». Особенно, если дело касается задач, связанных с творчеством. Но можно и не срывать дедлайны. Читать дальше....
07 09 2026 2:21:44
И как проверить релевантность на своем сайте. Если речь идет о страницах (сайтах), подразумевается соответствие контента запросу. Чем точнее страница отвечает на запрос, решает задачу пользователя, тем (при прочих равных) выше ее позиция в поисковой выдаче....
06 09 2026 0:12:14
Видеомаркетинг должен стать обязательной частью рекламной онлайн-стратегии, и мы собрали несколько подтверждений этому в нашей инфографике....
05 09 2026 14:43:11
Блог на новом движке и с новым дизайном, перетянувший в себя огромное количество постов и комментариев за Х лет своей работы...
04 09 2026 12:45:44
Нет прокрастинации! Советы для личной эффективности от руководителя двух стартапов...
03 09 2026 4:49:33
Пример, как 4000+ гривен превращаются в 45000+ гривен. Ниша интернет-магазинов, да еще и бытовой техники уже давно является высококонкурентной. Но при правильном продвижении даже новичок может добиться результатов....
02 09 2026 5:34:25
Четкая структура полноценного письма с примерами из рассылок крупных компаний: Aviasales, LinguaLeo, Rozetka, Yves Rocher, Pich Shop, Эльдорадо и другие....
01 09 2026 16:56:39
Наибольший эффект по продвижению сайта при минимальных затратах — именно таков принцип SEO growth hacking. Как найти кратные точки роста, читайте статье....
31 08 2026 18:46:58
Итоги одной из наших первых онлайн рекламных кампаний в Play...
30 08 2026 0:13:49
Чем радовала, смущала и шокировала реклама в социальных сетях в марте 2021-го...
29 08 2026 17:58:16
Как отключить блокировку API запрещенных сервисов в скриптах R и продолжать использовать пакеты ryandexdirect, rvkstat, rmytarget, Google Sheets и BigQuery...
28 08 2026 2:16:58
Опыт удаленки стартапа lemlist. Как сотрудники работали онлайн в доковидные времена и совмещали профессиональную деятельность с тимбилдингом. Читайте в коротком посте Владимира Поло, основателя AcademyOcean....
27 08 2026 20:14:17
Расскажем в двух словах о всеми забытой функции «Анализ конкуренции»....
26 08 2026 16:48:47
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::