GTM 变量中的 Javascript IF/Else
Javascript IF/Else in GTM Variable
我正在尝试使用 GTM 和自定义 Javascript 根据页面上特定位置显示的文本动态地将结构化标记插入页面(这每几周更改一次)。
为此,我尝试使用 If/Else,但每次都会导致未定义。
如果已经创建了一个正常工作的变量并从页面 {{EventLocationVariable}} 中提取所需的文本。
我到目前为止:
function () {
var eventloc = {{EventLocationVariable}};
var customeventloc;
if (eventloc === Manchester) {
customeventloc = 'Manchester details goes here';
}
else
if (eventloc === Liverpool) {
customeventloc = 'Liverpool details goes here';
}
else
if (eventloc === Leeds) {
customeventloc = 'Leeds details goes here';
}
else
if (eventloc === Birmingham) {
customeventloc = 'Birmingham details goes here';
}
else {
customeventloc = 'some other details goes here';
}
return customeventloc;
}
这可能很简单,但我似乎无法让它发挥作用。
您需要一个函数名称,并确保引号。
这是一个更简单的版本
ES5
const cust = {
'Manchester': 'Manchester details goes here',
'Liverpool': 'Liverpool details goes here',
'Leeds': 'Leeds details goes here',
'Birmingham': 'Birmingham details goes here'
};
const getCustomEvent = function(eventloc) { return cust[eventloc] || 'some other details goes here'; };
//const ce = getCustomEvent("{{EventLocationVariable}}"); // uncomment when happy
const ce = getCustomEvent("Leeds"); // remove when happy
console.log(ce)
// testing non-existing event
console.log(getCustomEvent("Nope"))
ES6
const cust = {
'Manchester': 'Manchester details goes here',
'Liverpool': 'Liverpool details goes here',
'Leeds': 'Leeds details goes here',
'Birmingham': 'Birmingham details goes here'
};
const getCustomEvent = eventloc => cust[eventloc] || 'some other details goes here';
//const ce = getCustomEvent("{{EventLocationVariable}}"); // uncomment when happy
const ce = getCustomEvent("Leeds"); // remove when happy
console.log(ce)
// testing non-existing event
console.log(getCustomEvent("Nope"))
哦,你错过了黄金。您真正需要的是一个 Lookup Table,以及您已经拥有的 {{EventLocationVariable}}。这里:
当您使用 GTM 时,请确保您完全熟悉其所有 tag/variable/trigger 类型。以自己的方式编写解决方案的趋势可能很好,特别是如果您来自 JavaScript 背景,但 GTM 非常擅长提供更简单的解决方案。
我正在尝试使用 GTM 和自定义 Javascript 根据页面上特定位置显示的文本动态地将结构化标记插入页面(这每几周更改一次)。
为此,我尝试使用 If/Else,但每次都会导致未定义。 如果已经创建了一个正常工作的变量并从页面 {{EventLocationVariable}} 中提取所需的文本。
我到目前为止:
function () {
var eventloc = {{EventLocationVariable}};
var customeventloc;
if (eventloc === Manchester) {
customeventloc = 'Manchester details goes here';
}
else
if (eventloc === Liverpool) {
customeventloc = 'Liverpool details goes here';
}
else
if (eventloc === Leeds) {
customeventloc = 'Leeds details goes here';
}
else
if (eventloc === Birmingham) {
customeventloc = 'Birmingham details goes here';
}
else {
customeventloc = 'some other details goes here';
}
return customeventloc;
}
这可能很简单,但我似乎无法让它发挥作用。
您需要一个函数名称,并确保引号。
这是一个更简单的版本
ES5
const cust = {
'Manchester': 'Manchester details goes here',
'Liverpool': 'Liverpool details goes here',
'Leeds': 'Leeds details goes here',
'Birmingham': 'Birmingham details goes here'
};
const getCustomEvent = function(eventloc) { return cust[eventloc] || 'some other details goes here'; };
//const ce = getCustomEvent("{{EventLocationVariable}}"); // uncomment when happy
const ce = getCustomEvent("Leeds"); // remove when happy
console.log(ce)
// testing non-existing event
console.log(getCustomEvent("Nope"))
ES6
const cust = {
'Manchester': 'Manchester details goes here',
'Liverpool': 'Liverpool details goes here',
'Leeds': 'Leeds details goes here',
'Birmingham': 'Birmingham details goes here'
};
const getCustomEvent = eventloc => cust[eventloc] || 'some other details goes here';
//const ce = getCustomEvent("{{EventLocationVariable}}"); // uncomment when happy
const ce = getCustomEvent("Leeds"); // remove when happy
console.log(ce)
// testing non-existing event
console.log(getCustomEvent("Nope"))
哦,你错过了黄金。您真正需要的是一个 Lookup Table,以及您已经拥有的 {{EventLocationVariable}}。这里:
当您使用 GTM 时,请确保您完全熟悉其所有 tag/variable/trigger 类型。以自己的方式编写解决方案的趋势可能很好,特别是如果您来自 JavaScript 背景,但 GTM 非常擅长提供更简单的解决方案。