【问题标题】:Google Tag Manager: Calling dataLayer.push after validating the formGoogle Tag Manager:验证表单后调用 dataLayer.push
【发布时间】:2013-03-15 23:38:24
【问题描述】:

如果表单验证成功,我想调用以下代码(Google 跟踪代码)。

onclick="dataLayer.push({'event': 'NewsletterSignup'});"

如果我将它添加到“onclick”事件中,它每次都会触发而不考虑验证。

请让我知道在验证表单后我应该如何调用它。我在 Google 跟踪代码管理器开发人员指南中进行了搜索,但找不到任何相关帮助。

请指教。

【问题讨论】:

  • 如何验证表单?
  • 此表单使用基于原型库的客户端验证。如果验证通过,验证函数将返回 true。那么是否可以包含“dataLayer.push({'event': 'NewsletterSignup'});”部分是否验证为真?或者你有什么建议吗?请指教。
  • 既然您有一个返回 true 的验证函数,为什么还要寻找另一个选项?
  • 原因不确定这些跟踪代码是如何工作的。是需要在验证中添加还是需要在提交表单后添加到新页面?

标签: google-analytics google-tag-manager


【解决方案1】:

我认为您需要的只是更改您的 onclick 处理程序以包含验证。像这样的:

onclick="function() { if(validate_form()) dataLayer.push({'event':'NewsletterSignup'}); }"

我不是 Javascript 程序员,所以我希望这是正确的语法。我所做的只是将验证检查引入到 onclick 中。如果检查通过,我们将事件推送到数据层(我假设 validate_form() 返回一个布尔值)。

您在提交表单后在新页面上触发跟踪代码的想法是另一种可能性。那可以工作。您可以在 GTM 中为该标签(跟踪代码)添加一条规则,使其在新页面上触发(假设加载新页面的 only 时间是在新闻通讯注册发生之后)。

我认为使用上面的 onclick 处理程序是最简单的解决方案。

【讨论】:

  • 感谢您的回答...我会测试它并让您知道
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多