如何使用Google跟踪代码管理器和Sitecore的营销人员Web表单成功提交表单上的事件?

时间:2014-10-17 19:17:28

标签: forms validation sitecore google-tag-manager web-forms-for-marketers

我正在尝试通过Google跟踪代码管理器使用Google Analytics中的事件跟踪成功的表单提交。我当前的设置成功跟踪用户提交表单的时间。但是,即使表单提交无效且未提交(即用户未填写所有必填字段,单击提交按钮,表单尝试验证,但返回到用户有错误而不是提交)。我在我的监听器上检查了检查验证功能,如果表单提交被阻止,理论上应该保持标签不被触发,因此它不是明显的错误。

相关表单是使用Sitecore的营销人员Web表单创建的。我的同事们的WFFM表格也有类似的未解决问题。

此特定表单用于处理内容,以便只有填写表单的用户才能访问内容资源。例如,如果我访问www.mydomain.com/resource,我将被重定向到www.mydomain.com/form,如果我正确填写所有信息并提交,我将被重定向到我所拥有的资源最初试图在www.mydomain.com/resource上查看。

这是我的设置:

标记1

  • 姓名:表格提交听众
  • 类型:表单提交监听器
  • 等待标签:已检查
  • 最长等待时间:2000毫秒
  • 检查验证:已检查
  • 没有高级设置
  • 触发规则:按网址在表单页面

标记2

  • 姓名:活动表格提交
  • 类型:通用分析
  • 跟踪ID:UA -....。
  • 启用展示广告功能:已选中
  • 赛道类型:赛事
  • 类别:表格
  • 行动:提交
  • 标签:{{表格资源网址}}
  • 非互动点击:错误
  • 没有更多设置
  • 无高级设置
  • 触发规则:{{event}}等于gtm.formSubmit

理论上,如果表单未成功提交,则“检查验证”复选框应阻止标记触发,但在此表单的情况下则不会。无论表单是否提交,标签都会触发。

道歉,我无法链接到表单,就像客户端和安全性一样。

2 个答案:

答案 0 :(得分:2)

我们能够通过Sitecore论坛找到我们问题的答案,但我想将其传递给您以获益。


来自Sitecore:

Web窗体模块提供双级验证,1个客户端验证,2个服务器验证。

默认情况下,对必填字段验证程序禁用客户端验证。因此,当您按提交时,表单将发布到服务器,并返回验证错误。这可能是Google Analytics将其视为表单提交的原因。

  • 在主数据库中找到以下项目: / sitecore / system / Modules / Web Forms for Marketers / Settings / System / System Validation / NotEmpty
  • 找到“启用客户端脚本”复选框并启用它。
  • 保存并发布该项目。
  • 检查问题是否已解决。

这解决了我们所有基于文本的字段的问题。它没有解决表单上的一个复选框的问题。我已经跟进了sitecore,但我想我会在此期间更新。

只剩下复选框,我还可以使用一个宏并添加到我在谷歌标记管理器中的原始触发规则,以便在未选中该复选框时不会触发该事件。

我创建了一个名为Radio Button Checked的自定义Javascript宏(不确定它是最好的,但它有效),并为我原来的表单提交规则添加了一个新条件:{{Radio Button Checked}}等于true

宏:

function() {
    var radioName = "radioButtonName";
    try {
        var buttons = document.getElementsByName(radioName);
        for (var i = 0;i < buttons.length;i++){
            if(buttons[i].checked) {
                return true;
            }
        }
    } catch(e) {}
return false;
}

编辑:Sitecore回复了我关于复选框问题的信息。

来自Sitecore:

目前CheckBox字段类型没有客户端验证。我将其注册为WFFM模块的错误。一旦修好,我会立刻通知你。

他们也让我知道这不会在近期修复,所以我需要继续使用我的GTM解决方法来填写复选框字段。

答案 1 :(得分:0)

Google Chrome插件“Tag Assistant”在调试这些问题时非常有用。它将向您显示给定页面上存在哪些(如果有)结构或实施问题可能会妨碍您的预期跟踪行为(https://chrome.google.com/webstore/detail/tag-assistant-by-google/kejbdjndbnbjgmefkgdddjlbokphdefk?hl=en

我的直觉是这个问题与WFFM没有特别的关系,但可能是由于在页面上实现了Tag Manager代码。我似乎记得当一般使用标签管理器包含代码在使用WebForms时被转储到自动生成的.NET标记内时,会出现这样的问题。谷歌的文档(https://developers.google.com/tag-manager/quickstart)说要在开始标记之后立即加上它,我记得我的问题是跟踪表格提交。

这一切都来自记忆,所以我可能错了,但这是另一回事。

祝你好运!