#google-analytics #google-tag-manager
#google-analytics #google-менеджер тегов
Вопрос:
Я хотел бы создать пользовательскую переменную javascript для захвата всех товаров в корзине покупок. Я хотел бы, чтобы переменная возвращалась в следующем формате: item0 — item1 — item2
function() {
prod_names = [];
for( var i=0; i<cart.itemCount; i ) {
prod_names.push(cart.items[i].name);
}
return prod_names.join(" - ");
}
Я использовал код (отредактированный: удалил .
приведенный выше благодаря напоминаниям в комментариях), но он вернул значение undefined. Хотел бы обратиться за помощью ко всем экспертам GTM в этой ситуации. Спасибо.
Ниже показаны элементы datalayer на странице. Спасибо.
Комментарии:
1. Как вы вызываете эту анонимную функцию?
2.
cart.items.[i].name
<= похоже на опечатку с.
обозначением перед скобками.3. Даже когда я удаляю . перед скобкой, пользовательская переменная javascript не работает.
4. Я не предполагаю, что это была ваша единственная проблема, но я на 99% уверен, что это проблема .
Ответ №1:
Не должно быть .
перед []
function() {
prod_names = [];
for( var i=0; i<cart.itemCount; i ) {
prod_names.push(cart.items/* here is your problem --> */./* <-- */[i].name);
}
return prod_names.join(" - ");
}
Лично я бы сделал это следующим образом:
const getNames = cart => cart.items.map(item => item.name).join('-')
Комментарии:
1. Извините, могу я узнать, как вернуть ее в функцию / код конфигурации переменной по вашей
getNames
рекомендации? Спасибо2. Это просто функция
const names = getName(cart)