Лучше использовать что-то одно. А если оба сразу — будет бяка) Один просмотр страницы будет считаться за два. Я не думал, что гугл такой подлый и будет считать за два) Всю жизнь пользовался gtag (раньше ga) и не заморачивался что такое GTM. Создал в google analitycs цели, скриптом отправил имя действия по цели и порядок. Тут попался клиент — подвесить динамический слушатель, отследить ему конверсии в хитром месте. У клиента в хедере Google Tag Manager с которым его спец по рекламе обгадился и не может сделать этого, ибо реализовать надо «хитро» на js. Мне было лень идти читать инструкции по работе со всякой обосранной фигней. Ну я на радостях влепил ему плюс ещё код gtag в подвал, запилил нужную js логику, по обычаю обработчики эвентов подвесил gtag(‘event’, ‘ляп’), вроде норм — работает. И тут такая подстава — каждый просмотр фиксирует в аналитике за два и отключить это без нарушения отправки эвентов нельзя. Пришлось идти разбираться с этой дурнотой:
Мама-мия, ох и дурнотаааааа… кнопочки — …уепочки, всё через кнопочки. Ненавижу кнопочки. Это извращение. Ну есть javascript, ну зачем изобретать велосипеды? Главное написано — лёгкое решение, кто не хочет нанимать js прогрмаммиста типо вам сюда. Угу(тут мат был).
В общем так. Напишу, чтобы не забыть как оно делается, минимальные настройки отправки эвентов. Сервис тут https://tagmanager.google.com/ Чтобы отправлять javascript-ом свои действия по цели, создаём в тег менеджере переменную с настройками Google Analiytics в которую вносим идентификатор отслеживания. Потом создаём триггер с типом «пользовательское событие» и именем нашего события. Потом создаем тег с конфигурацией «Google Аналитика — Universal Analitycs», тип отслеживания — «событие», действие — «имя события», настройки Google Analiytics — указываем ту переменую, что с идентификатором создали раньше и привязываем триггер активации с нашим пользовательским событием. И в аналитике естественно эта цель должна быть тоже прописана. И вот теперь мы можем с чистой совестью отправлять события из скрипта таким образом: dataLayer.push({‘event’: ‘nameEvent’}); Стоп! Пардон, не событиЯ, а событиЕ nameEvent, ибо для другого события процедуру создания тега и триггера надо будет повторить) Согласитесь, это всё гораздо проще, чем этот велосипет с gtag: gtag(‘event’, ‘nameEvent’); Это конечно самый элементарный вариант, да можно заморочиться, настроить dataLayer и динамически, разобраться в этом подробно, а зачем такая сложная архитектура? В аналитике всего 20 целей на одно представление. Может крупные-крупные мега-корпорации настраивают конечно по 10 представлений и 200 целей, а средней фирмочке-магазину вполне достаточно и 3 — 10 эвентов отследить конверсии и условия к ним. Я так считаю.