Блог

Дмитрий Москалик: Наработанные решения по росту продаж

Сегодня мы приводим запись выступления руководителя отдела маркетинга retailCRM Москалика Дмитрия с нашей апрельской конференции. Дмитрий дает предельно практические рекомендации по тому, какие триггеры можно настроить для интернет-магазина в retailCRM, какая от них выгода и как это сделать.
Марина Горюнова 2 июня 2016 года

Что такое триггеры и почему при их внедрении возникает много нюансов?

Триггеры — это автоматические e-mail рассылки, sms, или оповещения о задаче, которые действуют по определенным правилам.

Триггеры — лучший инструмент для возврата Ваших клиентов в магазин:

  • После настройки триггеры работают 24 часа в сутки 365 дней в неделю
  • Конверсия с писем и SMS в 3-5 раз больше, чем от обычной рассылки
  • Цена контакта с клиентом равна цене SMS или письма, что в разы дешевле той же контекстной рекламы

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

  • В 90% случаев триггеры оторваны от вашего бизнес-процесса

Простейший пример — upsell-письмо. Поступает заказ, менеджер его обрабатывает и делает Upsell клиенту без скидки. Через полчаса после смены менеджером статуса заказа, клиенту уходит письмо с предложением купить тот же товар со скидкой. Клиент перезванивает, перезаказывает этот товар, получает свою скидку, а вы теряете свою маржу.

  • Сложности в программной настройке триггеров

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

  • Рекомендации на основе BigData не всегда соответствуют логике продаж

Допустим, у вас есть магазин с 5000 посетителей в месяц и 200 заказов в месяц. По всем этим 200 заказам будут идти триггерные письма с предложениями на основе поведения как посетителей, так и покупателей сайта (возможно, не только вашего). Все отлично до тех пор, пока у вас в магазине более или менее похожие заказы, с похожим средним чеком, похожим количеством товаров в заказе и их свойствами. Но если тот же оптово-розничный магазин, то уже начинаются проблемы. В моей практике был пример: магазин кожгалантереи. Оптовые покупатели брали где-то 50 товаров за один заказ, много одинаковых товаров, много покупали того, что брали прошлый раз. Розничные — буквально, 2-3 товара, причем если они делали вторую покупку, то далеко не всегда брали один и тот же товар. При этом оба этих типа покупателей (совершенно разных по своей сути) получали одинаковые по содержанию триггерные письма.

Получить бесплатную консультацию

Преимущества и недостатки retailCRM в настройке триггеров?

Корректно настроенные триггеры могут дать до +50% к повторным продажам. Если настраивать триггеры через retailCRM, то многих сложностей, о которых мы говорили выше, можно избежать.

1) В retailCRM есть все необходимые данные о покупателе.

В системе есть почти 500 различных объектов, которые можно использовать для задания условия срабатывания триггера:

  • история покупок;
  • маржинальность заказа;
  • контактные данные и персональная информация о покупателе;
  • поведение на сайте перед в момент перед покупкой и в другие визиты;
  • топовые страницы, которые просматривал клиент;
  • история коммуникаций с покупателем (sms, e-mail, звонки).

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

2) В retailCRM триггеры не оторваны от бизнес-процесса, и менеджер видит, что конкретно было отправлено клиенту.

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

3) Есть 50 методов API, которые вы можете использовать для того, чтобы оперировать конкретными объектами (данными) о клиенте. 

Это касается не только задания условий внутри CRM, но и реакции на реакций на внешние запросы.


Подробнее про методы API читайте в нашей технической документации.


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

  1. Настройка триггеров осуществляется через код. Кода нужно немного, буквально по 2-3 строчки, но он нужен.
  2. Отсутствие простого визуального редактора для редактирования шаблонов писем. Запуск редактора планируется в одной из следующих версий системы. В данный момент для заливки письма или sms вам необходим верстальщик, который зальет верстку в zip-архив, и выгрузит в retailCRM. После этого триггер начинает работать.

Простые и эффективные триггеры. Которые можно настроить с помощью retailCRM

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

