48
Наработанные решения по росту продаж от retailCRM Трансляция и видеозапись доступны на www.youtube.com/retailcrm Спикер: Москалик Дмитрий Руководитель отдела маркетинга retailCRM

Примеры триггеров, которые может настроить каждый магазин, интегрированный с retailCRM

Embed Size (px)

Citation preview

Наработанные решенияпо росту продажот retailCRM

Трансляция и видеозапись доступны на www.youtube.com/retailcrm

Спикер:

Москалик ДмитрийРуководитель отдела маркетинга retailCRM

>50% в росте продаж дают триггеры retailCRM

Основная причина — их нужно настроить только один раз, дальше они работают сами.Важно понимать, что у триггеров в retailCRM есть как плюсы, так и минусы:

Плюсы: Минусы:

В настройках триггеров можно учитывать данные по истории заказа, данные из GA, данные из Daemon Collector.

Отправленные SMS и email легко проследить по истории коммуникаций.

Довольно много различных программных методов, с помощью которых можно сделать “триггер своей мечты”

Визуально интерфейс настройки триггеров не очень дружелюбен к пользователю (пока что)

Нет визуального редактора для создания писем.

Персонализированные popup-окна

СТАНДАРТНОЕ POPUP-ОКНО ПЕРСОНАЛИЗИРОВАННОЕ POPUP-ОКНО

Лучшие акции нашегомагазина!

ОК

Евгений, рады вас видеть! Помним вашу прошлую покупку,

готовы помочь с выбором!

ОК

Примеры применения персонализированных popup-окон

1 . Приветствуемпостоянных клиентов

2 . Конвертируем подпис-чиков в покупателей

3 . Показываем статусы доставки тем, кто недавно сделал заказ

Рады видеть вас снова, Евгений! Ваша 5% скидка все еще действует. Если нужна что-то подсказать,

звоните, поможем!

ОК

Рады видеть вас снова, Евгений! Напоминаем,

что у на первую покупку в магазине действует

10% скидка!

ОК

Рады видеть вас снова, Евгений! Ваш недавний заказ №71345 прибыл в пункт выдачи по адресу

г. Новосибирск, ул. Победы, д.35 к.3

ОК

Персонализированныеpopup-окнаПрименение и настройка

Как это настраивается

1. Активируем Daemon Collector для нужного магазина в панели администрирования

ОК

1 2 3

Как это настраивается

2. Подключаем код коллектора на сайт (перед тегом </head>), подставив в него API-ключ из настроек. Если на сайте есть механизм авторизации пользователя — прописываем, что должно передаваться в customerID.

<script type="text/javascript"> (function(_,r,e,t,a,i,l){_['retailCRMObject']=a;_[a]=_[a]||function(){(_[a].q=_[a].q||[]).push(arguments)};_[a].l=1*new Date();l=r.getElementsByTagName(e)[0];i=r.createElement(e);i.async=!0;i.src=t;l.parentNode.insertBefore(i,l)})(window,document,'script','https://collector.retailcrm.pro/w.js','_rc');

_rc('create', 'ключ-сайта', { 'customerId': 'ID-клиента-на-сайте' });

_rc('send', 'pageView');</script>

1 2 3

Как это настраивается

3. Со стороны CMS в форму подставляются любые персонализированные данные про пользователя (CMS получает все данные из retailCRM в процессе двухсторонней синхронизации.

$api = new \RetailCrm\ApiClient(CRM_URL,CRM_KEY);$response = $api->customersGet($customerId,'id');

if($response['success']) { $customer = $response[‘customer’];}

Ш А Г 11 2 3

Обработка визитов,которые не завершилисьзаказом

Работа и настройка

ОК

Схема работы

Зашел на сайт в

первый раз

ПрошлоN времени

Сновапришелна сайт

Не покупает Приходитзаманчивое

предложение

ПокупаетКупил

ОК

Как это выглядит для клиента

Приходит письмо с ограниченными по времени скидками на ТОП-товары

Как это настраивается

ОК1. Ставим на сайт Daemon Collector2. Далее настраивается триггер с условиями а) не чаще раза в месяц для клиента б) дата последнего заказа — более месяца назад

1 2 3

Как это настраивается

