解决: ​​https://stackoverflow.com/questions/38958637/resolving-error-datalayer-is-not-defined​

原因就是没有定义,检查一下使用

dataLayer.push

的地方,补充上初始化

window.dataLayer = window.dataLayer || [];

 也可以使用封装

var getDataLayer = (function () {
var _dummy = null;
return function () {
if (window['dataLayer']) {
return window['dataLayer']
}
if (!_dummy) {
_dummy = {
push: function () {
}
};
}

return _dummy;
}
})();

使用

getDataLayer().push