Отличный инструмент, если только он не появляется через 5 секунд, когда вы заходите на сайт, и не перекрывает вам всю мобильную верстку :) Стандартно в popup-окне предлагаются акции, скидки, купоны от магазина. Если это не призыв к покупке, то конверсия составляет до 3,5 −5%. Если это непосредственно призыв к покупке, то конверсия 0,5 −1%. Часто конверсия составляет всего 0,05%.

С retailCRM можно добиться роста конверсии popup-окна в 2-3 раза и более. Такой эффект достигается в первую очередь за счет персонального обращения к каждому конкретному посетителю сайта.

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

  1. Приветствуем постоянного покупателя по имени «Евгений, рады вас видеть, помним вашу прошлую покупку и готовы помочь с выбором».
  2. Подставляемое имя и размер скидки покупателя. Обращаемся: «Соверши повторную покупку, твоя скидка всё ещё действует». Если скидка градиентная (для новичков — 3%, для постоянных покупателей — 5%, для VIP покупателей — 10%), то вы подставляете тот размер скидки, который вам нужен.
  3. Для потенциальных покупателей. Если вы каким-либо образом взяли email посетителя в обмен на скидку на первую покупку, то можете напомнить про эту скидку клиенту. В нашем примере мы выводим скидку 10%.
  4. Для тех, кто недавно совершил покупку из регионов. В основном, такие люди заходят в магазин через 1-2 недели только по одной причине — они хотят позвонить менеджеру и спросить, где мой заказ. Такие запросы могут занимать занимает до 30-50% времени менеджера, особенно если у вас проблемы с доставкой. В нашем примере мы показываем в popup-окне текущий статус доставки посылки, что сразу снимает часть вопросов и разгружает менеджера.

Как настроить такие popup-окна?

Вам нужно поставить на сайт простой js-код. Для этого нужно:

1) Зайти в CRM — раздел «Интеграция» — «Коллектор», и активировать его для своего сайта. Там будет нужный нам API-ключ.

2) Взять код коллектора (есть в тех. документации), подставить API-ключ вашего сайта и после этого поставить его перед тегом  </HEAD>


<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)})(wi
ndow,document,'script','https://collector.retailcrm.pro/w.js','_rc');
_rc('create', 'ключ-сайта', {
'customerId': 'ID-клиента-на-сайте'
});
_rc('send', 'pageView');
</script>

3) Подтянуть в popup данные из CMS. Почему не из retailCRM? Дело в том, что 98% интеграции с retailCRM — это двухсторонняя интеграция между CRM и CMS. Все данные, которые есть в CRM, транслируются в CMS, что позволяет добиться нужного уровня персонализации.


$api = new \RetailCrm\ApiClient(CRM_URL,CRM_KEY);
$response = $api->customersGet($customerId,'id');
if($response['success']) {
$customer = $response[‘customer’];
}

Настройте свои триггеры retailCRM прямо сейчас!

У php-программиста такая настройка должна занять не более чем полдня-день. Больше времени уйдет на отрисовку дизайна, на верстку, и на саму маркетинговую аналитику, чем непосредственно на настройку.

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

Суть — отправить письмо тем вашим клиентам, которые зашли на сайт, но не совершили покупку. Это горячая аудитория, которая помнит ваш магазин, у которой был положительный опыт покупки в первый раз, и которая готова купить у вас второй раз.

Важно — негативный опыт первой покупки сложно исправить только с помощью триггеров. Старайтесь построить по-настоящему хороший сервис для ваших клиентов — это подстегнет конверсию триггеров и сайта больше, чем многие А/Б-тесты.

Как выглядят такие письма?

Вы можете по-разному преподнести такое письмо:

  1. Замаскировать его как моментальную скидку от магазина, которая действует несколько часов или дней.
  2. Напрямую сказать человеку, что знаете, что он посещал ваш магазин и вы готовы помочь ему с выбором.
  3. Дать клиенту подарок при повторном заказе. Или дать скидку. Количество возможностей в системе неимоверное.

В нашем случае это: один день — скидка на несколько товаров, которые человек просматривал в магазине.

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

Ставим на сайт Daemon Collector. Это было в предыдущем триггере — все то же самое — активируем в системе, ставим js-код.

Настраиваем триггер. Заходим в раздел «Коммуникации» — «Триггеры» — «Настройка». Выбираем «Клиент не заходил на сайт». Указываем следующие условия:

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

