【问题标题】:Google Analytics Goal tracking in javascript/ajaxjavascript/ajax 中的 Google Analytics(分析)目标跟踪
【发布时间】:2019-05-13 20:00:22
【问题描述】:

我在网站页面上有一个基于 javascript/ajax 的联系表。如果人们点击发送表单,我希望此点击被 Google Analytics 注册。我为此制定了一个目标,由于某种原因我无法让它发挥作用。有什么帮助吗?

表格的代码是:

        <form id="footer_quick_contact_form" name="footer_quick_contact_form" class="quick-contact-form" action="includes/quickcontact.php" method="post">
          <div class="form-group">
            <input id="form_email" name="form_email" class="form-control" type="text" required="" placeholder="E-mail">
          </div>
          <div class="form-group">
            <textarea id="form_message" name="form_message" class="form-control" required placeholder="message" rows="3"></textarea>
          </div>
          <div class="form-group">
            <input id="form_botcheck" name="form_botcheck" class="form-control" type="hidden" value="" />
            <button type="submit" class="btn btn-default btn-transparent text-gray btn-xs btn-flat mt-0" data-loading-text="One moment please...." onClick="ga('send', 'event', { eventCategory: 'Contact', eventAction: 'ContactRequest'});">Verstuur nu!</button>
          </div>
        </form>

        <!-- Quick Contact Form Validation-->
        <script type="text/javascript">
          $("#footer_quick_contact_form").validate({
            submitHandler: function(form) {
              var form_btn = $(form).find('button[type="submit"]');
              var form_result_div = '#form-result';
              $(form_result_div).remove();
              form_btn.before('<div id="form-result" class="alert alert-success" role="alert" style="display: none;"></div>');
              var form_btn_old_msg = form_btn.html();
              form_btn.html(form_btn.prop('disabled', true).data("loading-text"));
              $(form).ajaxSubmit({
                dataType:  'json',
                success: function(data) {
                  if( data.status == 'true' ) {
                    $(form).find('.form-control').val('');
                  }
                  form_btn.prop('disabled', false).html(form_btn_old_msg);
                  $(form_result_div).html(data.message).fadeIn('slow');
                  setTimeout(function(){ $(form_result_div).fadeOut('slow') }, 6000);
                }
              });
            }
          });
        </script>

如您所见,我在发送按钮上添加了一个点击事件。在谷歌分析中,我通过转到管理>目标>新目标>自定义单选按钮>下一步创建了一个目标。我给目标起了一个名字,选择了事件单选按钮并填写了以下字段:

类别:联系人 行动:联系请求 标签: 空 值:空

我以为我会修复它,但直到现在我无法在 GA 中跟踪任何结果。有什么建议吗?

【问题讨论】:

  • “到现在”有多长时间(数据可能需要长达 24 小时才能显示)?此外,您的事件是否不起作用或者您的目标是否未被跟踪(如果您测试目标,请记住每个会话只计算一次目标,因此如果您想在测试中多次触发它,您必须使用隐身窗口或在请求之间删除您的 ga cookie)。
  • 您好 Eike,感谢您的反应。已经超过24小时了。我没有在 Google Analytics 上实时看到该事件,也没有看到我填写的表格作为转换...我不太熟悉 javascript 编程,但是否可能需要一些向 Google 发起活动的额外代码?如果是这样,那会是什么?
  • 必须加载GA代码,并且必须是正确的版本。也许您可以包含您使用的 GA sn-p。

标签: javascript ajax google-analytics event-tracking


【解决方案1】:

阅读您的评论后,问题似乎是您在点击事件处理程序中使用了错误的语法。

您正在调用 ga() 函数,它是通用分析代码的一部分,现在已经被 gtag.js 取代了一段时间。

我通常不使用 gtag.js(我更喜欢使用 Google 跟踪代码管理器),但according to the documentation 正确的调用应该是这样的:

gtag('event', 'contact_request', { // second parameter is event action
  'event_category': 'contact', 
  'event_label': '',
  'value': 0
});

(其实不需要label和value可以省略)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    相关资源
    最近更新 更多