You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Tag Manager中获取Local Storage的SeersCMPConsent值?

问题

几乎没有编码经验,从事Google Tag Manager(GTM)的Web分析与追踪工作,想要获取Local Storage中键名为SeersCMPConsent的值,已尝试两段自定义JavaScript变量代码,均返回undefined,询问是否可以获取该键值,以及正确代码。

已尝试的代码

代码1

function() {
  var keyValue = sessionStorage.getItem('SeersCMPConsent');
  return keyValue;
}

代码2

function() {
  var obj = JSON.parse(localStorage.getItem('SeersCMPConsent'));
  return obj.value;
}

Local Storage存储情况

SeersCMPConsent对应的是JSON格式的值,结构中不存在value字段,包含consent等层级字段(例如consent.status表示同意状态)。

解决方案

可以获取该键值,根据需求选择以下代码:

1. 获取原始JSON字符串

如果需要直接拿到未解析的原始字符串,使用:

function() {
  return localStorage.getItem('SeersCMPConsent');
}

2. 解析JSON后获取具体字段

如果需要提取JSON里的具体内容(比如同意状态),用带异常处理的代码避免报错:

function() {
  var consentData = localStorage.getItem('SeersCMPConsent');
  if (!consentData) return undefined;
  try {
    var consentObj = JSON.parse(consentData);
    // 这里以获取同意状态为例,可根据实际结构修改字段路径
    return consentObj.consent.status;
  } catch(e) {
    return undefined;
  }
}

错误原因

  • 代码1错用了sessionStorage,目标数据存在localStorage中,二者是独立的存储对象
  • 代码2尝试返回obj.value,但实际存储的JSON结构里没有value字段,所以返回undefined

内容的提问来源于stack exchange,提问作者nakata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:33:32