Ставим обязательное условие — «не отправлять такой триггер тем, кто что либо покупал в последние 30 дней».

Антиспам-условие. С ним мы не активируем триггер, если в течении последних 30 дней он хотя бы раз сработал.

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 %}

В данном примере мы показываем клиенту наиболее просматриваемые им товары в период его прошлой сессии (не самые покупаемые и не самые популярные). Это важный момент. В таком случае не «вхолодную» предлагаете товары — клиент уже знаком с ними, он присматривался к их покупке.

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

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

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

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

Как это настроить?

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

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

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"))

Далее настраиваете письмо со скидкой на этот товар. Все довольно просто — верхняя часть кода — это конкретный товар под артикулом 12. Дальше по коду — его свойства, цена и прописанная скидка.


{% 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>

Триггер на день рождения клиента

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

У этого триггера есть нюанс. Если вы находитесь в Москве и торгуете на регион, то нужно обязательно разделить триггер на две части (две серии писем). Для региональных покупателей она должна срабатывать за 2-3 недели до дня рождения, а для столичных — за неделю. Так обе группы клиентом смогут заказать и получить нужный им товар точно к празднику.

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

Как это настроить?

1) Нужно, чтобы вы собирали нужные даты от клиентов. Вы можете собирать их вручную через менеджера, или указать как доп. поле при оформлении заказа, или собрать потом автоматическим письмом.

2) Поле «День рождения» изначально записано в retailCRM, его не нужно создавать заново. Но если вы хотите у клиента узнать дни рождения его братьев, сестер, начальников, родных и так далее, вы можете создать неограниченное количество таких полей и под каждое из этих полей настроить свое триггерное письмо.

3) Настраиваем сначала сегмент на Москвичей. Выбираем сегмент, выбираем «Москва», выбираем за неделю до дня рождения

4) Настраиваем сегмент на регионы. Выбираем «Не Москва» и ставим дату за три недели до дня рождения. После этого настраиваем триггер по Москве.

5) Далее настраиваем условия активации триггера (по одному триггеру на каждый из сегментов). Триггер реагирует на факт попадания в сегмент, после чего отправляет клиенту нужное письмо.


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

6) В нашем случае мы отправляем письмо с наиболее популярными товарами из тех групп, товары которых ранее приобретал покупатель. Например, если ранее клиент брал кожаные ежедневники, то он получит самое лучшее предложение из кожаных ежедневников. Ему не будет приходить предложение, скажем, из категории «засушенные цветы».


{% 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) %}

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

Создаем новый триггер, выставляем в настройках «После срабатывания триггера для заказа». Указываем точкой тот триггер, который мы указали ранее, указываем срок 3 дня.

Обязательно прописываем условие в триггере — не должна быть совершена покупка для Москвы за три дня, для региона за 7 дней. Таким образом, мы реагируем на то, что клиент не совершил покупку после первого письма.

Upsell-письмо для увеличения среднего чека в магазине

Следующий триггер — это автоматический upsell. Обычная логика работы этого триггера выглядит так:

  • Клиент заходит на сайт, делает заказ
  • Ему перезванивает менеджер
  • Заказ подтверждается
  • Приходит письмо со спец. предложениями
  • Клиент снова звонит в магазин, делает дозаказ
  • Вы получаете заказ с большим средним чеком

Вот так это выглядит — выгодное предложение на один час.

Желательно ограничить ваше предложение не на 3 дня, не на 4, не на неделю, а в очень маленький промежуток времени. Если вы укажете сутки, то, скорее всего, заказ просто уйдет на комплектацию, и человек заплатит два раза за доставку. Никому это не нужно, ни вам, ни покупателю.

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

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

Вот несколько вариантов логики такого письма:

Показываем самые просматриваемые клиентом товары, которые клиент не купил, выводим их в шаблоне письма. Обязательно исключаем те товары, которые уже лежат в корзине. {% set products = most_visited_products(count=5, customer = order.customer, exclude=availableOrderProductsIds ) %}
Можно вручную прописать рекомендацию к каждому конкретному товару. Вот пример рекомендации, если совершена покупка товара из категории под номером 398 {% if order|contains([entity_by_id('ProductGroup', 398)]) %} {% set products = entities_by_ids('Product',[678,1065,1894],'externalId') %}

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

