我们正在使用Google Analytics 同意模式(测试版)。我相信我的实现是正确的,遵循官方文档。但是,无论我选择加入还是选择退出跟踪,我都看不到(在 GTM“预览模式”下)行为的差异。在这两种情况下,标签都会被触发并标记为“成功”。我想知道我的实施是否有效。(当然我在测试会话之间清除cookies和缓存)
如果同意被拒绝,我应该看到什么或不应该看到什么?我应该看到什么差异可以告诉我是否考虑了同意?如何判断 GTM 是否正在跟踪?
有关信息,我的实现:
<head>
<script>
// gtm snippet...
</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag("consent", "default", {
// yes, everything is granted by default (not an EU site)
ad_storage: "granted",
analytics_storage: "granted",
functionality_storage: "granted",
personalization_storage : "granted",
security_storage : "granted",
wait_for_update: 10000, // comfortable timer for starter, will fine-tune it later
});
dataLayer.push({ 'event': 'default_consent' });
</script>
//later after the main js is loaded
gtag("consent", …Run Code Online (Sandbox Code Playgroud) 我正在工作的网站上有一个搜索框,并希望跟踪人们正在寻找的搜索字词。
由于搜索框会自动猜测并输入用户正在搜索的内容,因此没有点击事件。
在控制台中,当发生模糊时,我想要的textContent是以下内容的.textContent:
myVar = document.querySelectorAll('.twitter-typeahead > span')[2]
Run Code Online (Sandbox Code Playgroud)
但是,仅当有人实际键入内容时,此处返回的值才不是null。因此,附加模糊事件似乎是可行的方法。在另一个论坛上某人的帮助下,我在控制台中看到了以下内容:
myVar.addEventListener('blur', function(){dataLayer.push({'event':'bla'})})
Run Code Online (Sandbox Code Playgroud)
在控制台中键入所有内容之后,我看不到任何值被推送到dataLayer,这使我认为blur事件不起作用(与dataLayer.push函数相对)。
有关搜索框的页面在此处。
我如何将模糊事件附加到使搜索框失去焦点的人?
使用analytics.js,我可以使用以下功能访问trackingId或clientId:
ga.getAll()[0].get('trackingId')
ga.getAll()[0].get('clientId')
Run Code Online (Sandbox Code Playgroud)
使用Google代码管理器,没有ga对象.我怎么能得到这些参数?
每次我创建自定义触发事件时,它都不会起火.请问有人可能是什么原因.我创造了'gacustomevent'custom triggerand并将它命名为'gaevent',但事件并没有被解雇.我想在dataLayer中使用事件来捕获值.有关如何解决问题的任何建议
我是codiva.io的开发人员,为学生提供java ide.我正在使用codemirror编辑器.我想跟踪编辑(特别是上次编辑后的暂停或超时).我之前使用过Google分析,对于活动,我们会这样做ga.send().现在我正在使用Google标记管理器,对于点击和其他事件,我们似乎可以使用标记管理器ui本身进行配置.使用标记管理器,我无法找到如何实现跟踪.
Codemirror生成on change事件.在每次编辑时,清除任何先前的计时器并设置超时触发器以在200ms后运行.(编译将在此时进行,我想确保跟踪此事件发生的次数)
主页还可以有额外的GET参数(例如utm标签和类似的营销变量).我怎样才能使它工作?简单的"以http://example.com或http://example.com/结尾"不起作用,因为网址可能是http://example.com/?utm_campaign=text& ...
谢谢!
我是GTM的新手.
我正在为GTM创建一个新帐户并获得以下屏幕.
我想只实现GTM而不是GA.我将仅通过GTM跟踪事件.
我有两个选项两个选择.Firebase和Legacy(iOS).
我无法弄明白.请建议我做什么.
我根本不是实施Firbase.
google-analytics objective-c ios firebase google-tag-manager
我在谷歌标记管理器中有这个代码:
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '***********');
fbq('set','agent','tmgoogletagmanager', '***********');
fbq('track', "PageView");
</script>
Run Code Online (Sandbox Code Playgroud)
我只是想知道是否有人能告诉我'!'是什么,或它做什么?我以前从未见过它,google/duckduckgo搜索没有产生任何结果,我可以看到.
这可能意味着"不是一种功能"吗?奇怪的!
我想使用Google跟踪代码管理器实施增强型电子商务,并希望为跟踪代码Universal Analytics推送一些数据。
我总是在GTM脚本之前创建dataLayer,但是现在我需要发送其他数据, dataLayer.push
而且它不起作用,仅当我在GTM脚本启动之前执行datalaLayer.push时,它才起作用。
例。这有效:
<script>
<head>
dataLayer = [{
'google_tag_params': {
'ecomm_pagetype': 'category',
'ecomm_category': '{{ $resource->seo->h1 }}',
}
}];
dataLayer.push({
'ecommerce': {
'currencyCode': 'EUR',
'impressions': [
{
'id': '12312',
'price': 24,
'category': 'wfwefwerwerwer',
'position': 2,
'name': 'wfwefwerwerwer',
'brand': 'My Brand',
'list': 'Product List',
}
]
}
});
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
但是,如果我在GTM脚本不起作用后使用dataLayer.push,则不会发送任何数据,也不会报告任何错误。
这对我不起作用:
<head>
<script>
dataLayer = [{
'google_tag_params': {
'ecomm_pagetype': 'category',
'ecomm_category': '{{ $resource->seo->h1 }}',
}
}];
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= …Run Code Online (Sandbox Code Playgroud) 我使用Vue CLI制作了一个简单的Vue应用程序,现在我想在html的头部添加Google Tag Manager代码,仅限于生产版本.我可以使用像php这样的服务器端语言来做这个,所以我尝试将index.html更改为index.php,但是当我构建项目时,它会输出一个index.html注入应用程序,而index.php没有注入应用程序dist文件夹.php代码也不能与vue cli中的webpack-dev-server一起使用.
如何将一些服务器端代码(它不必是php)集成到vue cli生成的vue应用程序的索引中,以有条件地为生成构建添加标记管理器代码?我不确定vue cli构建过程是如何完成的.我可以告诉它使用不同的index.html进行生产构建吗?
额外:我有兴趣了解有关vue cli构建过程的更多信息.恩.模板index.html中没有脚本标记,那么在构建或使用webpack-dev-server时,Vue如何将自身注入索引?
google-tag-manager webpack webpack-dev-server vuejs2 vue-cli
javascript ×5
analytics.js ×1
blur ×1
browser ×1
codemirror ×1
data-layers ×1
firebase ×1
ios ×1
objective-c ×1
onblur ×1
vue-cli ×1
vuejs2 ×1
webpack ×1