我正在尝试让一些自定义 JS 在 Google 跟踪代码管理器中工作。我想要做的是让我的传出链接中 = 符号之后的任何内容都作为 GTM 中的事件进行跟踪。
例如我的链接看起来像这样......
https://www.example.org/go/company/?aid=link1
https://www.example.org/go/company/?param=link2
在上面的网址中,我想捕获“link1”和“link2”作为我在 GTM 中的链接 id。
这是我正在尝试编写的代码,到目前为止还没有成功。有人看出我有什么问题吗?
var link_id = {{Click Path}}.split('=')[1];
if({{Event}}.match(=.*)) return {{Event}};
if(link_id.match(=.*)) return link_id;
return false;
}
类似:
var link_id = {{Click Path}}.split('=').pop();
return link_id;
这使用
split()
在每次出现 =
符号时拆分 {{click Path}} 变量,然后使用 pop()
提取结果数组的最后一个元素,即最后一个 =
之后的值登录网址。
// use URL to parse url
const url = new URL('https://www.example.org/go/company/?aid=link1');
// use URLSearchParams to parse query part
const params = new URLSearchParams(url.search);
// get params as object
const obj = Object.fromEntries(params.entries());
console.log(obj);
// if you need only the value
console.log(Object.values(obj)[0]);