2016-09-16 44 views
0

我對GTM世界有點新鮮感,當前的JavaScript存在於我接管項目之前。我的問題是廣告系列代碼不像他們應該解碼(例如,更新%2aqwer)。我正在嘗試添加encodingURL來嘗試清理它,但是我遇到問題需要解決。GTM URL解碼

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 
      } 

我想我應該能夠在decodeURIcomponent添加到「返回utm_campaign」語法,但它不工作。

我想我可以將它添加到「return utm_camapin」語法中,但事實並非如此。 (例如,返回decodeURIcomponent('utm_campaign)

+0

很抱歉,但你的代碼是沒有意義的我。你能解釋一下它遠一點呢?utm_campaign = redirectParams。 utm_ca mpaign;不是很有用,因爲你的例子中沒有定義utm_campaign。 – michaelsinner

回答

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) {} 
 
}