Javascript 如何为Google Analytics添加代码,为之前进行的相同呼叫/点击添加自定义维度,以及一些自定义维度(需要时间计算)

Javascript 如何为Google Analytics添加代码,为之前进行的相同呼叫/点击添加自定义维度,以及一些自定义维度(需要时间计算),javascript,google-analytics,google-analytics-api,google-analytics-firebase,measurement-protocol,Javascript,Google Analytics,Google Analytics Api,Google Analytics Firebase,Measurement Protocol,我已经在我的网站上嵌入了GA。 我知道我可以发送一些自定义尺寸,使用 var d1 = "valueForD1"; ga('set', 'dimension1', d1); ga('send', 'pageview'); 这是瞬时的。 通过测量协议API()实现此目的的其他方法 用这个 POST /collect HTTP/1.1 Host: www.google-analytics.com payload_data 当我的服务器完成了一些处理并计算了自定义维度时,就会进行此命中操作。 但是

我已经在我的网站上嵌入了GA。 我知道我可以发送一些自定义尺寸,使用

var d1 = "valueForD1";
ga('set', 'dimension1', d1);
ga('send', 'pageview');
这是瞬时的。

通过测量协议API()实现此目的的其他方法

用这个

POST /collect HTTP/1.1
Host: www.google-analytics.com
payload_data
当我的服务器完成了一些处理并计算了自定义维度时,就会进行此命中操作。

但是我只需要将“dimension1”添加到已经发送的原始GA数据中(在正常GA执行中),而不使用GA('set','dimension1',d1)


我的观点是,在服务器端计算这个自定义维度需要一些时间。如何将此维度添加到GA正常命中?

视情况而定。如果这是一个会话或用户范围的维度,则足以发送具有相同客户端id的命中(例如,通过测量协议)(对于会话范围的维度,在会话生存期内)。会话范围和用户范围在任何情况下都只保留每个会话/用户的最后一个值,因此每个会话添加一次就足够了


如果这是一个命中范围的维度,那么对于一个标准帐户,您就不走运了。在GA 360帐户中,您可以通过以下方式向现有点击添加维度和指标。

TL:DR:通过异步调用的回调函数发送点击以发送事件。例如

需要将自定义尺寸标注附加到hit(始终要到达平台)

使用异步CD的最佳方法是通过事件发送,并将作用域设置为会话或用户级别。(这将覆盖以前的命中数据)。缺点是有些用户不会有CD,因为你可以发送PV的点击率,然后再发送CD

这是使用Ajax库发送ip的代码示例(这也是异步的)

$.ajax({
url:“https://api.ipify.org?format=json",  
成功:功能(数据){
console.log(data.ip);
ga('send','event','label','category',{'dimension1':data.ip});
}

});
也许您需要推迟第一次发送,请求服务器进行计算,然后在ajax请求的回调中调用
ga('send',…)
。您需要什么类型的作用域?会话,点击,用户?会话范围。