简体   繁体   English

解析eCommerse数据以推送到Google Tag Manager的dataLayer

[英]Parsing eCommerse data to push into dataLayer for Google Tag Manager

Below is the eCommerse data pushed into the ether. 以下是推入以太网的eCommerse数据。

I want to extract specific bits of the data to push it to Google Tag Manager's (GTM) dataLayer array. 我想提取数据的特定位以将其推送到Google跟踪代码管理器(GTM)的dataLayer数组。 Anything hidden, I have no use for (eg Credit Card info and etc.). 任何隐藏的东西,我都没用(例如信用卡信息等)。 Please note that all of this code is readily available to the public and does not contain sensitive data. 请注意,所有这些代码都可以随时向公众开放,并且不包含敏感数据。

ATTEMPT A: ATTEMPT A:

<script type="text/javascript">//anything below I'm not going to mess with

var _gaq = _gaq || [];

BLACKBAUD.netcommunity.api.DonationConfirmation.add(function(data){

if(data.TransTotal){

_gaq.push(['_addTrans', data.TransID, '',data.TransTotal, '', '', '', '', '']);

for(var i=0;i<data.Items.length;i++){

_gaq.push(['_addItem', data.Items[i].ID, data.Items[i].SKU, data.Items[i].Name, '', data.Items[i].Price, data.Items[i].Quantity]);

};

_gaq.push(['_trackTrans']);
dataLayer.push({gaqBatch_gaq}); //Except for here. I have added this line.
};

});
</script> 

This above was my original attempt. 以上是我最初的尝试。 It pushes the set of pushes data (3 segments) as such (refer to image). 它推送推送数据集(3段)(参见图像)。

Google Tag Manager - Preview Mode - Data Layer Push Results (A) Google跟踪代码管理器 - 预览模式 - 数据层推送结果(A)

ATTEMPT B: ATTEMPT B:

I revised my snipper above from, 我从上面修改了我的剪刀,

dataLayer.push({_gaq});

to

var gaqTemp = [].concat.apply([], _gaq); //Merges Arrays. Found this on stackoverflow. dataLayer.push({'gaqBatch' : gaqTemp}); //Pushes Merged Array to dataLayer as 'gaqBatch'

This results in the following: Google Tag Manager - Preview Mode - Data Layer Push Results (B) 这导致以下结果: Google跟踪代码管理器 - 预览模式 - 数据层推送结果(B)

What I really want is this: 我真正想要的是这个:

    {
gtm: {
...
},
...
gaqBatch: [
'giftID' : 6024, //from gaqBatch array index 1
'giftAmount' : $25, //from gaqBatch array index 3
'transID' : aaaa-bbbb-cccc-dddd-eeee-ffff, //from gaqBatch array index 11
'giftType' : Donation, //from gaqBatch array index 12
'giftTotal' : $25 //from gaqBatch array index 15
]
}

If I can avoid pushing all the data from the eCommerce snippet into the GTM dataLayer, I'd prefer that. 如果我可以避免将电子商务代码段中的所有数据推送到GTM dataLayer,我宁愿这样做。 Ie store it temporarily in an array and create 5 objects: giftID, giftAmount, transID, giftType, giftTotal . 即将其临时存储在数组中并创建5个对象: giftID,giftAmount,transID,giftType,giftTotal

The purpose of these objects would be to use them as dataLayer variables in GTM to feed metrics in Google Analytics. 这些对象的目的是将它们用作GTM中的dataLayer变量,以便在Google Analytics中提供指标。

Thank you, 谢谢,

Sorry for the length, this is my first post and I didn't want to forget any details. 对不起,这是我的第一篇文章,我不想忘记任何细节。

Figured it out... 弄清楚了...

var _gaq = _gaq || [];
var dataLayer = dataLayer || [];

_gaq.push('_addTrans', '9874', '', '115', '', '', '', '', '','_addItem', '5949', '10000-100000-10000-10000-10000000', 'Donation', '', '115', '1','_trackTrans');

var tmpGiftAmount = _gaq[3];
var tmpGiftID = _gaq[1];
var tmpTransID = _gaq[11];

dataLayer.push({'giftAmount' : tmpGiftAmount, 'giftID' : tmpGiftID, 'transID' : tmpTransID});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Google跟踪代码管理器dataLayer推送未存储对象 - Google Tag manager dataLayer push not storing object 谷歌标签管理器数据层不发送数据 - Google tag manager dataLayer not sending data Google标记管理器-是否可以通过GTM标记插入dataLayer? - Google tag manager - is it possible to push into dataLayer via GTM tag? 尽管执行了DataLayer推送,但Google跟踪代码管理器代码未触发 - Google Tag Manager tag not triggered despite DataLayer push being executed Google跟踪代码管理器是否“订阅” dataLayer.push? 如果是,怎么办? - Does Google Tag Manager “subscribe” to dataLayer.push? If yes, how? Firefox 增强的隐私保护正在阻止数据层推送到谷歌标签管理器 - Firefox Enhanced Privacy Protection is blocking Datalayer push to Google Tag Manager 如何将表单提交推送到谷歌标签管理器 (gtm) 中的数据层 - How to push a form submission to the dataLayer in google tag manager (gtm) 跟踪代码管理器无法识别Google跟踪代码管理器dataLayer - Google Tag Manager dataLayer unrecognized by Tag Manager Google跟踪代码管理器dataLayer持久性 - Google Tag Manager dataLayer persistency 在Google跟踪代码管理器数据层上映射WordPress插件数据 - Mapping WordPress plugin data on Google Tag Manager dataLayer
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM