乐天-窗口.DataLayer.push不是函数



嗨,我正试图在我的乐天铁路上推送数据层,但我收到了以下错误

window.dataLayer.push不是函数

请在下面输入我的代码。

//START Rakuten Marketing Tracking 
(function (url) {
/*Tracking Bootstrap Set Up DataLayer objects/properties here*/
if(!window.DataLayer){
window.DataLayer = {};
}
if(!DataLayer.events){
DataLayer.events = {};
}
DataLayer.events.SPIVersion = DataLayer.events.SPIVersion || "3.4.1";
DataLayer.events.SiteSection = "1";
var loc, ct = document.createElement("script");
ct.type = "text/javascript";
ct.async = true; ct.src = url; loc = document.getElementsByTagName('script')[0];
loc.parentNode.insertBefore(ct, loc);
}(document.location.protocol + "//tag.rmp.rakuten.com/xxxxxx.ct.js"));
// END Rakuten Marketing Tracking 


window.DataLayer = window.dataLayer || [];
window.DataLayer.push({
'event': 'internet',
'typeofBusinessSolution': 'internet'
});

我不了解Rakuten,但我在代码中看到了一些错误。

  1. Datalayer.events定义为Object,但用作数组。你可以这样改变:
if(!DataLayer.events){
DataLayer.events = [];
}
  1. 您尝试直接推送到dataLayer。上面的代码说应该是events,对吧?此更改可能有助于:
window.DataLayer = window.dataLayer || {};
window.DataLayer.events = window.dataLayer.events || [];
window.DataLayer.events.push({
'event': 'internet',
'typeofBusinessSolution': 'internet'
});

最新更新