Останні роботи





Вывод dataLayer GTM для страниц магазина Opencart в Google Analytics
Возникла необходимость передавать в Google Analytics некоторые данные электронной торговли с отдельных страниц магазина Opencart. Для этого будем использовать dataLayer с определенными переменными.
Сначала было длинное обсуждение с заказчиком, что-же ему все-таки нужно. Потом совмесно сформулировали ТЗ.
Техническое задание.
Страница благодарности выводятся переменные: - 'pagetype': 'success' - тип страницы - 'lang': 'ru'\'uk', - 'transactionId': '1911' - ордер id - 'transactionTotal': 244 - сумма ордера - 'transactionShipping': 0 - сумма доставки Список товаров ордера: 'transactionProducts': [{ - 'sku': '240033' - артикул - 'name': 'Защитный крем' - название товара - 'price': 194 - цена товара - 'quantity': 1 - количество Страница товара выводятся переменные: - 'pagetype': 'Product' - тип страницы - 'lang': 'ru'\'uk', - 'Products': [{ далее в массиве выводятся характеристики не более 10-ти вариантов товара - 'id': '23995' - id варианта товара - 'name': 'Аерозоль для кондиционера и салона' - название товара - 'price': '149 грн' - цена товара - 'brand': 'Berner' - бренд - 'category': 'Техническая Химия' ......}] Страница Оформление заказа - 'pagetype': 'checkout' - тип страницы - 'lang': 'ru'\'uk', - 'total': '1029', - сумма в корзине Список товаров: 'Products': [ {'id': '23995' - id варианта товара 'name': 'Аерозоль для кондиционера и салона' - название товара 'vendor': '338123' - артикул 'price': '149 грн' - цена товара 'quantity': '1' - количество 'pr_total': '149'} - сумма по товару ...... }]
Был написан модификатор для Opencart 2.3. Ввиду того, что данный магазин, от рождения, имеет специфичную структуру товаров (основной товар и его варианты) весь код приводить бессмысленно.
Приведу здесь файл модификатора
После применения модификатора получили следующие dataLayer:
Страница товара
<-script->
window.dataLayer = window.dataLayer || [];dataLayer = [{
'pagetype': 'Product',
'lang': 'ru',
'Products': [
{'id': '17147',
'name': 'Зимние рабочие перчатки Berner Flexus 9 Размер',
'price': 246,
'brand': 'Berner',
'category': 'Средства Защиты'},
{'id': '17148',
'name': 'Зимние рабочие перчатки Berner Flexus 10 Размер',
'price': 246,
'brand': 'Berner',
'category': 'Средства Защиты'},
{'id': '17149',
'name': 'Зимові рукавиці Flexus, розмір 11',
'price': 246,
'brand': 'Berner',
'category': 'Средства Защиты'}]}];
<-/-script->
Страница Оформление заказа
<-script->
window.dataLayer = window.dataLayer || [];dataLayer = [{
'pagetype': 'checkout',
'lang': 'uk',
'total': 1029,
'Products': [{'id': '23995',
'name': 'Аерозоль для кондиционера и салона',
'artikul': '338123',
'price': 149,
'quantity': '1',
'pr_total': 149},
{'id': '17147',
'name': 'Зимние рабочие перчатки Berner Flexus 9 Размер',
'artikul': '156353',
'price': 246,
'quantity': '2',
'pr_total': 492},
{'id': '23999',
'name': 'Защитный крем для рук Жидкие Перчатки Berner, 250 мл',
'artikul': '240033',
'price': 194,
'quantity': '2',
'pr_total': 388}]}];
<-/-script->
Заказчик: Все работает ).