gtag 不发送事件的自定义尺寸

gtag not sending custom dimensions for events

我在使用 gtag 发送到自定义维度时遇到问题。我目前正在关注 their gtag documentation

为我的 google 分析创建的自定义维度的屏幕截图 属性

目前我正在使用以下代码在头部初始化我的 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'
                            });

期待回复,因为过去两天我在解决这个问题上没有取得任何进展。

所以在反复经历了很多次之后,我意识到了问题的原因。

我们的应用程序是 SPA 与服务器端呈现页面的混合体。在我们的前端路由器中,我正在这样做

let path = SomeRouter.currentPath
gtag('config', gaTrackingCode, {page_path: path})

问题是我在发送页面视图时没有将 custom_map 再次传递到配置中

每次你调用gtag('config', gaTrackingCode, configParameters)你需要重新发送configParamters中的custom_map如果你设置custom dimensions and metrics.

因此我将代码更改为如下所示

let path = SomeRouter.currentPath
gtag('config', gaTrackingCode,
  {
     page_path: path,
     custom_map: {
               'dimension1': 'user_type'
               'dimension2': 'organization_id'
               }
   })

现在,当我发送事件时,无论路由是否发生变化,自定义维度都会发送到 google 分析。

我很笨,我一辈子都看不懂 Google 关于 Custom dimensions and metrics with gtag.js 的文档。

感谢其他答案的作者为我指明了正确的方向,但他们的答案并没有让我到达终点。所以这就是我如何逐步实现自定义维度的工作。

示例:跟踪具有两个自定义维度的页面浏览量

第 1 步: 您必须在 Google Analytics 管理网站中 add/configure 自定义维度 在您可以在代码中跟踪它们之前。换句话说,您必须让 Google Analytics 知道您打算发送维度。按照以下说明添加维度:Create and edit custom dimensions and metrics

对于这个例子,我创建了两个维度,分别称为 "yourFirstDimensionName" 和 "yourSecondDimensionName"。两者的范围都是 "Hit".

第 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"。