Google跟踪代码管理器自定义JavaScript

时间:2015-08-24 08:38:46

标签: javascript google-tag-manager

我正在尝试设置Google标记管理器变量来读取URL参数(如果存在),如果不存在,请检查数据层中是否存在该变量,如果不存在则返回false。

但是,GTM提供了一个解析错误,指出缺少')'。任何帮助都会非常感激,不确定它是否是我的代码或者GTM是否需要特定的语法?

    function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
    results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

function () {
var hid = getParameterByName('hid').length();
if (hid > -1) {
  return getParameterByName('hid');
}
else
  if (dataLayer[0].emailHash.length >-1) {
return dataLayer[0].emailHash;
  }
else
{
  return false
}
}

1 个答案:

答案 0 :(得分:0)

尝试使用此代码(您需要输入脚本标记):

<script type="text/javascript">
(function (){
    function getParameterByName(name) {
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
         return results === null ?  "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }

    var hid = getParameterByName('hid').length();
    if (hid > -1) {
        return getParameterByName('hid');
    } else if (dataLayer[0].emailHash.length > -1) {
        return dataLayer[0].emailHash;
    } else {
        return false;
    }    
})();