网站简介

这个网站是一个用于管理用户同意的平台,通过使用Google Tag Manager(GTM)实现。GTM是一个由Google提供的容器服务,用于管理和部署JavaScript代码。在这个示例中,我们使用了GTM来收集和存储用户的同意信息。

功能

  1. 同意管理:该网站允许管理员设置各种类型的同意选项,例如广告存储、分析存储、功能性存储、个性化存储和安全存储。这使得管理员可以轻松地管理用户在网站上的行为和数据收集。

  2. 等待更新:在设置完同意选项后,网站会自动等待500毫秒进行更新。这一步骤是为了确保所有设置都已生效,并为后续操作做好准备。

  3. 数据保护:该网站使用gtag("set", "ads_data_redaction", true)函数对广告数据进行脱敏处理,以保护用户的隐私。

  4. 实时监测:通过GTM,网站可以实时监控用户行为和数据收集情况,帮助管理员了解用户需求并优化网站设计。

实现原理

该网站利用了Google Tag Manager的GTM功能来实现用户同意的管理。以下是实现的主要步骤:

  1. 在HTML页面中,将Google Tag Manager的数据层代码添加到<head>标签内,以便在整个网站中共享标签和脚本:
<script>window.dataLayer = window.dataLayer || [];</script>
  1. 初始化GTM,并定义一个名为consentmanager的容器:
function gtag() { dataLayer.push(arguments) } gtag("consent", "default", { ad_storage: "denied", analytics_storage: "denied", functionality_storage: "denied", personalization_storage: "denied", security_storage: "granted", wait_for_update: 500 }); gtag("set", "ads_data_redaction", true); (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(i)[0], j=d.createElement(i), sn=j.size(), nn=d.getElementsByTagName(i)[0].cloneNode(false);j.src=('https://www.googletagmanager.com/gtm.js?id='+i).replace('gtm.js','');f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-XXX');

其中consentmanager是容器的名称,可以根据需要自定义。

  1. 在GTM控制面板中创建同意相关的标签,并将其与相应的容器关联起来。这些标签可以包含不同的脚本和设置,用于实现不同的同意选项和管理功能。例如,可以创建一个名为“Analytics”的标签,用于管理分析数据的收集和存储。

  2. 将创建好的标签部署到网站的HTML页面上,使其生效。具体方法是在HTML页面的<head>标签内插入GTM提供的<script>标签,或者直接在网页上引用GTM提供的JavaScript文件。

通过以上步骤,该网站成功实现了用户同意的管理功能,并通过Google Tag Manager的容器服务简化了开发过程。