当页面上出现特定文本字符串时发送 Google Analytics 事件
Send a Google Analytics event when a specific text string is present on a page
我在网站某处有一个特定的文本,比方说 "NewYork",我想触发一个 Google Analytics 事件来跟踪该字符串的所有出现。
例如,如果访问者访问包含字符串 'NewYork' 的网页,我想发送 Google Analytics 事件。
文本字符串在 span 标记中为 <span class="city">NewYork</span>
我不知道任何 JavaScript 代码,只是尝试了以下改编自其他人的代码。而且它根本不起作用。
<script>
var htmlString = $('body').html().toString();
var index = htmlString.indexOf("NewYork");
if (index != -1)
{ ga('send', 'event', 'yesNewYork', 'foundnewyork'); } </script>
有人知道怎么做吗?
可能是 jQuery 解决方案?
您的方法原则上是正确的,但可以改进。
您已经在使用 jQuery 语法,所以我假设 jQuery 可用。
首先,我建议您遵循 Lars Graubner 的建议和 select 一个更具体的元素并获取文本内容而不是 html(顾名思义,text()-函数不return HTML 标记但仅文本)。
$('.city').text()
将解决您示例中的跨度 - select 中的点或表示 "Look for elements with a classname of"。
这实际上 return 所有具有 class 的元素,但对于您的用例来说这并不重要。
但是,在调用您的 jQuery select 或;如果您将它放在页面的头部,当事件跟踪运行时文本还不存在,因此您的 selector 将 return 什么都没有。
您可以将脚本放在页面的页脚中,也可以将其包装到 jQuery 的 document.ready 调用中。这确保该函数仅在文档的 DOM 呈现后运行(这意味着页面结构已完成,如果图像和其他资产尚未加载则事件。文本将在此时出现)。所以这看起来像这样:
$( document ).ready(function() {
var myString = $('.city').text();
if(myString.indexof('NewYork') > -1) {
ga('send', 'event', 'yesNewYork', 'foundnewyork');
}
});
(显然,这假设您已包含 jQuery)。
如果这仍然不起作用,您需要更具体地说明您遇到的实际错误。
我在网站某处有一个特定的文本,比方说 "NewYork",我想触发一个 Google Analytics 事件来跟踪该字符串的所有出现。
例如,如果访问者访问包含字符串 'NewYork' 的网页,我想发送 Google Analytics 事件。
文本字符串在 span 标记中为 <span class="city">NewYork</span>
我不知道任何 JavaScript 代码,只是尝试了以下改编自其他人的代码。而且它根本不起作用。
<script>
var htmlString = $('body').html().toString();
var index = htmlString.indexOf("NewYork");
if (index != -1)
{ ga('send', 'event', 'yesNewYork', 'foundnewyork'); } </script>
有人知道怎么做吗?
可能是 jQuery 解决方案?
您的方法原则上是正确的,但可以改进。
您已经在使用 jQuery 语法,所以我假设 jQuery 可用。
首先,我建议您遵循 Lars Graubner 的建议和 select 一个更具体的元素并获取文本内容而不是 html(顾名思义,text()-函数不return HTML 标记但仅文本)。
$('.city').text()
将解决您示例中的跨度 - select 中的点或表示 "Look for elements with a classname of"。
这实际上 return 所有具有 class 的元素,但对于您的用例来说这并不重要。
但是,在调用您的 jQuery select 或;如果您将它放在页面的头部,当事件跟踪运行时文本还不存在,因此您的 selector 将 return 什么都没有。
您可以将脚本放在页面的页脚中,也可以将其包装到 jQuery 的 document.ready 调用中。这确保该函数仅在文档的 DOM 呈现后运行(这意味着页面结构已完成,如果图像和其他资产尚未加载则事件。文本将在此时出现)。所以这看起来像这样:
$( document ).ready(function() {
var myString = $('.city').text();
if(myString.indexof('NewYork') > -1) {
ga('send', 'event', 'yesNewYork', 'foundnewyork');
}
});
(显然,这假设您已包含 jQuery)。
如果这仍然不起作用,您需要更具体地说明您遇到的实际错误。