将子字符串提取到GTM(谷歌标签管理器)变量中的简单代码



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

我需要从一个长字符串(GTM中的变量{{Click URL}}(中提取电子邮件地址;mailto:";url,并且仅从那里提取短电子邮件(在".com?"之后没有附加参数(

这只是一个此类url的例子:'邮件收件人:information@example.com?subject=Demande%20de%20renseignements&body=Votre%20nom:%20%0A%0Nom%20du%20production:%20%0A%0 Votre%20pel.%20si%20vous%20souhaitez%20recevoir%20un%20appel%20de%20notre%20part:%20%0A%0A承诺%20需求%20%国外:%20%0A'

这是代码,


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

当我在在线编辑器上测试时,它会根据我的需要提取正确的电子邮件地址,但当我将其插入GTP(并使用预先存在的变量"点击url"(时,我会收到一个错误(请参阅下面的单快照链接以获取屏幕截图(:https://monosnap.com/file/eBFYfEwLv9LrPwGrGl6rzaHCbmoeYj

谢谢!

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

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);      
}

最新更新