javascript - 将子字符串提取到 GTM 变量中的简单代码(Google 跟踪代码管理器)

标签 javascript google-tag-manager

我不知道如何编写 Java 代码,也不是 GTM 专家。然而,我需要的代码非常简单,它可以在在线编辑器上运行,但我一直试图让它在 GTM 上运行,但它不验证代码。

我需要从一个长字符串(GTM 中的变量 {{Click URL}})中提取电子邮件地址,该字符串包含带有许多参数的完整“mailto:”网址,并且仅从那里提取短电子邮件(没有附加参数)在“.com?”之后)

此类网址的一个示例: '邮件至:[email protected] ?主题=需求%20de%20renseign ements&body=Votre%20nom:%20%0A%0ANom%20du%20产品:%20%0A%0AVotre%20tel .%20si%20vous%20souhaitez%20recevoir%20un%20appel%20de%20notre%20部分:%2 0%0A%0AVotre%20demande%20de%20renseignements:%20%0A'

这是代码,


let shortmailto2 = {{Click URL}},
let fin = shortmailto2.indexOf('?'),
let debut = shortmailto2.indexOf(':'),
let shortmailto = shortmailto2.slice(debut+1,fin);

在在线编辑器上进行测试时,它会根据我的需要提取正确的电子邮件地址,但是当我将其插入 GTP 时(并使用预先存在的变量,即“点击 url”),我收到错误(请参阅下面的 monosnap 链接了解更多信息)屏幕截图):https://monosnap.com/file/eBFYfEwLv9LrPwGrGl6rzaHCbmoeYj

谢谢!

最佳答案

GTM 自定义 JavaScript 变量:
该字段应该是一个使用“return”语句返回值的 JavaScript 函数。如果函数没有显式返回值,它将返回 undefined 并且您的容器可能不会按预期运行。下面是该字段的示例:

  function() {
    var now = new Date();
    return now.getTime();
  }  

当我测试它时,以下内容对我有用,仅返回电子邮件地址。

 function() {
  var shortmailto2 = {{Click URL}};
  var fin = shortmailto2.indexOf('?');
  var debut = shortmailto2.indexOf(':');
  return shortmailto2.slice(debut+1,fin);      
}

关于javascript - 将子字符串提取到 GTM 变量中的简单代码(Google 跟踪代码管理器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64913460/

相关文章:

google-analytics - 使用 gtag 进行 Google 优化重定向测试

android - 带有 Firebase 的 Google 跟踪代码管理器

google-analytics - 我无法使用 Google AdWords 再营销代码

google-analytics - 从Firebase Analytics到Google Analytics(分析),如何获取客户端ID?

javascript - 数组返回indexOf而不是模式计数

javascript - 当另一个 javascript Action 被击中时,jQuery 移动 header 消失(变得不固定)

javascript - 使用 JS/jQuery 迭代基于字符串的数组

javascript - 如何使用 javascript 将字符串添加到 ul 中的所有列表项?

javascript - 尝试检查表单中的值是否在设定范围内的数字

javascript - Google 跟踪代码管理器正在用 css 隐藏我的自定义 HTML 标记