2017-07-28 36 views
1

我设置了Google代码来检查我的用户正在搜索的邮编。我使用了自定义的Javascript变量类型来设置这个变量。Google代码管理器 - 未在自定义Javascript中设置有时

function() { 
    var url = new URL({{Page URL}}); 
    var zip = url.searchParams.get("zip"); 
    return (zip); 
    } 

当用户转到包含“locations.aspx?term”的地址时,我触发了该标记。下面是一个例子网址:

https://www.example.com/locations.aspx?term=64544&zip=64160&lat=43.3414758&lng=-0.1509269000000586

我应该怎么找调试为什么收益的50%(未设置)在谷歌Analytics(分析)?回报的另一半回来就好了。

谢谢!

回答

1

。在你的JS两个问题:

  • 它不是在Internet Explorer支持
  • 如果网址不具有zip PARAMS querstring,它将返回null。这将导致做(not set)

最好的办法是:

function() { 
    function getURLParameter(name) { 
     return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || ""; 
    } 
    var zip = getURLParameter('zip'); 
    return zip; 
} 
1

虽然这不会解决你的JavaScript问题,GTM有一个内置的方式来获得查询参数,在我的经验是可靠的并可能会解决您的问题。您可以使用URL变量类型并将“组件类型”设置从“完整URL”更改为“查询”,然后输入您的查询键(url参数的名称)。这将返回参数的值,如果不存在则返回“undefined”。

get query GTM variable

相关问题