java - 谷歌分析 : Connect acquisition data with server side reporting

标签 java spring google-analytics cross-domain server-side

我们有一个系统,用户可以从多个域到达应用程序系统,我们希望跟踪他们的 Activity 。申请系统由几个步骤组成,我们希望看到哪个 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 中的营销 Activity 链接起来。

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

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

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

有没有办法让 Analytics 了解用户流,而无需每次都移动 utm_source、utm_medium、utm_campaign 值?难道这不应该通过仅正确发送 cid/gid 来完成吗?如果是,这个值应该从哪里来?

最佳答案

Google 分析不关心链接域。您的 postForLocation 将在 GA 中生成一个新 session ,并将您的后端服务器域作为 GA 报告中可用的主机名 字段。 您可能只需要测量协议(protocol) POST 请求中的 clienId 字段,并且 Analytics 帮助对此有一个简洁的文档。假设您有一个访问者如何来自源 A,然后再次从源 B 访问,然后您的后端服务器发送了访问者进度事件。决定保存和重新发送哪个来源是很棘手的
评估此问题的来源的最可靠方法是切换到 Google Analytics(分析)中的多 channel 报告,您可以在其中查看来源 A 的首次点击转化次数和来源 B 的协助转化次数,而不必关心通过 POST 请求提供来源。

关于java - 谷歌分析 : Connect acquisition data with server side reporting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46647271/

相关文章:

django - 使用 Google Analytics 跟踪 django 管理员

java - Spring 4 : @async nativeQuery running before the calling @transactional transaction commits

Java 与 C JNI - UDP 性能

java - 如何从与 Java 中的某个表达式匹配的字符串中获取值?

java - 在 Eclipse 中重命名 getter 和 setter。捷径?

spring - @Autowired entityManagerFactory 为空

java - 如何配置 spring-boot 通过 sendGrid 发送邮件?

javascript - 发布到网址时,Google Analytics 事件不会触发

google-analytics - Google Analytics 上的平均页面停留时间 VS 平均访问持续时间

java - DWR调用在IE8中抛出 "Failed to read input",出现太频繁