我不知道如何编写 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/