我怎样才能JSP或Java代码

问题描述:

我需要发送谷歌Analytics客户ID的服务器端,我们将运行谷歌测量协议API中的GA客户端ID。我怎样才能JSP或Java代码

我们有GA通过GTM实现。

按照谷歌的建议,我不应该来解析_ga饼干因此,我试图要通过推荐的方式。如果我将下面的代码粘贴到控制台上,它可以正常工作,但只要我在jsp中包含此代码,就不会定义错误ga引用。

trackers = ga.getAll(); 
var i, len; 
    for (i = 0, len = trackers.length; i < len; i += 1) { 
    if (trackers[i].get('trackingId') === "UA-62222232-2") { 
    console.log(trackers[i].get('clientId')); 
    } 
} 

请让我知道什么是获得ga客户id的正确方法?我无法通过jsp来这样做,并且认为在java代码中解析cookie会更好。

TIA

+0

Java还是javascript? – shmosel

+0

Java。最终我需要获得客户端ID并将其发送到服务器。 – user1633800

如果你把上面的代码在JSP文件变得简单的JavaScript在浏览器中,所以这是你需要调试什么。

但其实我建议你忽略了谷歌警告,简单地解析的cookie。即使你通过Javascript检索clientId,你也需要将它传递给服务器,让服务器端代码解析这个cookie来解决这个问题。

如果你真的想要一个很简单的解决方案,您可以创建和维护在Java代码中一个clientId,并把它传递到GA标签(例如通过数据层变量,因为您使用GTM)。从那以后,您可以自己控制客户端ID的格式,您可以确定没有任何意外。

+0

谢谢。是解析cookie是我的最后手段,但我确实想尝试GA提供的解决方案。我认为原因可能是因为我们通过GTM使用GA,这是由于异步本质,当我的javascript触发时,ga跟踪器可能不可用。 – user1633800

+0

您是否在GTM内部执行此操作?如果你把它放在一个自定义的HTML标签中,你可以通过标签排序来执行它,这取决于GA标签。或者你遵循厮磨Ahavas文章,自定义任务中访问的clientid在追踪:https://www.simoahava.com/gtm-tips/use-customtask-access-tracker-values-google-tag-manager/ –

+0

不幸,我需要将这个值传递给服务器端,因此我需要通过在jsp或java代码本身内部激发的JavaScript来做到这一点。 – user1633800