我想跟踪是否通过 GTM 使用 Google Analytics(分析)事件跟踪显示 toast (或任何“弹出元素”)。 toast 是否显示由 jQuery 代码定义,并基于 cookie 信息,如下所示
function ShowToast(Msg){
$('#toast-msg').html(Msg);
$('#toast').animate({ left: '-10px' });
}
调用者
<script type="text/javascript">
$(function() {
ShowToast("SOME HTML");
});
</script>
这是我目前使用自定义变量在 GTM 中得到的结果
function(){
if(document.querySelector("#toast #toast-msg").length > 0){
return true;
}
}
使用触发器监听此变量是否为真以及通常的 Universal Analytics 事件代码。这个想法是简单地检查 toast-msg 是否显示,这在预览模式下工作正常。
现在问题来了:标签正在监听 gtm.js(页面浏览),但来自 toast 的 jQuery 代码可能仅在 gtm.js 准备就绪后加载。因此,有时当跟踪代码准备好触发且事件未被记录时,toast 尚未显示。
有没有办法使用 GTM 和 Javascript/JQuery 来确保在解析 GTM 变量/触发器/标签之前加载所有 JQuery?还是完全不同的方法?
最佳答案
- 确保在
<head>
中初始化数据层通过包含这行代码来编辑您的文档:<script>window.dataLayer = window.dataLayer || [];</script>
- 将此代码添加到您的 jQuery toasts(或您要跟踪的任何其他内容)
dataLayer.push({'event': 'event_name'});
- 创建
Custom Event
使用event_name
在 GTM 中触发你在上面选择了。 - 使用上述触发器创建事件类型的 GA 标签
关于javascript - 如何让 GTM 标签等待加载一些 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38970113/