3. По факту срабатывания отправляем письмо с выводом ТОП-3 товаров. В шаблон письма подтягиваем нужные товары через twig-шаблоны. Будет выглядеть так:

Моментальная акция от site.ru!ТОП-3 товара нашего магазина — со скидкой в 15%! Акция длится до конца сегодняшнего дня!{% set products = most_long_viewed_products (сount=3, customer = customer, from="1 day ago"|date('Y-m-d')) %}{% for item in products %} <h2>{{item.name}}</h2> <p>{{item.description}}</p><p><s>{{item.price}}</s></p><p>{{item.price*0.85}}</p><a href="{{item.url}}">Купить</a>{% endfor %}

1 2 3

Как это настраивается

ОК4. Уведомляем менеджера о том, что нужно обратить внимание напостоянного клиента

1 2 3

Перехват клиентов,которые интересовалиськонкретным товаром

Работа и настройка

Схема работы

Клиент зашел на сайт

Посмотрел высокомаржинальный

товар

Ничего не купил

Как это настраивается

1. Настраиваем нужные нам сегменты (посетил — не купил) на те товары, которые нам интересны:

ОК

1 2 3

Как это настраивается

2. Настраиваем триггер, который будет отправлять соответствующее письмо. Обязательно проверяем, чтобы товара не было в последней покупке пользователя.

Вариант для 1 товара:

Вариант для нескольких товарных групп:

ОК

not order_contains(customer.getLastOrder(), entities_by_ids("Product", [12]))

not order_contains(customer.getLastOrder(), entities_by_ids("ProductGroup", [1, 12, 13], "id"))

1 2 3

Как это настраивается

3. Настраиваете письмо со скидкой на этот товар. В начале письма получим в переменную товар:

А далее вставляем в верстку различные свойства товара.ОК

{% set item = entity_by_id("Product", 12) %}

<h1>{{ item.name }}</h1><p>{{item.description}}</p><p><s>{{item.price}}</s></p><p>{{item.price*0.85}}</p>

1 2 3

Как это выглядит для клиента:

ОК

Приходит письмо с ограниченными по времени скидками на ТОП-товары

Триггер, который реагируетна дни рожденияи другие даты

Работа и настройка

Приближается День Рождения

клиента или другой праздник

Получает рассылку с персональными

скидками

Совершает покупку

Схема работы

ОК

Как это выглядит для клиента

Клиенту приходит письмо с персональной ограниченной по времени скидкой в честь Дня Рождения и с предложением некоторых товаров.

Как это настраивается

1. Вводим поле, в которое записывают дату менеджеры во время общения с клиен-тами (при желании, таких дат может быть несколько):

ОК

1 2 3 4 5 6

Как это настраивается

2. Создаем два сегмента - на 7 дней до ДР для Москвы...

ОК

1 2 3 4 5 6

Как это настраивается

3. ...и за 3 недели до ДР для регионов:

ОК

1 2 3 4 5 6

Как это настраивается

Настраиваем триггер на сегмент по МСК и сегмент по регионам (первое письмо) (отличие только в символьном коде сегментов):

После этого — настройка самого письма. Там можно показывать что угодно. Вот пример кода для демонстрации самых покупаемых товаров из тех разделов, которые уже покупал клиент:

changeSet.hasChangedField('segments') and changeSet.getNewValue('segments').getCode() == 'birthday-reg'

{% set customer_product_groups = {} %}{% set customer_products = best_selling_products(customer = customer) %}{% for product in customer_products %} {% set customer_product_groups = customer_product_groups|merge(product.groups) %}{% endfor %}{% set products = best_selling_products(groups = customer_product_groups) %}

1 2 3 4 5 6

Как это настраивается1 2 3 4 5 6

Как это настраивается

Добавляем немного кода в фильтр триггера, чтобы не слать письмо тем, кто отреагировал на первые письма и совершил заказ.

Вот такой код для МСК:

Вот такой код для регионов:

customer.getLastOrder().getCreatedAt() < date (‘3 days ago”)

customer.getLastOrder().getCreatedAt() < date (‘7 days ago”)

1 2 3 4 5 6

Автоматический upsellпосле заказа

Работа и настройка

ОК

Схема работы

ОККлиентзашелна сайт

Ему перезвани-вает менеждер

Заказподтверждается

Приходитписьмо