Триггер абсолютно незаменим для всех магазинов, которые торгуют товаром с импульсным спросом — одежда, обувь, возможно какие-то подарки, wow-товары, а также те, кто занимается лендингами и CPA-сетями.

Специфика настройки этого триггера может быть разной. Если вы хотите очень мягко воздействовать, то можете работать только e-mail рассылками, если более грубо, то SMS. Если вам нужна максимальная эффективность вашего бизнеса, то вы можете использовать только звонки менеджеров. Вы можете комбинировать эти варианты между собой для достижения максимально результата.

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

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

Как это настроить?

Вам нужно, на самом деле, настроить 2 триггера. Первый триггер работает на факт того, что товар попал в статус доставлен. Он ничего не отправляет, ничего не отсылает, он просто существует в системе, система по нему определяет, что товар доставлен. Создаем триггер, Событие — изменение заказа, и какое событие — «перевод в статус «Доставлен» с символьным кодом, «Delivered».

Далее настраиваем второй триггер. Есть определенная опция — «после срабатывания триггера для заказа». Вот тот первый «триггер-пустышка» является старт-триггером для второго триггера.

Выбираете «после срабатывания», ставите срок «3 дня», отправляете соответствующее письмо. Прописываете условие, чтобы заказ должен продолжать быть в статусе доставлен, но еще не выкуплен. В результате триггер сработает только в том случае, если заказ будет продолжать храниться на почтовом отделении.

Таким образом вы можете настроить 3,4,5,6 писем, которые будут срабатывать на 3,4,5,6 день невыкупа заказа.

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

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

Схема простая. Человек покупает товар — товар заканчивается через определенное время (которые вы +/- можете назвать для конкретного товара или их группы) — покупателю приходит письмо с предложением пополнить запасы или обновить покупку.

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

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

Как это настроить?

Если у вас большой магазин и в нем много ассортимента, для каждого конкретного товара или для каждой конкретной группы товаров будет свой цикл потребления. Например, для детского питания — 3 недели, детских гигиенических средств — 2 месяца, детской одежды — 6 месяцев.


Три отложенных триггера. Один через 3 недели с условием:
order_contains(order, entities_by_ids("ProductGroup", [12])) 
12 - id группы с детским питанием.
Следующие по аналогии но с другими id

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

Пропишите время срабатывания для каждого триггера с событием строку в фильтре: 1 общий триггер, от которого отталкиваются все отложенные: order_contains(order, entities_by_ids("ProductGroup", [12, 13, 14])) //где 12, 13, 14 — id всех товарных групп, при покупке которых нужно вызывать триггер
Условия для отложенных триггеров будут отличатся только ID товарной группы и временем с последнего заказа в зависимости от времени запуска триггера order_contains(order, entities_by_ids("ProductGroup", [13])) and order.getCustomer.getLastOrder().getCreatedAt() < date (‘2 months ago”)
Выводите в письме те товары, которые пользователь брал в прошлый раз + их аналоги Код для товаров из последнего заказа {% for item in order.availableOrderProducts %} {{ item.offer.name }} {% endfor %}
Код для выведения товаров-аналогов по последней покупке {% for item in order|analogs(3) %} {{ item.name }} {% endfor %}

Здесь подставляем ID всех товарных групп, при покупке которых нужно вызвать триггер. Данный триггер срабатывает через определенное количество времени. Можно выводить конкретные товары, наиболее продаваемые или аналоги из того, что купил клиент. Обычно выводят этот же товар, плюс несколько его аналогов, это самая распространенная схема, она наиболее легкая в применении. Мы не рекомендуем что-то использовать другое, пока вы не опробуете именно её. Она наиболее простая в плане настройки, но при этом достаточно эффективная.

Попробовать retailCRM бесплатно

Подпишись
на канал retailCRM!
  • Обучающие материалы
  • Видео настроек полезных фич
  • Обзоры новинок retailCRM
  • Кейсы с опытными
    бизнесменами
  • Записи вебинаров
Подписаться
Понравилась статья?
расскажите о ней друзьям!