在进行网站统计分析时,我们可能会遇到一种情况:将一个网站的数据发送至不同Google Analytics Properties进行分析。通过Google Tag Manager Custom JavaScript Variable自定义任务可以将发送到Google Analytics的数据复制发送到多个网站媒体资源中。
在这个方案中,通过编辑GA tag(GA标签代码)中的customTask将数据发送至多个properties。新的customTask更改了全局网站代码 (gtag.js) 任务队列,因此,在初始hit事件发送后,系统将自动复制事件发送到另一个GA账号中。
首先,在GTM中新建自定义变量,选择“自定义 JavaScript”。将以下代码复制到其中。
function() {
// Replace newTrackingId value with the UA property to which you want to duplicate this tag
var newTrackingId = ‘UA-XXXXX-Y’;
var globalSendTaskName = ‘_’ + newTrackingId + ‘_originalSendTask’;
return function(customModel) {
window[globalSendTaskName] = window[globalSendTaskName] || customModel.get(‘sendHitTask’);
customModel.set(‘sendHitTask’, function(sendModel) {
var hitPayload = sendModel.get(‘hitPayload’);
var trackingId = new RegExp(sendModel.get(‘trackingId’), ‘gi’);
window[globalSendTaskName](sendModel);
sendModel.set(‘hitPayload’, hitPayload.replace(trackingId, newTrackingId), true);
window[globalSendTaskName](sendModel);
});
};
}
注意:UA-XXXXX-Y需要替换成新的GA账号id。添加好后将这个变量命名为“JS – customTask hit duplicator”。
然后打开“Google Analytics(分析)设置”变量,在更多设置-要设置的字段中新添加:
- 字段名称:customTask
- 值:{{JS – customTask hit duplicator}}
如果需要将事件发送至多个不同GA账号,只需制作多个JS – customTask hit duplicator变量并更改变量名称和GA统计id,在GA变量中添加多个字段即可。
这个方案的优点是无需在网站添加多个统计代码,也不需要在Google Tag Manager中复制所有代码,只需要添加一个变量完成GA统计数据发送到多个账号中。方便管理,且各账号接收到的数据无差异。