我们正在使用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>
答案 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”。像这样:
现在转到“标签”屏幕并添加一个新的Google Analytics(分析)标签。这次选择“事件”类型,填写您希望其出现在GA中的所有事件类别,操作和标签,并将我们刚刚创建的触发器附加到此新标签。像这样:
现在,preview everything using the debug mode或只是发布容器,该事件都应在GA中注册。