如何为之前制作的相同 call/hit 的 Google Analytics 自定义维度添加代码,其中包含一些自定义维度(需要时间来计算)

How to add code for Google Analytics custom dimensions for the same call/hit made prior, with some custom dimensions ( which take time to calculate )

我的网站上嵌入了 GA。 我知道我可以使用

发送一些自定义尺寸
var d1 = "valueForD1";
ga('set', 'dimension1', d1);
ga('send', 'pageview');

这是瞬时的。

通过 Measurement Protocol API (https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide) 执行此操作的其他方法。

有了这个

POST /collect HTTP/1.1
Host: www.google-analytics.com
payload_data

当我的服务器完成了一些处理并计算了自定义维度时,这个命中是(我做的)。

但是我只需要将 "dimension1" 添加到已经发送的原始 GA 数据(在正常的 GA 执行中)而没有 ga('set','dimension1',d1)。

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

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

如果这是命中范围的维度,那么您使用标准帐户就不走运了。在 GA 360 帐户中,您可以通过 query time import.

向现有命中添加维度和指标

TL:DR : 在发送事件的异步调用的回调函数上发送命中。例如

自定义维度需要附加到点击(始终到达平台)。

使用异步 CD 的最佳方式是通过事件发送它,并将范围设置为会话或用户级别。 (这会覆盖之前的命中数据)。缺点是有些用户没有CD,因为你可以先发PV的hit,再发CD。

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

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