Как я выполняю цикл for внутри массива, а затем добавляю его в DataLayer.push
Я получил данные идентификаторов с веб-страницы как пользовательскую переменную Javascript:
function() {
var productID = document.querySelectorAll('a[data-productID]');
var allproductID = Array.prototype.map.call(productID, function(a) {
return a.getAttribute('data-productID');
});
return allproductID;
}
и эта функция повторно запускает все идентификаторы на странице, это хорошо.
Но теперь мне нужно отправить эти идентификаторы в Google через Диспетчер тегов,
Я ищу, как я могу зацикливаться внутри этого возвращаемого массива и помещать значения из Array в 'id' и отправлять их в Google, конечный результат должен быть таким:
<script>
gtag('event','view_item', {
value: 'somevalue'
'items': [
{
'id': 1234,
'google_business_vertical': 'retail'
},
{
'id': 45678,
'google_business_vertical': 'retail'
}
]
});
</script>
Спасибо
1 ответ
Вы можете создать объект в массиве с помощью оператора return, а затем добавить к secend return push, например
function() {
var productID = document.querySelectorAll('a[data-productID]');
var allproductID = Array.prototype.map.call(productID, function(a) {
return {
'id': a.getAttribute('data-productID'),
'google_business_vertical': 'retail'
}
});
return dataLayer.push({
'event': 'view_items',
'value': 'somevalue',
'items' : allproductID
});
}