我对GTM世界有点新意,在我接手该项目之前,现有的JavaScript已存在。我的问题是广告系列代码没有像他们应该的那样解码(例如qwer%2aqwer)。我正在尝试添加encodingURL来尝试清理它,但是我遇到了让它运行的问题。
function() {
try {
if ({{redirectParams}}){
var redirectParams = {{redirectParams}},
url = {{Page URL}},
utm_campaign = redirectParams.utm_campaign;
if (url.indexOf('utm_campaign') === -1 && url.indexOf('utm_source') === -1 && url.indexOf('utm_medium') === -1 && url.indexOf('utm_content') === -1 && url.indexOf('utm_term') === -1 && url.indexOf('gclid') === -1 && url.indexOf('dclid') === -1) {
return utm_campaign
}
我认为我应该能够将decodeURI组件添加到“return utm_campaign”语法中,但它不起作用。
我认为我可以将它添加到“return utm_camapin”语法中,但事实并非如此。 (例如,返回decodeURIcomponent('utm_campaign)
答案 0 :(得分:0)
仔细检查您在问题中输入的代码与GTM中的代码。提供的代码中存在一些问题会导致js函数在GTM中返回值。
以下是一些适用于GTM的代码。
function() {
try {
if ({{redirectParams}}) {
var redirectParams = {{redirectParams}},
url = {{Page URL}},
utm_campaign = redirectParams.utm_campaign;
if (url.indexOf('utm_campaign') === -1 && url.indexOf('utm_source') === -1 && url.indexOf('utm_medium') === -1 && url.indexOf(
'utm_content') === -1 && url.indexOf('utm_term') === -1 && url.indexOf('gclid') === -1 && url.indexOf('dclid') ===
-1) {
return decodeURICompnent(utm_campaign);
}
}
} catch (e) {}
}