If statement 使用Javascript IF函数创建Google标记管理器变量

If statement 使用Javascript IF函数创建Google标记管理器变量,if-statement,google-tag-manager,If Statement,Google Tag Manager,我正试图在谷歌标签管理器中创建一个自定义变量。我需要它在以下情况下显示0值 客户使用包含“礼券”字样的折扣代码进行购买 和 它产生负收入 否则它应该只显示为标准收入(有时需要负收入,因此为什么在使用礼券时它只显示为0) 我试过以下方法 function () { if ({{Discount Code Used}} = str.includes("Gift Voucher") && {{Revenue}}<0 ) {return 0; } else {

我正试图在谷歌标签管理器中创建一个自定义变量。我需要它在以下情况下显示0值

客户使用包含“礼券”字样的折扣代码进行购买

它产生负收入

否则它应该只显示为标准收入(有时需要负收入,因此为什么在使用礼券时它只显示为0)

我试过以下方法

function () { if ({{Discount Code Used}} = str.includes("Gift Voucher") && {{Revenue}}<0 ) {return 0; } else { return {{Revenue}}; }}

function(){if({{Discount code Used}}}=str.includes(“礼券”)&&{{Revenue}}}您的
if
条件的前半部分有点不合适:

{{使用的折扣码}}=str.includes('礼品券')
使用字符串的
.includes()
方法的正确方法如下:

{{使用的折扣代码}}。包括('礼品券')
我建议使用而不是,因为它受到更多浏览器的支持

{{使用的折扣码}.indexOf('礼品券')!=-1

如果它仍然返回未定义的
,请仔细检查
已使用的折扣代码
收入
是否设置为正确的值。

太好了,它修复了我未定义的问题。但是规则不太有效,似乎所有内容都属于“其他”结果。我做了一些测试,是的,数组将混淆
.indexOf()
。我认为最好的选择是可以使用以下命令将数组转换为字符串:
{{{Discount code Used}}.join(',').indexOf…