со спецпред-ложениями

Клиент звонит в магазин

Увеличение чека покупки

ОК

Как это выглядит для клиента

После совершения покупки клиенту приходит письмо с ограниченой по времени (на час) скидкой и предложением ТОП-6 товаров

Как это настраивается

Настраиваем триггер на перевод статуса заказа “Принят”. Обязательно ставим “защиту от спама”.

1 2

Как это настраивается

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

При желании можно заморочиться и сделать предложение по маржинальным для магазина товарам, но тут одной строчкой кода не обойтись :)

Можно вручную прописать рекомендацию к каждому конкретному товару. Вот пример рекомендации, если совершена покупка товара из категории под номером 398

{% set products = most_visited_products(count=5, customer = order.customer, exclude=availableOrderProductsIds ) %}

{% if order|contains([entity_by_id('ProductGroup', 398)]) %}{% set products = entities_by_ids('Product',[678,1065,1894],'externalId') %}

1 2

Увеличиваем выкуп товара,отправленного наложеннымплатежом

Работа и настройка

ОК

Схема работы

ОК

E-mail SMS

Успешнаяпокупка

Доставкав отделение

E-mail оповещение

SMSоповещение

Менеджер связываетсяс клиентом

Подтвержде-ние выкупа

товара

ОК

Как это выглядит для клиента

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

Как это настраивается

Сначала делаем “пустой” триггер (т.е. ничего не прописываем в действиях триггера), который ничего не делает для клиента, но который фиксируется в системе на факт доставки товара до пункта самовывоза.

Все последующие действия будут отталкиваться от такого “старт-триггера”.

1 2 3

Как это настраивается

Дальше создаем 1-5 триггеров на 3-7 день невыкупа посылки:

1 2 3

Как это настраивается

В зависимости от того, работаем исходящим звонком, SMS или email, выбираем нужное действие:

1 2 3

Как это настраивается

Для варианта с SMS и email обязательно подставляем адрес отделения, где можно забрать посылку:

Обратите внимание - не каждая служба доставки отдает адрес пункта самовывоза по API. Подробнее — тут:

{{ order.deliveryAddress.fullAddressString }}

1 2 3

www.retailcrm.ru/docs/twig_entities_ru.html#Intaro\CRMBundle\Entity\Order

Триггер на товар-расходник

Работа и настройка

ОК

Схема работы

ОК

ОК

молоко

Успешнаяпокупка

Письмо с предложением

покупки ткого же товара

Товар заканчивается

у клиента

Товар используется клиентом

ОК

Как это выглядит для клиента

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

Также в письме клиенту напоминают о его возможных скидках и предлагают товары.

Как это настраивается

Выделите товары в вашем магазине, которые имеют определенный промежуток потребления и проведите анализ — как часто эти товары берут постоянные покупатели. Например:

— Детское питание — 3 недели. — Детские гигиенические средства — 2 месяца — Детская одежда — 6 месяцев.

Создайте один старт-триггер (без конкретного действия, активируется по факту создания нового заказа) и несколько триггеров (под каждую из групп) с событием “После срабатывания триггера для заказа”

1 2 3

Как это настраивается

Пропишите время срабатывания для каждого триггера с событием строку в фильтре:1 общий триггер, от которого отталкиваются все отложенные:

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

order_contains(order, entities_by_ids("ProductGroup", [12, 13, 14])) //где 12, 13, 14 — id всех товарных групп, при покупке которых нужно вызывать триггер.

order_contains(order, entities_by_ids("ProductGroup", [13])) and order.getCustomer.getLastOrder().getCreatedAt() < date (‘2 months ago”)

1 2 3

Как это настраивается

Выводите в письме те товары, которые пользователь брал в прошлый раз + их аналогиКод для товаров из последнего заказа:

Код для выведения товаров-аналогов по последней покупке:

Ш А Г 2

{% for item in order.availableOrderProducts %} {{ item.offer.name }}{% endfor %}

{% for item in order|analogs(3) %} {{ item.name }}{% endfor %}

1 2 3

Специализированная CRM-система для интернет-торговли

www.retailcrm.ru • [email protected] • +7 (495) 268-06-49

Москалик ДмитрийРуководитель отделамаркетинга retailCRM

Спасибо за внимание!