【问题标题】:GTM - Fire tag on form submit (only if required fields are filled)GTM - 提交表单时触发标签(仅在填写必填字段时)
【发布时间】:2017-08-31 07:10:48
【问题描述】:

我正在寻找一种简单的方法来准确跟踪表单提交。这是我目前使用的代码:

$(function () {
      $('#form').submit(function() {
        dataLayer.push({
            'event': 'GAEvent', 
            'eventCat': 'Form Submit - Create', 
            'eventAction': 'Form Submit Document', 
            'eventLabel': checked,
            'eventValue': count,
            'gaNonInt': false
        });
      });
    });

问题是即使没有提交表单,标签也会触发。例如,如果有人未能填写必填字段并单击提交按钮,GTM 会将提交单击视为提交。如果填写了所有必填字段,是否有一种简单的方法来触发代码?

提前致谢。

【问题讨论】:

  • 您能否发布您的表单 HTML 和任何 JavaScript 验证。
  • @JoshCronin 我可以,但是表格很大。我不确定 JS 验证存储在哪里。这些表单被集成到 Drupal 7 核心中。我注意到所有必填字段在其类的命名中都使用“必填”?可以以某种方式使用吗?
  • 仅查看 required 属性可能无法完全解决问题 - 即使字段包含某些文本,也可能存在其他验证规则阻止提交表单。
  • 表单提交后会发生什么?页面有变化吗?

标签: javascript jquery google-analytics google-tag-manager


【解决方案1】:

您可能想尝试使用 GTM 的“本机”提交触发器而不是 jQuery 代码,并确保选中“检查验证”复选框。

表单中的 javascript 验证会抑制提交按钮的默认行为,并且仅在验证通过时才调用提交事件。使用“检查验证”选项设置,GTM 表单提交触发器应该能够注意到默认行为被阻止并仅在验证器函数调用提交事件时触发标签(我说“应该”,因为,有趣的是,我认为表单提交触发器并不总是 100% 可靠,但可能值得一试)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多