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'
               }
   })
Другие вопросы по тегам