谷歌分析:将采集数据与服务器端报告连接起来



我们有一个系统,用户可以从多个域到达应用程序系统,我们希望跟踪他们的活动。应用程序系统由几个步骤组成,我们想看看哪个utm_source引入了最先进的候选者。

这只能在后端知道,因此我使用服务器端事件发送GA。我传输到后端:_ga,_gid cookie值(我们可以从中提取调用的cid和gid参数。这是一种正确的方法吗?我不能100%确定cid和gid参数应该从这些值中填充。

MultiValueMap<String, String> body = new LinkedMultiValueMap<>();
body.add("v", "1");
body.add("tid", trackingId);
// coming from the cookie _ga
// ga id is like GA1.2.1051421203.1507107210
// from that, we need: 1051421203.1507107210
body.add("cid", cid);

// coming from the cookie: _gid
// _gid GA1.2.2063422210.1507532018
// from that, we need: 2063422210.1507532018
body.add("gid", gid);
body.add("t", "event");
body.add("ec", "Button");
body.add("ea", "Click");
body.add("el", label);
addIfNotEmpty("cs", application.getUtmSource(), body::add);
addIfNotEmpty("cm", application.getUtmMedium(), body::add);
addIfNotEmpty("cn", application.getUtmCampaign(), body::add);
log.debug("Sending event: {}", body);
restTemplate.postForLocation(ANALYTICS_URL, body);

只要我们有UTM源,填写字段,我们就可以使用它将数据与我们在GA中的活动联系起来。

我的问题是:Google Analytics如何将域更改链接在一起?我读过很多关于跨域链接的文章,但没有找到任何好的解决方案,说明如果接收网站是后端应用程序该怎么办。我可以使用

ga.getAll()[0].get('linkerParam')

并传输到后端,并将其用于事件传播,但这不会进行自动链接。应该通过哪些其他参数来链接域更改?

有没有一种方法可以让Analytics了解用户流,而不必每次移动utm_source、utm_mediate和utm_campaign值?这难道不应该只通过正确发送cid/gid来完成吗?如果是,这个值应该从哪里来?

Google分析不关心链接域。您的postForLocation将在GA中与后端服务器域产生一个新会话,作为GA报告中可用的hostname字段。您可能只需要Measurement Protocol POST请求中的clienId字段,Analytics帮助中有一个简洁的文档。假设你有一个访问者是如何从源a来的,然后又从源B来的,后来你的后端服务器发送了一个访问者进度的事件。决定保存和重新发送什么源是很棘手的
评估此问题源的最可靠方法是在Google Analytics中切换到多通道报告,在那里您可以查看源A的首次点击转换,并协助源B的转换,而不必关心在POST请求中提供源。

相关内容

最新更新