3

Ниже приведены данные eCommerse, введенные в эфир.Разбор данных eCommerse для ввода в dataLayer для Диспетчера тегов Google

Я хочу извлечь определенные биты данных, чтобы подтолкнуть их к массиву DataMayer Tag Manager (GTM). Все, что скрыто, я не могу использовать (например, информацию о кредитной карте и т. Д.). Обратите внимание, что весь этот код легко доступен для общественности и не содержит конфиденциальных данных.

ПОПЫТКА 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> 

Это выше была моя оригинальная попытка. Он подталкивает набор данных толкания (3 сегмента) как таковой (см. Изображение).

Google Tag Manager - Preview Mode - Data Layer Push Results (A)

ПОПЫТКА B:

я пересмотрел мой Snipper выше от,

dataLayer.push({_gaq});

в

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

Это приводит к следующим: Google Tag Manager - Preview Mode - Data Layer Push Results (B)

То, что я действительно хочу это:

{ 
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 
] 
} 

Если я не подталкивать все данные из электронной коммерции сниппета в GTM dataLayer, я бы предпочел, чтобы , То есть временно храните его в массиве и создавайте 5 объектов: giftID, giftAmount, transID, giftType, giftTotal.

Целью этих объектов было бы использовать их в качестве переменных DataLayer в GTM для подачи показателей в Google Analytics.

Спасибо,

Извините за длину, это мой первый пост, и я не хочу забыть ни одной детали.

ответ

1

Фигурные это ...

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}); 

 Смежные вопросы

  • Нет связанных вопросов^_^