google-tag-manager - 自定义 javascript 无法返回客户端 ID var google tag manager
问题描述
我尝试使用自定义 javascript 获取客户端 ID,但它无法返回该值。下面是尝试过的代码。想向各位高手寻求帮助。谢谢。
function () {
return function () {
try {
var trackers = ga.getAll();
trackers.forEach(function(tracker) {
var cid = tracker.get('clientId');
tracker.set('dimension1', cid);
});
} catch (e) {}
}
}
解决方案
您的自定义变量返回一个函数,而不是一个值(因为该函数从未实际执行过)。
为每个当前跟踪器获取 clientId 的更好方法是在 Google Analytics 中使用自定义任务(任务基本上是跟踪器生命周期中的各个步骤,从检查客户端 ID 是否存在到组装有效负载到实际发送数据)。任务是通过“设置字段”配置添加到 GA 标记的 Javascript 函数。任务可以访问跟踪器数据模型,并且可以添加、删除或修改有效负载中的值。
您可以通过 GTM 使用的唯一任务是 customTask,顾名思义,它为跟踪器添加了自定义功能。
如果您使用以下代码创建名为“getClientId”的自定义 javascript 变量:
function() {
// Modify customDimensionIndex to match the index number you want to send the data to
var customDimensionIndex = 5;
return function(model) {
model.set('dimension' + customDimensionIndex, model.get('clientId'));
}
}
然后转到您的 GA 设置标签,并在“设置字段”配置中将字段名称“customTask”设置为变量作为值,clientId 将从数据模型中提取并作为自定义维度添加到有效负载中。
推荐阅读
- keras - 如何从 image_dataset_from_directory() 中选择自定义图像
- javascript - 在包含(文字连接)中使用文字和续集
- java - 如何在字符编号和大写小写之间添加空格(反之亦然)?
- c++ - 为工作函数中的每个输出指定 noutput_items
- python - 如何在此 JSON 中为 Python DeepDiff 制定 ExcludePath 正则表达式?
- php - 我需要查看特定联系人的电话号码
- typescript - 获取chartJS中y轴标签的位置
- mysql - 从 Excel 更新 MYSQL 表
- polygon - 如何索引 SpatialPolygonDataFrame 中的单个多边形
- arrays - 在bash中将字符串变量转换为数组