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





Вывод 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->
Заказчик: Все работает ).
