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"。
我在使用 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"。