PowerPartners.ru http://www.powerpartners.ru/forum/ |
|
Шаблон 2k22: Встроенная поддержка ecommerce http://www.powerpartners.ru/forum/viewtopic.php?f=3&t=3450 |
Страница 1 из 1 |
Автор: | McQuack [ 01 дек 2023, 17:50 ] |
Заголовок сообщения: | Шаблон 2k22: Встроенная поддержка ecommerce |
В шаблон партнерского магазина 2k22 добавлена поддержка ecommerce для Я.Метрики и Google Analytics. Теперь, просто разместив код метрики (или аналитики) на сайте, автоматически будут учитываться еще и ecommerce-данные. Список изменений, как всегда можно посмотреть на github-е. Но, их там много и вносить их вручную на свой сайт весьма трудоемко. Тем, кто следует методологии git при кастомизации шаблона под себя - будет гораздо легче, просто сливайте изменения с upstream-а и синхронизируйте со своим кастомным скином (надо будет не забыть написать как это делается для тех, кто с git-ом не знаком). Ну, а если вас пугает и ручной труд и с git-ом вы не работаете, можно просто скачать код магазина заново и залить на свой хостинг. Добавляйте (рекомендуем в _footer.tmpl) код метрики с включенным ecommerce и получайте расширенную аналитику и возможность оптимизировать свои компании на ecommerce-цели. Что конкретно было сделано: 1. Учет оформления заказов через корзину с передачей номера заказа, списка товаров и их стоимости. 2. Учет добавления товаров в корзину (в том числе комплектов), удаления из корзины и изменения количества в самой корзине. Все это опять же с передачей категории товара, бренда, наименования и цены. 3. Передача информации о просмотре карточки товара (опять же с учетом категории, бренда и цены). 4. Учет просмотров списков товаров (например категорий, или выборки "популярные товары" на главной) с позицией каждого товара и его характеристик. Так же учет кликов по товарам из разных списков. 5. Учет показов и кликов внутренних промо-материалов (например, 4 плитки на главной странице). В общем, разработчики молодцы, реализовали все в лучшем виде и полностью, со всеми возможностями ecommerce. Немножко хотелось бы рассказать про техническую сторону. Сама реализация функционала находится в файле js/ecommerce.js - там определены все базывые функции, которые вызываются из разных мест. Все они имеют в названии префикс "ecommerce_". п.1 и п.2 реализованы в коде корзины и туда скорее всего никто и никогда не полезет. Там нужны хорошие знания фронтенда, чтобы чего-то доработать и ничего не сломать. п.3. весьма банален - в конец theme/product.tmpl просто добавлен вызов функции ecommerce_detail() с передачей всей информации о товаре. с п.4 и списками уже поинтереснее. Вообще говоря, по идеологии ecommerce списками товаров может считаться любой блок, где есть несколько товаров. Например, блок "популярные товары" или "с этим товаром покупают" или прям целая категория, например "Стабилизаторы Энергия АСН". Надо вести учет показов списков, товаров в них находящихся (с их положением в списке), а так же клики по товарам из списка. Делается это при помощи функции ecommerce_impressions(), которой надо передать селектор с названием списка и селектор для самого списка. По умолчанию, селектором названия считается 'h1', а селектором списка '.items-list'. Именно так устроено большинство списков товаров в шаблоне 2k22. Так что вызов ecommerce_impressions() просто добавлен в файл index.tmpl (там список "Популярные товары") и в файл cat.tmpl (там списки категорий). Эта же функция навешивает на каждый товар списка обработчик клика и который делает уведомление при клике по товару. И если вы используете какие-то дополнительные списки в своих кастомных шаблонах, нужно будет вызывать функцию ecommerce_impressions() указывая ей на ваши списки. Разберем пример, вот тут человек добавлял на главную 2 дополнительных блока со списками товаров. Если он следовал рекомендации "Способ №1", то у него получился блок товаров "Популярные товары" с заголовком в h1 и еще два блока с заголовками в h2. Кроме того, на странице оказались 3 списка товаров, каждый из которых находится в div-е с классом items-list. Чтобы все это корректно передать в ecommerce необходимо обычный вызов ecommerce_impressions() заменить на вызов с передачей информации о всех трех списках: Код: ecommerce_impressions([ Тут мы передаем в функцию массив из 3-х элементов, в каждом из котором указаны селекторы для названия и для самого списка. В данном примере название первого списка должно взяться из элемента h1, а содержимое списка из элемента с классом items-list, который первым встретится на странице (:eq(0)).{'title_selector': 'h1', 'list_selector': '.items-list:eq(0)'}, {'title_selector': 'h2:eq(0)', 'list_selector': '.items-list:eq(1)'}, {'title_selector': 'h2:eq(1)', 'list_selector': '.items-list:eq(2)'}, ]); Для второго списка название будет браться из h2, который первым встретиться на странице, а содержимое из элемента с классом items-list, который встретится на странице вторым (:eq(1))и аналогично для 3-его элемента. В общем не забывайте вызывать ecommerce_impressions() если используете какие-то свои списки товаров. В п.5 реализован учет показов и кликов внутренней рекламы сайта при помощи функции ecommerce_promoview(). Она находит все блоки внутренней рекламы, передает информацию о них в ecommerce и навешивает обработчики для учета кликов. Внутренней рекламой может быть что угодно, например в шаблоне 2k22 это 4 плитки-баннера на главной странице, однако у многих есть ссылки "как правильно выбрать стабилизатор" на карточке товара или другие похожие элементы, которые тоже можно считать внутренней рекламой. И рекомендуется учитывать ее показы и клики по ней. По умолчанию, подразумевается, что все рекламные блоки имеют класс "promo" именно по этому классы функция и находит всю рекламу. Однако, при вызову функции можно передать ей в параметрах свой селектор, по которому следует отбирать рекламу. Кроме этого, у рекламных материалов должны присутствовать дополнительные data-аттрибуты описывающие: id-компании, ее название, имя баннера и его позицию в рекламном блоке. Именно поэтому код плиток на главной странице шаблона 2k22 изменился с простого Код: <a href="cat.php?cat=amper"> на <img src="/theme/img/tiles/tile-volt.jpg"> </a> Код: <a href="cat.php?cat=amper" тут к тэгу a href добавился класс promo, а так же data-аттрибуты c id-компании, ее названием, именем баннера и его позиции в рекламном блоке.class="promo" data-id="TILES-INDEX" data-name="Плитки на главной" data-creative="Надёжные стабилизаторы: Вольт Engineering" data-position="Плитка-1"> <img src="/theme/img/tiles/tile-volt.jpg"> </a> Надеемся это будет полезным обновлением шаблона и откроет больше возможностей для ведения эффективных рекламных компаний. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |