基于 domain/hostname/url 设置 GUA_ID 的 GTM 宏
GTM Macro to set GUA_ID based on domain/hostname/url
我们有几个网站。在设置 GTM 期间,我想知道我是否需要为所有网站设置 1 个 GTM 容器(并使其可变)或为每个网站设置 1 个容器。后者似乎需要大量手动配置。
但是,为了实现更动态的方法,我想知道是否可以根据 url/hostname 正则表达式查找 table 设置 GUA ID。
让它变得更加困难:我们有两个不同的域和相同的域以及语言的子文件夹,因此查找 table 必须支持两者。
我的问题:这样的宏查找是否有效,或者是否存在更好的方法来实现相同的结果?
见下图示例
Lookup table 宏不支持正则表达式。您应该使用过渡自定义 JS 宏或标记来检查您的正则表达式。然后你可以将它推送到数据层或宏中的 return 用作查找中的键 table
例如
v1 - js 标签
<script>
categories=[
/\/moscow\/.*kupit-kvartiru\/kvartiri-studii\//,
/\/moscow\/.*kupit-kvartiru\/odnokomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/dvuhkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/trehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/chetyrehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/bolshie-kvartiri\//
];
for (i in categories) {
if (RegExp(categories[i]).test({{url}})) {
category_type_for_retargeting=categories[i].toString().slice(1,-1);
dataLayer.push({
'event' : 'regex_event',
'category' : category_type_for_retargeting
});
}
}
</script>
v2 - 用于查找的 js 宏 table
function() {
categories=[
/\/moscow\/.*kupit-kvartiru\/kvartiri-studii\//,
/\/moscow\/.*kupit-kvartiru\/odnokomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/dvuhkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/trehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/chetyrehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/bolshie-kvartiri\//
];
for (i in categories) {
if (RegExp(categories[i]).test({{url}})) {
category_type_for_retargeting=categories[i].toString().slice(1,-1);
return category_type_for_retargeting;
}
}
return -1; //default value
}
v3 - js 宏作为 UA id
function() {
categories={
"UA-1234-1" : /\/moscow\/.*kupit-kvartiru\/kvartiri-studii\//,
"UA-1234-2" : /\/moscow\/.*kupit-kvartiru\/odnokomnatnie-kvartiri\//,
"UA-1234-3" : /\/moscow\/.*kupit-kvartiru\/dvuhkomnatnie-kvartiri\//,
"UA-1234-4" : /\/moscow\/.*kupit-kvartiru\/trehkomnatnie-kvartiri\//,
"UA-1234-5" : /\/moscow\/.*kupit-kvartiru\/chetyrehkomnatnie-kvartiri\//,
"UA-1234-6" : /\/moscow\/.*kupit-kvartiru\/bolshie-kvartiri\//
};
for (i in categories) {
if (RegExp(categories[i]).test({{url}})) return i;
}
}
我们有几个网站。在设置 GTM 期间,我想知道我是否需要为所有网站设置 1 个 GTM 容器(并使其可变)或为每个网站设置 1 个容器。后者似乎需要大量手动配置。
但是,为了实现更动态的方法,我想知道是否可以根据 url/hostname 正则表达式查找 table 设置 GUA ID。
让它变得更加困难:我们有两个不同的域和相同的域以及语言的子文件夹,因此查找 table 必须支持两者。
我的问题:这样的宏查找是否有效,或者是否存在更好的方法来实现相同的结果?
见下图示例
Lookup table 宏不支持正则表达式。您应该使用过渡自定义 JS 宏或标记来检查您的正则表达式。然后你可以将它推送到数据层或宏中的 return 用作查找中的键 table
例如
v1 - js 标签
<script>
categories=[
/\/moscow\/.*kupit-kvartiru\/kvartiri-studii\//,
/\/moscow\/.*kupit-kvartiru\/odnokomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/dvuhkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/trehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/chetyrehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/bolshie-kvartiri\//
];
for (i in categories) {
if (RegExp(categories[i]).test({{url}})) {
category_type_for_retargeting=categories[i].toString().slice(1,-1);
dataLayer.push({
'event' : 'regex_event',
'category' : category_type_for_retargeting
});
}
}
</script>
v2 - 用于查找的 js 宏 table
function() {
categories=[
/\/moscow\/.*kupit-kvartiru\/kvartiri-studii\//,
/\/moscow\/.*kupit-kvartiru\/odnokomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/dvuhkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/trehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/chetyrehkomnatnie-kvartiri\//,
/\/moscow\/.*kupit-kvartiru\/bolshie-kvartiri\//
];
for (i in categories) {
if (RegExp(categories[i]).test({{url}})) {
category_type_for_retargeting=categories[i].toString().slice(1,-1);
return category_type_for_retargeting;
}
}
return -1; //default value
}
v3 - js 宏作为 UA id
function() {
categories={
"UA-1234-1" : /\/moscow\/.*kupit-kvartiru\/kvartiri-studii\//,
"UA-1234-2" : /\/moscow\/.*kupit-kvartiru\/odnokomnatnie-kvartiri\//,
"UA-1234-3" : /\/moscow\/.*kupit-kvartiru\/dvuhkomnatnie-kvartiri\//,
"UA-1234-4" : /\/moscow\/.*kupit-kvartiru\/trehkomnatnie-kvartiri\//,
"UA-1234-5" : /\/moscow\/.*kupit-kvartiru\/chetyrehkomnatnie-kvartiri\//,
"UA-1234-6" : /\/moscow\/.*kupit-kvartiru\/bolshie-kvartiri\//
};
for (i in categories) {
if (RegExp(categories[i]).test({{url}})) return i;
}
}