向 GA 发送事件的正确方法是什么?
What is the correct way to send an event to GA?
我们正在使用 slick carousel and the arrows have been enabled. When the arrow is clicked we want to send an event to GA with the following below. However, when we click the arrow element, it does not send. There is no error message and none of the extensions I have such as GA Debugger for Chrome 似乎 return 任何结果。
这是我们尝试过但没有奏效的方法。在我们的本地测试环境中,我们可以添加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>
这里的问题是您没有使用正确的方法将事件发送到 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,进入 "Trigger" 屏幕,添加一个 "Custom Event" 类型的新触发器,然后在 "Event Name" 字段中,输入上面的名称 "mySlickArrowEvent"。像这样:
现在转到 "Tags" 屏幕并添加一个新的 Google 分析标签。这次选择 "Event" 类型,填写您希望它出现在 GA 中的所有事件类别、操作和标签,并将我们刚刚创建的触发器附加到这个新标签。像这样:
现在,preview everything using the debug mode 或者只发布容器,事件应该在 GA 中注册。
我们正在使用 slick carousel and the arrows have been enabled. When the arrow is clicked we want to send an event to GA with the following below. However, when we click the arrow element, it does not send. There is no error message and none of the extensions I have such as GA Debugger for Chrome 似乎 return 任何结果。
这是我们尝试过但没有奏效的方法。在我们的本地测试环境中,我们可以添加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>
这里的问题是您没有使用正确的方法将事件发送到 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,进入 "Trigger" 屏幕,添加一个 "Custom Event" 类型的新触发器,然后在 "Event Name" 字段中,输入上面的名称 "mySlickArrowEvent"。像这样:
现在转到 "Tags" 屏幕并添加一个新的 Google 分析标签。这次选择 "Event" 类型,填写您希望它出现在 GA 中的所有事件类别、操作和标签,并将我们刚刚创建的触发器附加到这个新标签。像这样:
现在,preview everything using the debug mode 或者只发布容器,事件应该在 GA 中注册。