Я разрабатываю веб-страницу, и меня попросили настроить серверную часть для записи переходов пользователей по ссылкам. Я нашел Google Analytics и подумал, что это обеспечит все необходимое отслеживание. Итак, я создал учетную запись Google Analytics. В заголовке страницы я добавил:
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-MYCODEXX-1');
</script>
Затем я добавил на свою страницу такую кнопку:
<a href = "didyouknow.html" class = "btn btn-primary" onclick = "trackOutboundLink(this, 'Internal Links', 'Did You Know'); return false;">More</a>
Затем я пытался понять, как отслеживать переходы по ссылкам. Я столкнулся с 3 разными подходами и не знаю, что использовать в моем случае:
function trackOutboundLink(link, category, action) {
try {
_gaq.push(['_trackEvent', category, action]);// OPTION 1
ga('send', 'event', category, action); // OPTION 2
gtag('event', category, action); // OPTION 3
} catch (err) {
}
setTimeout(function () {
document.location.href = link.href;
}, 100);
}
Из того, что я прочитал, кажется, что ВАРИАНТ 1 устарел. ВАРИАНТ 3 больше всего соответствует коду gtag в скрипте, который мне пришлось добавить. Но тогда я не уверен, требуется ли для этого также подписка на Диспетчер тегов Google? Мне сложно тестировать, потому что системный администратор должен развернуть мои веб-страницы и сценарии на сервере и в настоящее время не очень отзывчив. Могу ли я также проверить, что это работает при локальном запуске веб-страницы на моем компьютере? Спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Gtag - это новейшая реализация Google Analytics API для Интернета. Для его работы не требуется двойной щелчок Google (но он основан на коде двойного щелчка, что позволяет упростить интеграцию позже, если вы решите его использовать).
Чтобы отследить ссылку с помощью этого метода:
function trackOutboundLink(link, category, action) {
try {
gtag('event', 'play', {
'send_to': 'UA-MYCODEXX-1',
'event_category': 'Videos',
'event_label': 'Fall Campaign'
});
} catch (err) {
}
setTimeout(function () {
document.location.href = link.href;
}, 100);
}
См. Руководство по миграции, чтобы узнать о различиях, которые приносит эта новейшая версия (по сравнению с другим кодом, который вы, возможно, нашли в Интернете). https://developers.google.com/analytics/devguides/collection/gtagjs/migration
Что касается отладки - здесь есть плагин Chrome для Analytics:
Я ранее успешно использовал это для отладки локальных событий, так как это даст некоторый вывод в консоли.
поэтому я должен заменить свой код gtag в функции javascript тем, что вы предоставили, и игнорировать регистрацию в тегах google? Является ли событие тегом по умолчанию и поэтому теги Google не нужны?
Не только замените ваш вариант 1 и вариант 2 в trackOutboundLink тем, что я предоставил. т.е. ваш вариант 3 неверен. Я обновил ответ, чтобы отразить
Хорошо, я пробую это сделать, но при локальном запуске сайта на моем компьютере ничего не происходит в Google Analytics (открыв index.html в Chrome и щелкнув ссылки). Я думаю, что параметр send_to тоже необязателен, верно?
"основан на коде двойного щелчка" - я вполне уверен, что вы имеете в виду "на основе кода Google Tag Manager (та же архитектура dataLayer и т. д.).
Ваш скрипт аналитики Google верен, и правильное включение этого в заголовок.
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-MYCODEXX-1');
</script>
При использовании последней версии скрипта Google Analytics отслеживание событий будет иметь gtag.
gtag('event', 'Title goes here', {'event_category': 'Category goes here','event_label': 'Label goes here'});
Лучший способ проверить это - войти в свою учетную запись GA. Для этого конкретного свойства в меню отчетов слева вы найдете режим реального времени. В режиме реального времени у вас есть вкладка событий.
Нажатие на событие onClick на вашем веб-сайте должно затем вызвать событие, которое будет отображаться на вкладке событий. Если вы видите, что это происходит, вы знаете, что ваши события запускаются. Это можно проверить с локального ПК.
Это также можно сделать с помощью Диспетчера тегов, но это другой процесс настройки.
По моему опыту, Диспетчер тегов Google действительно прост в использовании и может делать подобные вещи без необходимости что-либо кодировать. Я лично рекомендую вам взглянуть на это.