将事件发送到GA的正确方法是什么?

时间:2019-09-18 21:48:21

标签: javascript jquery google-analytics slick.js

我们正在使用slick carousel,并且箭头已启用。单击箭头后,我们要通过以下内容向GA发送事件。但是,当我们单击箭头元素时,它不会发送。没有错误消息,我所拥有的所有扩展名(例如GA Debugger for Chrome)都未返回任何结果。

这是我们尝试的但没有奏效的东西。在我们的本地测试环境中,我们可以添加google-analytics.js文件,但无法在此处加载它。

我们已使用此article

通过GTM安装了GA

$(document).ready(function () {
  var carsl = $('.carousel');
  carsl.slick();
  
  carsl.on('click', '.slick-arrow', function() {
    // Create GA event;
    // this does not work.
    ga('send', {
      hitType: 'event',
      eventCategory: 'Slick',
      eventAction: 'arrow',
      eventLabel: 'clicked'
    });
  });
  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>

<div class="carousel">
  <div class="carousel__item">item 1</div>
  <div class="carousel__item">item 2</div>
  <div class="carousel__item">item 3</div>
  <div class="carousel__item">item 4</div>
</div>

这也在<head>

<script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script>

1 个答案:

答案 0 :(得分:1)

这里的问题是您没有使用正确的方法将事件发送到GA。

您已经通过GTM实现了GA,但是单击箭头时所使用的功能仅用于通过analytics.js实现GA。

有很多方法可以使用GTM跟踪事件,但是由于您已经在页面上找到了javascript,因此根据到目前为止的情况来解决它是最简单的。

此解决方案将使用gtm中的datalayer events

将代码的GA部分更改为:

$(document).ready(function () {

  var carsl = $('.carousel');
  carsl.slick();

  carsl.on('click', '.slick-arrow', function() {

    // push event to datalayer, the event name is whatever you like
    // this does should work
     dataLayer.push({'event': 'mySlickArrowEvent'});

  });

});

GTM设置:

在GTM中,设置触发器。进入GTM,转到“触发器”屏幕,添加“自定义事件”类型的新触发器,然后在“事件名称”字段中,从上方输入该名称“ mySlickArrowEvent”。像这样: enter image description here

现在转到“标签”屏幕并添加一个新的Google Analytics(分析)标签。这次选择“事件”类型,填写您希望其出现在GA中的所有事件类别,操作和标签,并将我们刚刚创建的触发器附加到此新标签。像这样:

enter image description here

现在,preview everything using the debug mode或只是发布容器,该事件都应在GA中注册。

相关问题