【发布时间】:2017-10-10 20:28:50
【问题描述】:
我们有一个系统,用户可以从多个域到达一个应用程序系统,我们希望跟踪他们的活动。申请系统由几个步骤组成,我们想看看哪个 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 中的活动联系起来。
我的问题是: 谷歌分析如何将域变化联系在一起?我已经阅读了很多关于跨域链接的内容,但是如果接收站点是后端应用程序,我没有找到任何好的解决方案。 我可以使用
ga.getAll()[0].get('linkerParam')
并传输到后端,并将其用于事件传播,但这不会进行自动链接。应该传递哪些其他参数来链接域更改?
有没有办法让 Google Analytics(分析)了解用户流,而无需每次移动 utm_source、utm_medium、utm_campaign 值?这不应该只通过正确发送 cid / gid 来完成吗?如果是,这个值应该来自哪里?
【问题讨论】:
标签: java spring google-analytics cross-domain server-side