0

谷歌分析跟踪代码在这里遇到了 22 个问题。我有一个表单,在提交时将数据提交到 api。我们最近决定使用谷歌分析跟踪代码将此提交记录为电子商务交易。在提交应用程序并从 api 返回数据之前,不会记录事务。这是因为来自 api 的数据包含在事务中。

问题是表单还会将数据自动保存到数据库中,因此如果表单没有完全填写和/或提交,则自动 php 脚本可以稍后将其拾取以提交给 api。

现在抓到 22

我需要找到一种方法来为通过自动化 php 脚本提交的数据实现这一点。

3个无效的解决方案

  1. 将服务器端的事务提交给 ga。这是可能的,但在这种情况下,谷歌分析从客户端收集的所有数据都来自服务器,这消除了使用谷歌分析的全部目的。

  2. 在提交表单之前提交事务。请记住,我们需要从 api 检索数据以在事务中提交。

  3. 将有关客户端的信息保存到数据库中,以便在将服务器端的事务提交到谷歌分析时包含在标头中。如果我更新谷歌分析收集的关于客户的所有信息,如何欺骗我的 IP 地址并有时间构建这样的解决方案,这样的事情可能会奏效。

4

4 回答 4

1

除非您可以在 API 返回必要的数据位后使用异步跟踪代码发送数据,否则没有明智的方法。上面描述的方法很好,但仍然需要您向 Google 欺骗 IP,因为 IP 是从传入呼叫中读取的,并且它将再次成为服务器。

以我的经验,谷歌分析不是这种情况的正确工具(服务器端跟踪)。

于 2011-01-24T00:05:51.360 回答
1

使用 AJAX 进行自动保存并使用 SUBMIT 进行最终更新。

于 2011-01-13T16:46:22.480 回答
1

对于选项 3,您可以使用Urchin 跟踪方法模拟将发送到 Google Analytics 的数据,而是将其发送到本地文件,该文件会抓取请求信息,然后在完成后将其发送给 Google。

因此,您的 JS 代码将如下所示:

var pageTracker = _gat._getTracker("UA-XXXX-1");
pageTracker._setLocalServerMode(); //this disables external GA calls. 
pageTracker._setLocalGifPath("/foo/bar.gif");
pageTracker._trackPageview(); //or your transaction calls

从这个针对常规 __utm.gif 请求的 URL 请求来看,似乎唯一缺少的重要东西是utmcc参数,它似乎是 Google Analytics cookie 的 url 编码版本。您还想跟踪它(在 document.cookie 之外,或在服务器端),以便您可以在发出 Google Analytics 请求时将其添加到查询字符串中。这很重要,因为这是存储会话和源信息的地方;否则您的跟踪将没有上下文。

然后,在服务器上,bar.gif 可以重写为 bar.php,它会捕获 Google发送到其服务器的查询字符串和请求标头(最重要的是查询字符串和用户代理字符串以及 IP 地址) ; ,然后添加它需要的任何数据,然后获取结果查询字符串并向该 URL 的 Google Analytics 版本发出 cURL 请求,并带有欺骗性的浏览器标头等。

于 2011-01-20T17:12:16.157 回答
0

有一个关于从服务器端发送 Google Analytics 命中的问题#1027660有几个关于如何生成服务器端点击的建议。

虽然这违反了您的“不能以这种方式 #3”,但您可能会发现它看起来很简单,值得打破该规则。

祝你好运!

于 2011-09-05T14:48:51.530 回答