【问题标题】:Tracking successful form completion for POST content in Google Analytics在 Google Analytics 中跟踪 POST 内容的成功表单完成
【发布时间】:2010-07-02 16:11:12
【问题描述】:

我们的客户无法将表单从 POST 切换为 GET,目前我们正在通过与“提交”按钮相关的事件跟踪表单提交。

但是,这会跟踪为“已完成”表单,即单击提交但可能会收到返回错误的表单的人。

通常我会 AJAXify 表单并阻止提交表单,直到 JS 验证完成,或者使用唯一的“表单完成”URL 并跟踪作为目标(以及 DOM 加载 JS 触发事件的事件跟踪),但在这种情况下,这不是一个选项。

在这种情况下,如何将事件与“表单成功”内容联系起来?我知道我可以将事件绑定到图像加载,但我需要动态生成图像名称以防止缓存影响分析。

我可以将事件与 POST 中的文本可靠地联系起来吗?

【问题讨论】:

  • 您可以编辑此 Web 表单的代码吗?

标签: javascript jquery forms google-analytics analytics


【解决方案1】:

在服务器端验证表单后,您可以简单地输出 JavaScript 以及告诉 Google Analytics 跟踪提交事件的下一个响应。

编辑:我刚刚注意到你说这不是一个选项。

【讨论】:

  • 实际上是附加 URL 的问题,我可以看到您的解决方案运行良好
  • 您不一定需要额外的 URL。您可以将所需的任何 URL 传递给跟踪功能。 see this
  • 我已经采用了这种方法的变体,使用 jQuery 绑定到成功的 HTML 内容中的 ID,触发 Google 事件跟踪代码。工作一种享受 - 感谢所有的建议!
【解决方案2】:

你能否输出一个隐藏字段,其中包含一个表示表单已成功提交的值,然后使用 jQuery watch 为该字段返回一个成功值?然后javascript重定向到另一个页面?

所以在文件准备好时这样做:

jQuery

if ($("#MyHiddenField").val() == 'success') {
    document.location = "SOME SUCCESS URL THAT ANALYITICS CAN TRACK";
}

或者,只需让 jQuery 监视页面内容中的一些成功指示符(如“谢谢”或其他短语),然后重定向。

【讨论】:

  • 理论上是有道理的,尽管我们不能在表单中使用成功 URL 的原因也会排除这个问题。我知道 - 这是一个特殊的限制!
  • 我会这样做,但由于提交表单不是页面视图而是事件,您应该只跟踪事件。 code.google.com/intl/el/apis/analytics/docs/tracking/…
【解决方案3】:

您还可以根据 javascript 事件有条件地调用 Google Analytics 跟踪器代码。 See this article

仅当表单提交成功或使用我的其他 awnser 中的示例使用 jQuery 调用它时,才在您的页面上包含此 javascript:

pageTracker._trackPageview("/homepage/link1");

该页面不会被重定向,但 Google Analytics(分析)会记录它,就像用户实际访问了该页面一样。

【讨论】:

    猜你喜欢
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多