使用正则表达式表提取 Cookie 值
Posted: Wed Jan 15, 2025 8:39 am
这个 Google Tag Manager 技巧很酷,建立在无代码主题之上,同时也让查找表这个讨厌的兄弟有机会大放异彩。
这次,您遇到了一段奇怪的代码,该代码正在获取 cookie 值。您会想,这很奇怪。GTM 内置了对第一方 cookie 的支持,那么我为什么要用代码来实现这一点呢?
在对 JavaScript 进行一番解读后,你明白了。你需要从 cookie 值本身中提取一个值。cookie 包含许多其他由分隔符分隔的信息,你只需要其中的一点。
它看起来像是来自OneTrust cookie 的交互计数。OneTrust是 科威特手机数据 一种同意管理解决方案,OptanonCookie 包含一个有用的交互计数值。
通常情况下,这种东西可以(或应该)放在数据层,即干净实现的堡垒,但处理第三方工具时,生活往往会有点棘手。
您正在使用 split 之类的方法来获取 cookie 中的值数组,然后循环遍历它们并查找 interactionCount 值。
自定义 javascript 变量配置代码
如果该值在 cookie 中是独立的,那么您的主要行动就是创建一个 GTM 第一方 Cookie 变量并读取该变量,但这需要您使用 split 方法对该值进行切分。
呃……脑中闪现出一个错误“未捕获的异常:.split 不是一个函数。”你现在对 split 产生了一种难以摆脱的厌恶。
因此,您无法立即确定优化是什么,但您知道这需要优化。也许您现在无法完全证明这一点,但此代码的性质会让您感到困惑,让您烦恼。
您注意到您在代码中使用了正则表达式测试...灯泡...您可以改用正则表达式表吗?
是的,你可以。操作方法如下:
Regex 表代码配置
输入变量应为 OptanonConsent Cookie 的第一方 Cookie 变量。然后使用带有捕获组的正则表达式来获取所需的值。
哇,一天之内就删除了两段旧代码。你真是太厉害了!
再次强调,认真检查 JS 变量,查找使用 cookie 所做的事情,看看是否可以在没有代码的情况下完成同样的事情。
这次,您遇到了一段奇怪的代码,该代码正在获取 cookie 值。您会想,这很奇怪。GTM 内置了对第一方 cookie 的支持,那么我为什么要用代码来实现这一点呢?
在对 JavaScript 进行一番解读后,你明白了。你需要从 cookie 值本身中提取一个值。cookie 包含许多其他由分隔符分隔的信息,你只需要其中的一点。
它看起来像是来自OneTrust cookie 的交互计数。OneTrust是 科威特手机数据 一种同意管理解决方案,OptanonCookie 包含一个有用的交互计数值。
通常情况下,这种东西可以(或应该)放在数据层,即干净实现的堡垒,但处理第三方工具时,生活往往会有点棘手。
您正在使用 split 之类的方法来获取 cookie 中的值数组,然后循环遍历它们并查找 interactionCount 值。
自定义 javascript 变量配置代码
如果该值在 cookie 中是独立的,那么您的主要行动就是创建一个 GTM 第一方 Cookie 变量并读取该变量,但这需要您使用 split 方法对该值进行切分。
呃……脑中闪现出一个错误“未捕获的异常:.split 不是一个函数。”你现在对 split 产生了一种难以摆脱的厌恶。
因此,您无法立即确定优化是什么,但您知道这需要优化。也许您现在无法完全证明这一点,但此代码的性质会让您感到困惑,让您烦恼。
您注意到您在代码中使用了正则表达式测试...灯泡...您可以改用正则表达式表吗?
是的,你可以。操作方法如下:
Regex 表代码配置
输入变量应为 OptanonConsent Cookie 的第一方 Cookie 变量。然后使用带有捕获组的正则表达式来获取所需的值。
哇,一天之内就删除了两段旧代码。你真是太厉害了!
再次强调,认真检查 JS 变量,查找使用 cookie 所做的事情,看看是否可以在没有代码的情况下完成同样的事情。