GTM (Google Tag Manager) 是一个用于管理和部署网页标签(如追踪代码、分析工具、广告标签等)的平台。它允许开发者在不修改网页代码的情况下,通过一个集中的界面来管理和更新标签。
DataLayer 是一个全局JavaScript对象,用于在网页上存储和传递数据。它通常用于GTM中,以便在不同的标签之间共享数据。
类型:
应用场景:
假设我们有一个DataLayer变量如下:
dataLayer = [{
'event': 'pageview',
'pageTitle': 'Home Page',
'userType': 'registered'
}];
我们希望将pageTitle
和userType
截断为自定义JavaScript变量。
Data Layer Variable
。pageTitle
和userType
作为变量名。// 获取pageTitle变量
var pageTitle = {{pageTitle}};
// 获取userType变量
var userType = {{userType}};
console.log('Page Title:', pageTitle);
console.log('User Type:', userType);
问题:DataLayer变量未正确传递或显示。
原因:
解决方法:
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'pageview',
'pageTitle': 'Home Page',
'userType': 'registered'
});
</body>
标签前)引入GTM脚本。<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'pageview',
'pageTitle': 'Home Page',
'userType': 'registered'
});
</script>
<!-- Google Tag Manager -->
<script>(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>
<!-- End Google Tag Manager -->
通过以上步骤,可以确保DataLayer变量正确传递并在自定义JavaScript变量中使用。
领取专属 10元无门槛券
手把手带您无忧上云