Как настроить электронную коммерцию в «Яндекс.Метрике»

1413
Интернет-маркетолог

Совокупность всех финансовых операций, осуществляемых посредством компьютерных сетей и интернета, а так же все бизнес-процессы, связанные с обслуживанием и проведением данных операций, называются электронной коммерцией. Торговля, осуществляемая через интернет-магазин - яркий пример для данного термина.

Для того, чтобы магазин, осуществляющий торговлю через интернет, был успешным и развивался необходимо регулярно отслеживать статистику заказов, популярности различных категорий, товаров и брендов.

Самый удобный способ сбора подобной информации – агрегирование в бесплатные системы аналитики от «Яндекса» и/или «Google».

Сервис «Яндекс.Метрика» и «Google Analytics» - это не только счётчик для сбора статистики посещаемости сайта и инструмент для возможности отслеживания активности на сайте. Функционал сервисов позволяет подключить средство для анализа данных из области электронной коммерции, называемой Ecommerce.

Речь пойдет о её подключении для самого популярного в России сервиса «Яндекс.Метрика» для интернет-магазина на 1С-Битрикс.

Начать установку следует с быстрого изучения данной опции в системе аналитики и её возможностей.

Для подключения Ecommerce необходимо:

  • перейти по ссылке metrika.yandex.ru, появится окно, аналогичное представленному на рисунке;


  • войти в свой аккаунт для метрики, нажав на кнопку «Перейти», пройти авторизацию, введя свой логин (учетную запись – почту на «Яндексе») и пароль;


  • появится окно со списком подключенных счетчиков, в случае, когда счетчик ещё не подключался, появится пустое окно;


  • или


  • добавляем новый счетчик, нажав на кнопку «Добавить счетчик» или изменяем и корректируем уже установленный счетчик, к которому необходимо подключить электронную коммерцию, нажав на кнопку «настройка» (иконка в виде шестерёнки в правом углу);


  • или


    Примечание: далее, установку аналитики электронной коммерции будет рассматривать на примере подключения нового счетчика, так как этого будет достаточно для понимания процесса редактирования уже существующего счетчика.

    • создаем счетчик, введя имя счетчика, ссылку на сайт, поставив галочку о принятии условия «Пользовательского соглашения» и нажав кнопку «Создать счетчик»;


    • сразу после создания счетчика будет осуществлен переход на вкладку «Настройка», где нужно с помощью установки соответствующих галочек подключить необходимые атрибуты для системы аналитики (каждый из параметров рассматриваться не будет, сосредоточившись лишь на аналитике Ecommerce);


    • подключив функцию отправки данных коммерции, инициируем сбор статистики Ecommerce.



    • вставляем полученный код для подключения счетчика на страницы интернет магазина (в случае, когда счетчик уже стоит, обновляем его код на всех страницах).

    Если ранее на сайт уже была установлена аналитика электронной коммерции от Google, то проделанной операции будет достаточно для того, чтобы получать данные аналитики в системе «Яндекс.Метрика».

    Когда Ecommerce устанавливается впервые, необходимо будет проделать дополнительные операции.

    1) На страницах с товарами, сразу после окончания установленного кода счетчика, добавить код JavaScript, позволяющий описать товар, для придачи в метрику.

    Код вставки:

    dataLayer.push({
    'ecommerce' : {
    'detail' : {
    'products' : [
    {
    'name' : 'НАЗВАНИЕ ТОВАРА2', // обязательное
    'id' : 'АРТИКУЛ2 или ИДЕНТИФИКАТОР2', // обязательное
    'price' : 'Стоимость',
    'brand' : 'Производитель или бренд2',
    'category' : 'Категория товара2, до 5 позиций',
    'variant' : 'Вариант исполнения2',
    'position': 'Показатель кликабельности'
    }
    ]
    }
    }
    });

    После добавления кода, зайдя в аккаунт метрики и перейдя в раздел отчетов по электронной коммерции, будет отображаться информация о количестве просмотров карточек товаров. Кроме того, можно определить, какие товары пользуются наибольшей популярностью, отобразить показатель кликабельности.

    Передача статистики по добавлению товаров в корзину. Необходимо вставить скрипт на страницу корзины.

    dataLayer.push({ 
    'ecommerce' : {
    'add' : {
    'products' : [
    {
    'name' : 'НАЗВАНИЕ ТОВАРА7', // обязательное
    'id' : 'АРТИКУЛ7 или ИДЕНТИФИКАТОР7', // обязательное
    'price' : 100,
    'brand' : 'Производитель или бренд7',
    'category' : 'Категория товара7, до 5 позиций',
    'variant' : 'Вариант исполнения',
    'quantity': 1
    }
    ]
    }
    }
    });

    3) Передача статистики по удалениям товаров из корзины. Как и в случае с добавлением, вставляется после основного кода счетчика.

    dataLayer.push({ 
    'ecommerce' : {
    ' remove ' : {
    'products' : [
    {
    'name' : 'НАЗВАНИЕ ТОВАРА7', // обязательное
    'id' : 'АРТИКУЛ7 или ИДЕНТИФИКАТОР7', // обязательное
    'price' : 100,
    'brand' : 'Производитель или бренд7',
    'category' : 'Категория товара7, до 5 позиций',
    'variant' : 'Вариант исполнения',
    'quantity': 1
    }
    ]
    }
    }
    });

    После добавления скрипта отобразятся данные статистики по интернет-магазину на Битриксе, а именно: количество товаров, добавленных в корзине, стоимость этих товаров, количество посетителей, добавивших товары в корзину, а так же аналогичные показатели для товаров, которые были удалены из корзины.

    4) Статистика покупок – собираются данные Ecommerce по оплаченным товарам, непосредственно по продажам.

    Код для вставки:

    dataLayer.push({ 
    'ecommerce' : {
    'purchase' : {
    'actionField' : {
    'id' : 'T12345', // обязательное
    'affiliation' : 'Online Store', // название магазина
    'revenue' : 100, // сумма заказа
    'tax' : 10, // налог
    'shipping' : 20, //доставка
    'coupon' : 'Купон на скидку для транзакции'
    },
    'products' : [
    {
    'name' : 'НАЗВАНИЕ ТОВАРА7', // обязательное
    'id' : 'АРТИКУЛ7 или ИДЕНТИФИКАТОР7', // обязательное
    'price' : 100,
    'brand' : 'Производитель или бренд7',
    'category' : 'Категория товара7, до 5 позиций',
    'variant' : 'Вариант исполнения',
    'quantity': 1,
    'coupon' : 'Купон на скидку для товара'
    }
    ]
    }
    }
    });

    Отдельной особенностью служит показатель «'coupon'», отображающий используемый код промо при продажах. Позволяет отслеживать эффективность систем лояльности, e-mail-маркетинга и прочей рассылки, цель которой – возврат клиентов на сайт и повторные продажи.

    После установки кода в метрике будет отображаться количество купленных товаров, суммы продаж.

    Существенно отличает и изменяет процесс реализации систем аналитики коммерции подключение «Google Tag Maganer» (GTM). Представленный сервис предназначен для облегчения процесса установки стороннего кода на сайт, а так же минимизации его количества. Вместо нагромождённого кода от систем аналитики Google, Яндекс и прочих сервисов используется универсальный блок-контейнер, устанавливающий связь между интернет-магазином и сервисом.

    Для использования GTM достаточно иметь учетную запись (почту) в Google.

    Для системы 1С Битрикс, код для подключения аналитики электронной коммерции с GTM будет иметь следующий вид:

    Файл /local/php_interface/init.php

    \Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleComponentOrderOneStepFinal',
    array('\Olegpro\Handlers\Sale\OrderAjaxComponent', 'AddYandexMetricsEcommerceCode')
    );

    Файл /local/php_interface/classes/handlers/orderajaxcomponenthandler.php

    /**
    * Created by olegpro.ru.
    * User: Oleg Maksimenko
    * Date: 05.05.2016 22:58
    */

    namespace Olegpro\Handlers\Sale;

    use Bitrix\Main\SiteTable;
    use Bitrix\Main\Application;

    class OrderAjaxComponent
    {

    /**
    * @param $orderId
    * @param $arOrder
    * @param $arParams
    */
    function AddYandexMetricsEcommerceCode($orderId, $arOrder, $arParams)
    {
    global $APPLICATION;

    if (isset($_SESSION['YM_ORDER_ID']) && $_SESSION['YM_ORDER_ID'] == $orderId) {
    return;
    }

    if (!($order = \CSaleOrder::GetByID($orderId))) {
    return;
    }

    $site = SiteTable::getRowById($arOrder['LID']);

    $server = Application::getInstance()->getContext()->getServer();

    $output = [
    'ecommerce' => [
    'currencyCode' => (string)$order['CURRENCY'],
    'purchase' => [
    'actionField' => [
    'id' => (int)$order['ID'],
    'affiliation' => (is_array($site) ? $site['NAME'] : $server->getHttpHost()),
    'revenue' => (float)$order['PRICE'],
    'tax' => 0.00,
    'shipping' => (float)$order['PRICE_DELIVERY'],
    // 'goal_id' => 19768025,
    ],
    'products' => [],
    ],
    ]
    ];

    $basketIterator = \CSaleBasket::GetList(
    array(
    'NAME' => 'ASC',
    ),
    array(
    'ORDER_ID' => $orderId,
    ),
    false,
    false,
    array(
    'PRODUCT_ID',
    'NAME',
    'PRICE',
    'QUANTITY',
    )
    );

    $basketItems = array();

    $productsIds = array();

    $productsData = array();

    while ($basketItem = $basketIterator->fetch()) {
    $basketItems[] = $basketItem;
    $productsIds[] = $basketItem['PRODUCT_ID'];
    }

    unset($basketItem);

    $resProducts = \CIBlockElement::GetList(
    array(),
    array(
    'ID' => array_unique($productsIds)
    ),
    false,
    false,
    array(
    'ID',
    'IBLOCK_ID',
    'IBLOCK_SECTION_ID',
    )
    );
    while ($arProduct = $resProducts->Fetch()) {

    $arProduct['SECTION_NAME'] = '';

    if (intval($arProduct['IBLOCK_SECTION_ID']) > 0) {

    $sectionIterator = \CIBlockSection::GetList(
    array(),
    array(
    'ID' => $arProduct['IBLOCK_SECTION_ID'],
    ),
    false,
    array(
    'NAME',
    )
    );

    if ($arSection = $sectionIterator->Fetch()) {
    $arProduct['SECTION_NAME'] = $arSection['NAME'];
    }

    }

    $productsData[$arProduct['ID']] = $arProduct;
    }

    foreach ($basketItems as $basketItem) {
    $output['ecommerce']['purchase']['products'][] = [
    'id' => (int)$basketItem['PRODUCT_ID'],
    'name' => (string)$basketItem['NAME'],
    'category' => (string)(isset($productsData[$basketItem['PRODUCT_ID']])
    ? $productsData[$basketItem['PRODUCT_ID']]['SECTION_NAME']
    : ''),
    'price' => (float)$basketItem['PRICE'],
    'quantity' => (int)$basketItem['QUANTITY'],
    ];
    }

    \Bitrix\Main\Page\Asset::getInstance()->addString(
    '',
    true
    );

    $_SESSION['YM_ORDER_ID'] = $orderId;
    }

    }

    Кроме представленного варианта реализации подключения аналитики данных электронной коммерции, в CMS «Bitrix» предусмотрена возможность использования готового платного модуля, существенно упрощающего данный процесс. Модуль называется «Электронная коммерция для Яндекс.Метрики и Google Analytics» и доступен на площадке marketplace.1c-bitrix.ru.

    Статья подготовлена благодаря проекту www.olegpro.ru

Прочитайте еще

Как самостоятельно провести маркетинговое исследование с помощью инструмента «Яндекс.Взгляд»
Читать
Как настроить внешний вид турбостраниц в «Яндексе»
И вот настал момент очередного внедрения обновления от компании «Яндекс». На этот раз нововведения к...Читать
Хотите узнать все
подробности о своём
сайте, звоните:
8 800 200 47 80
(Бесплатно по России)
или
Оформить заявку
Заказать звонокМы перезвоним в течение 30 минут
Нажимая на кнопку отправить, вы даете согласие на обработку своих персональных данных
Оформить заявкуМы перезвоним в течение 30 минут
Нажимая на кнопку отправить, вы даете согласие на обработку своих персональных данных
Хочу работать
Форматы: DOC, DOCX, XLS, XLSX, TXT, PDF

Нажимая на кнопку отправить, вы даете согласие на обработку своих персональных данных

Ознакомьтесь c нашими тарифами на продвижение сайтов и контекстную рекламу илизакройте это окно.

Отправить заявку

Нажимая на кнопку подписаться на новости, вы даете согласие на обработку своих персональных данных