【问题标题】:Adding Google Analytics event to form submit添加 Google Analytics 事件以提交表单
【发布时间】:2017-05-08 09:12:36
【问题描述】:

我希望将 Google Analytics 事件添加到我无法访问内联 html 的表单中,因此我无法将其作为 onClick="" 事件直接添加到 html 中。

所以到目前为止我的解决方案是:

    $(function() {
  $(".form_submit input").on("click", function() {
    dataLayer.push({
      "event": "Kontakt",
      "eventCategory": "Submit",
      "eventAction": "Kirjuta meile",
      "eventLabel": "Kirjuta meile"
    });
  });
});

虽然这似乎不起作用,因为单击提交按钮可能会停止所有功能并刷新页面。

如何在提交前运行该功能,然后再提交表单?有人建议我使用preventDefault(); 并在再次使用$('form').one('submit', ... 调用提交后,但由于缺乏技能而无法实现。

查看站点:http://avrame.com/en(表格在页面底部)

任何建议表示赞赏。

【问题讨论】:

  • 你在使用谷歌标签管理器吗?您的代码似乎建议这样做。您可以发布相关标签和触发器的屏幕截图吗?

标签: javascript jquery forms google-analytics


【解决方案1】:

其实可以push函数到dataLayer,在第一个事件之后执行。

我愿意

  • 将提交监视事件委托给文档级别(请参阅Jquery .on() submit event
  • 拦截第一次提交、推送事件并防止默认行为
  • dataLayer中插入一个函数,再次提交表单,但这次不会停止

代码:

window.submitGA = false;
$(function() {
  $(document).on('submit','.form_submit',function(event){
    if (!window.submitGA)
    {
      window.submitGA = true;
      dataLayer.push({
        "event": "Kontakt",
        "eventCategory": "Submit",
        "eventAction": "Kirjuta meile",
        "eventLabel": "Kirjuta meile"
      });
      dataLayer.push(function(){
        $('.form_submit').submit();
      });
      event.preventDefault();
    }
  });
});

【讨论】:

  • 感谢您的回复。我应用了您的代码,但不幸的是,GA 中没有显示任何事件。我在代码中添加了一些 console.logs,但这些也没有通过。
  • 您是否为event:Kontakt 设置了通用分析标签?
【解决方案2】:

工作解决方案最终使用了这个回调方法:

var form = document.getElementsByClassName('.footer__contact form');
form.addEventListener('submit', function(event) {

  event.preventDefault();

  setTimeout(submitForm, 1000);

  var formSubmitted = false;

  function submitForm() {
    if (!formSubmitted) {
      formSubmitted = true;
      form.submit();
    }
  }

  ga('send', 'event', 'submit', 'Saada', 'Kirjuta meile', {
    hitCallback: submitForm
  });
});

参考来自:https://developers.google.com/analytics/devguides/collection/analyticsjs/sending-hits#hitcallback

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 2013-09-17
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    相关资源
    最近更新 更多