Посчитайте стоимость корзины
Напишите Custom JavaScript переменную с {{DLV - items}}.
Задача
Верните сумму price × quantity для {{DLV - items}}. Преобразуйте числовые строки, считайте отсутствующее quantity равным 1, пропускайте невалидные цены и возвращайте 0 для пустого или отсутствующего items.
- Возвращает число
- Учитывает количество и числовые строки
- Сохраняет нулевое количество, обрабатывает пропущенные поля
Учебный сайт
СимуляцияВещи на каждый день
Три учебных товара. Меняйте количество, чтобы проверить другие данные.
- 01FIELD-01, $18.00
- 02FIELD-02, $32.00
- 03FIELD-03, $45.00
Корзина 3
- Товары до скидки
- $68.00
- Итого
- $68.00
DLV - items
{
"ecommerce.items": [
{
"item_id": "FIELD-01",
"item_name": "Блокнот",
"item_category": "Stationery",
"price": 18,
"quantity": 2
},
{
"item_id": "FIELD-02",
"item_name": "Бутылка для воды",
"item_category": "Accessories",
"price": 32,
"quantity": 1
}
]
}Запустите решение, чтобы включить действия.
Ваше решение
Custom JavaScriptCtrl / ⌘ + Enter - запуск. Tab - переход к следующему элементу.
Подсказки и объяснение
Custom JavaScript переменная - выражение-функция, возвращающее значение. {{DLV - items}} вычисляется до её запуска. В этом задании это ecommerce.items.
Результат
Локальные данныеЗапустите решение, затем выполните действие на учебном сайте.
Возможности и ограничения
Здесь работают dataLayer.push, переменные Data Layer / Constant / Event / Custom JavaScript, условия Custom Event и локальный результат GA4 Event. Для Custom HTML доступны один inline-скрипт и небольшой DOM, описанный в задании. Контейнер, подключение Preview, consent engine, шаблоны, внешние скрипты и отправка в GA4 не реализованы.
Сообщения обрабатываются по порядку. Объекты объединяются, массивы заменяются, null очищает значение. Путь через точку читает состояние на момент события. Это ограниченная модель, а не полная реализация GTM Data Layer Variable v2. Ссылки {{Variable}} работают вне строк и комментариев; ссылки внутри шаблонных строк и регулярных выражений не поддерживаются.
JSON-экспорт - проект тренажёра, а не контейнер GTM. Для переноса создайте соответствующие переменные, триггер и тег в GTM и проверьте их на своём сайте. Учебный код не имеет доступа к cookies, хранилищу, сети и рабочему dataLayer этого сайта.
Google: работа с data layer