gtag не отправляет пользовательские измерения для событий
У меня проблемы с использованием gtag для отправки в нестандартные размеры. Я в настоящее время следую за их документацией gtag.
Снимок экрана: пользовательские размеры, созданные для моего свойства Google Analytics
Прямо сейчас я инициализирую свой gtag в голове следующим кодом:
%script{:async => "", :src => "https://www.googletagmanager.com/gtag/js?id=#{APP_CONFIG[:ga_tracking_code]}"}
:javascript
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '#{APP_CONFIG[:ga_tracking_code]}', {
'custom_map': {
'dimension1': 'user_type'
'dimension2': 'organization_id'
}
});
События в настоящее время регистрируются так
gtag('event', 'test_event', {
'event_category': 'test_category',
'organization_id': 'test_org',
'user_type': 'test_user_type'
});
С нетерпением жду ответов, поскольку я не добился прогресса, выясняя это в течение последних двух дней.
2 ответа
Поэтому, пройдя через это снова и снова, я понял причину проблемы.
Наше приложение представляет собой сочетание SPA с серверными страницами. В нашем роутере для внешнего интерфейса я этим занимался
let path = SomeRouter.currentPath
gtag('config', gaTrackingCode, {page_path: path})
Проблема заключалась в том, что я не проходил мимо custom_map
снова в конфигурацию при отправке просмотра страницы
Каждый раз, когда вы звоните gtag('config', gaTrackingCode, configParameters)
вам нужно отправить custom_map
в configParamters
если вы устанавливаете пользовательские размеры и метрики.
Поэтому я изменил код, чтобы выглядеть так
let path = SomeRouter.currentPath
gtag('config', gaTrackingCode,
{
page_path: path,
custom_map: {
'dimension1': 'user_type'
'dimension2': 'organization_id'
}
})
Теперь, когда я отправляю событие, независимо от того, изменился ли маршрут, пользовательские измерения отправляются в Google Analytics.
Я плотный, и я не могу за жизнь мне понять, в документации компании Google о пользовательских размерах и показателях с gtag.js.
Спасибо авторам других ответов за то, что они указали мне правильное направление, но их ответы не привели меня к финишу. Итак, вот как я шаг за шагом заставил мою реализацию специальных размеров работать.
Пример: отслеживание просмотра страницы с помощью двух специальных параметров
Шаг 1: вы должны добавить / настроить специальные параметры на веб-сайте администратора Google Analytics, прежде чем вы сможете отслеживать их в своем коде. Другими словами, вы должны сообщить Google Analytics, что вы планируете отправлять измерения. Добавьте параметры, следуя этим инструкциям: Создание и редактирование специальных параметров и показателей.
Для этого примера я создал два измерения, названные "yourFirstDimensionName" и "yourSecondDimensionName". Оба имеют прицел "Хит".
Шаг 2: во время выполнения настройте размеры и установите их значения
var pagePath = location.href;
var pageTitle = 'This is a test!';
gtag('config', 'YOUR_TRACKING_ID_HERE',
// Tell GTag how to map the dimension names with the values.
'custom_map': {
'dimension1': 'yourFirstDimensionName',
'dimension2': 'yourSecondDimensionName'
},
// Set the page track information
'page_path': pagePath,
'page_title': pageTitle,
// Set the actual values of the dimensions.
'yourFirstDimensionName': 'theValueOfTheFirstDimension',
'yourSecondDimensionName': 'theValueOfTheSecondDimension',
);
Шаг 3: используйте расширение Google Analytics Debugger Chrome, чтобы посмотреть, что на самом деле отправляет GTag
Используя веб-браузер Google Chrome, установите расширение Google Analytics Debugger. Откройте Инструменты разработчика F12, а затем посетите страницу, на которой запущен ваш скрипт GTag. Если ваш код GTag работает правильно, вы должны увидеть, что специальные параметры появляются в полезной нагрузке команд "pageview", как показано ниже.
В этом примере скриншота специальный параметр "Dimension1" имеет значение "QA".
Был бы тот же формат, если бы у вас было 4 разных пользовательских размера? такие как...
let path = SomeRouter.currentPath
gtag('config', gaTrackingCode,
{
page_path: path,
custom_map: {
'dimension1': 'user_type'
'dimension2': 'organization_id'
'dimension3': 'description'
'dimension4': 'department'
}
})