Page 1 of 1

使用正则表达式表提取 Cookie 值

Posted: Wed Jan 15, 2025 8:39 am
by suhasini523
这个 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 所做的事情,看看是否可以在没有代码的情况下完成同样的事情。