Утро понедельника в магазине одежды WooCommerce с оборотом $25 млн. Менеджер по удержанию запускает квартальную распродажу. Команда уже разослала письмо по всему магазину: скидка 25%, действует до пятницы, однократная рассылка в 10 утра. В течение следующих семи дней письмо принесет $8 400 подтвержденного дохода. Другой канал восстановления работает тише.
Каждый раз, когда мерчендайзер устанавливает цену со скидкой в админке WooCommerce, автоматический рабочий процесс запускает оповещения о снижении цен WooCommerce для подписчиков, которые отслеживали конкретный SKU. За тот же 72-часовой период рабочий процесс снижения цен восстанавливает $19 200. Тот же магазин, та же распродажа, в два с половиной раза больше восстановления благодаря автоматизации.
Эти два канала не взаимозаменяемы. Письмо по всему магазину — это рассылка. Рабочий процесс снижения цен — это канал для каждого SKU. Они дополняют друг друга, а не конкурируют, и в большинстве магазинов WooCommerce среднего размера канал для каждого SKU недостаточно развит.
В этой статье мы подробно рассмотрим, как выглядит рабочий процесс снижения цен от начала до конца, почему каскад из трех аудиторий является правильной архитектурой, как избежать обучения базы скидочных охотников с помощью ограничения частоты отправки, и как распределить восстановленный доход по SKU, чтобы финансовый отдел мог прочитать строку.
- Почему снижение цены является триггером восстановления с самой высокой конверсией
- Момент согласия на получение уведомлений о ценах
- Рабочий процесс снижения цен от начала до конца
- Почему каскад аудиторий — это правильная архитектура
- Интеграция ценовой стратегии: избегайте обучения скидочных охотников
- Интеграция стека WooCommerce
- Распределение по рабочим процессам
- Создайте это в PushEngage Workflows
- Что это меняет
Почему снижение цены является триггером восстановления с самой высокой конверсией
Большинство рабочих процессов удержания запускаются для одной аудитории. Рабочий процесс брошенной корзины нацелен на тех, кто бросил корзину. Рабочий процесс брошенного просмотра нацелен на тех, кто бросил просмотр. Приветственная серия предназначена для новых подписчиков. Оповещение о снижении цены отличается. Две аудитории сходятся на одном триггере: те, кто бросил просмотр и просмотрел товар, но не добавил его в корзину, и те, кто бросил корзину именно из-за цены. Оба продемонстрировали намерение приобрести конкретный товар. Оба доступны из одного рабочего процесса с одним триггером и одним критерием выхода.
Есть третья причина, по которой снижение цены конвертируется в разы лучше, чем любое отдельное напоминание. Сигнал триггера более конкретен, чем просто сигнал аудитории. Напоминание о брошенном просмотре просит подписчика поверить продавцу на слово, что товар по-прежнему стоит его внимания. Уведомления о снижении цены несут доказательство в самом сообщении: цена действительно изменилась, вот новое число. Подписчик видит оповещение и цену одновременно, поэтому даже «холодные» аудитории лучше конвертируются при отправке уведомлений о снижении цены, чем при общих напоминаниях о вовлечении.
Момент согласия на получение уведомлений о ценах
Кнопка «уведомить меня о снижении цены» на странице сведений о продукте — один из самых качественных способов получения согласия в сегменте электронной коммерции среднего рынка. Подписчик указывает конкретный продукт, отслеживание которого он хочет. По сравнению с общим согласием на уровне всего сайта, согласие на оповещение о цене на странице сведений о продукте создает базу подписчиков, которая работает в рамках рабочего процесса снижения цен в несколько раз эффективнее, чем «холодные» подписчики. Аргумент о составном качестве подписчика более подробно рассмотрен в сопутствующей статье о триггерных запросах на подписку; короткая версия заключается в том, что источник согласия предсказывает последующий доход на подписчика так же четко, как и любой сигнал в удержании.
Для магазинов WooCommerce согласие на странице сведений о продукте реализуется с помощью метода SDK PushEngage JS subscribeToProduct(productId). Кнопка записывает идентификатор продукта в атрибут подписчика, который становится сегментом, против которого может быть направлен рабочий процесс снижения цен. Магазины, уже использующие плагин YITH или TI WooCommerce Wishlist, имеют параллельный маршрут для отслеживания цен в списке желаний: каждый продукт из списка желаний фактически является явным согласием клиента на оповещение о цене.

Рабочий процесс снижения цен от начала до конца
Это полная спецификация рабочего процесса. Скопируйте ее напрямую в конструктор PushEngage Workflows.
- Триггер (НАЧАЛО): Пользовательское событие
price_dropped, запускаемое из WooCommerce при обновлении поляproduct_meta._sale_price, когда оно меньше_regular_price. Полезная нагрузка события включаетproduct_id,old_price,new_priceиpercent_off. - Тип выполнения: Несколько параллельных. Один экземпляр рабочего процесса на продукт на подписчика. Подписчик, отслеживающий три продукта, получает три параллельных экземпляра; каждый из них завершается независимо при покупке своего продукта.
- Ограничение частоты (на уровне рабочего процесса): Выход, если атрибут подписчика
last_price_drop_alert_atнаходится в пределах последних 14 дней. Ограничение защищает от обучения аудитории охотников за скидками и защищено в следующем разделе. - РЕШЕНИЕ 1: Подписался ли подписчик явно на оповещения об этом продукте (сегмент
price_alert_subs_{product_id}или совпадение в списке желаний)? Путь ДА: отправить оповещение о снижении цены для явного подписчика. Путь НЕТ: перейти к РЕШЕНИЮ 2. - РЕШЕНИЕ 2: Находится ли подписчик в сегменте «брошенные просмотры» для этого продукта в течение последних 30 дней? Путь ДА: отправить напоминание о снижении цены для тех, кто бросил просмотр. Путь НЕТ: перейти к РЕШЕНИЮ 3.
- РЕШЕНИЕ 3: Находится ли подписчик в сегменте «брошенные корзины» для этого продукта в течение последних 14 дней? Путь ДА: отправить напоминание о снижении цены для тех, кто бросил корзину. Путь НЕТ: бесшумно выйти.
- ОЖИДАНИЕ: 24 часа после первой отправки.
- РЕШЕНИЕ 4: Купил ли подписчик продукт? Путь ДА: выйти (успех, критерии выхода совпали). Путь НЕТ: отправить второе сообщение о низком остатке товара.
- КОНЕЦ.
Текст уведомления для каждой ветви:
- Явный подписчик: «Цена на отслеживаемый вами товар снизилась. {{product_name}} теперь стоит {{new_price}}, скидка {{percent_off}}%. Купите по новой цене».
- Бросивший просмотр: «Удачное время. {{product_name}}, который вы смотрели на прошлой неделе, теперь стоит {{new_price}}, скидка {{percent_off}}%».
- Бросивший корзину: «Вы оставили {{product_name}} в корзине. Цена только что упала до {{new_price}}. Ваша корзина все еще там».
- Второе касание «Товар заканчивается»: «Внимание. {{product_name}} по цене {{new_price}} заканчивается. Запасы быстро меняются на распродажах».
Рабочий процесс оповещения о цене имеет один триггер, три ветви отправки и один критерий выхода. У читателя, который также участвует в рабочих процессах корзины и просмотра, уже есть сегменты аудитории и атрибуты подписчика. Рабочий процесс оповещения о цене собирается менее чем за час поверх существующей инфраструктуры.
Почему каскад аудиторий — это правильная архитектура
Большинство стеков удержания создают три отдельные кампании со снижением цен. Одна для явных подписчиков списка желаний, управляемая менеджером лояльности. Одна для тех, кто бросил просмотр, управляемая маркетологом жизненного цикла. Одна для тех, кто бросил корзину, управляемая руководителем CRM. Три кампании означают трех владельцев кампаний, три набора текстов, которые расходятся к третьему кварталу, и три места, где забыт критерий выхода. Каскад объединяет их в один рабочий процесс с тремя узлами РЕШЕНИЯ, бесшумно выходит для подписчика без намерения и никогда не отправляет повторно.
| Концепция | Три отдельные кампании | Один каскадный рабочий процесс |
|---|---|---|
| Владелец | Три (лояльность, жизненный цикл, CRM) | Один (менеджер по удержанию) |
| Варианты текстов | Три, расходятся | Один канонический вариант на ветвь |
| Критерии выхода | Три правила, установленные отдельно | Одно правило рабочего процесса |
| Ограничение частоты | Нет (кампании не координируются) | Одно ограничение на уровне рабочего процесса |
| Атрибуция | Три строки | Одна строка, три промежуточных итога по ветвям |
| Риск двойной отправки | Высокий (подписчик списка желаний также может быть бросившим корзину) | Ноль (каскад упорядочивает по намерению) |
Порядок каскада имеет значение. Явные подписчики оцениваются первыми, поскольку согласие является наивысшим сигналом намерения. Бросившие просмотр — вторыми, поскольку просмотр продукта является более недавним и более конкретным, чем брошенная корзина для большинства магазинов. Бросившие корзину — третьими, поскольку рабочий процесс брошенной корзины уже отправлял им сообщения с лестницей скидок 0/10/20%; оповещение о снижении цены — это другой угол зрения на того же подписчика, и оно должно быть последним в каскаде, чтобы избежать наложения с эскалацией самого рабочего процесса корзины.
Интеграция ценовой стратегии: избегайте обучения скидочных охотников
Подписчик, который получает уведомления о снижении цен каждые две недели, учится ждать. Это молчаливая цена неограниченной программы снижения цен: когорта, которая конвертируется по оповещениям, также откладывает последующие покупки, ожидая следующей распродажи. За четыре квартала такое поведение, обусловленное поиском скидок, может полностью подорвать математику удержания. 5% маржи, потерянной ради восстановления, приемлемы. 25% обусловленного поведения когорты за двенадцать месяцев — нет.
Защита представляет собой ограничение частоты на уровне рабочего процесса. Максимум 1 уведомление о снижении цены на подписчика за 14 дней, применяемое внутри рабочего процесса как проверка критериев выхода по атрибуту подписчика last_price_drop_alert_at. Каждая успешная отправка обновляет атрибут с помощью узла действия UpdateAttribute. Следующее событие price_dropped, срабатывающее для того же подписчика, проверяет атрибут; если оно произошло в течение 14 дней, рабочий процесс завершается до оценки любой из трех ветвей DECISION.
Окно ограничения может быть настроено. Магазинам, проводящим еженедельные распродажи, может потребоваться сократить период до 7 дней, чтобы оставаться актуальными. Магазины, проводящие ежеквартальные распродажи, могут придерживаться 14 дней или продлить до 21. Важно то, что ограничение является правилом рабочего процесса, применяемым движком, а не напоминанием в календаре для владельца кампании. Правила рабочего процесса не забываются при смене владельцем кампании.
Существует следствие. Ограничение частоты также защищает отношения с подписчиками, которые не заинтересованы в отслеживании снижения цен. Клиент, купивший товар по полной цене на прошлой неделе, не хочет получать уведомление о снижении цены на тот же товар на этой неделе. Фильтр аудитории по критериям выхода (покупка в течение последних 30 дней для этого товара) обрабатывает этот случай как отдельное правило, но 14-дневное ограничение является универсальным минимумом.
Интеграция стека WooCommerce
Входные данные специфичны. Магазины WooCommerce хранят цену со скидкой как _sale_price, а обычную цену как _regular_price в таблице метаданных продукта. Плагин интеграции WooCommerce-PushEngage подключается к действию save_post_product и считывает метаданные при каждом сохранении продукта; если _sale_price не пуст и меньше _regular_price, плагин запускает пользовательское событие price_dropped с указанием SKU, старой и новой цены, а также процента скидки. Это событие, которое слушает узел START рабочего процесса снижения цен.
Плагины динамического ценообразования (Advanced Dynamic Pricing for WooCommerce, WooCommerce Dynamic Pricing & Discounts) записывают данные в тот же слой метаданных при срабатывании их правил и запускают тот же хук. Рабочему процессу снижения цен не нужно знать, произошло ли изменение цены из-за ручного редактирования цены со скидкой или из-за автоматического правила динамического ценообразования. Он слушает событие независимо от источника.
Для явных подписок SDK PushEngage JS предоставляет метод subscribeToProduct(productId). Кнопка оповещения о цене на странице продукта вызывает этот метод при нажатии; подписчик добавляется в сегмент для каждого продукта с именем price_alert_subs_{product_id}. Магазины, использующие плагины YITH или TI WooCommerce Wishlist, могут создать параллельный хук, который сопоставляет каждый добавленный в избранное продукт с тем же сегментом для каждого продукта, поэтому отслеживание цен в списке желаний и явное согласие на оповещение о цене подают данные в одну и ту же аудиторию.
Что инструментировать в первую очередь. Топ-100 SKU по объему продаж охватывают большую часть выручки. Подключите хук save_post_product для запуска price_dropped для этих SKU в первую очередь. Добавьте кнопку оповещения о цене на странице продукта для того же набора. Настройте рабочий процесс для этой ограниченной аудитории, измерьте и расширьте. Полный каталог может подождать.
Распределение по рабочим процессам
Восстановленная выручка за событие снижения цены, по SKU, по каналу. Это наиболее точное распределение выручки в рамках удержания, поскольку триггерное событие (изменение цены) имеет временную метку, а событие конверсии (покупка того же SKU) также имеет временную метку. Вычтите одно из другого; разница — это восстановленная выручка за оповещение.
PushEngage Workflows отслеживает пользователей, находящихся в очереди, завершивших и вышедших на каждом узле. Вот как выглядят аналитические данные на уровне узлов для реалистичного рабочего процесса снижения цен для списка из 200 000 подписчиков в течение квартальной распродажи:
| Узел | В очереди | Завершено | Выбыло | Примечания |
|---|---|---|---|---|
| НАЧАЛО (цена_снижена, 40 SKU) | 0 | 18,400 | 0 | 18 400 пар подписчик-продукт соответствуют условиям |
| Выход из ограничения частоты | 0 | 17,100 | 1,300 | 1 300 ограничены недавним оповещением |
| РЕШЕНИЕ 1: явный подписчик | 0 | 4 200 (ДА) | 0 | Направлено на отправку явным подписчикам |
| РЕШЕНИЕ 2: покинувший страницу просмотра | 0 | 7 800 (ДА) | 0 | Направлено на отправку покинувшим страницу просмотра |
| РЕШЕНИЕ 3: покинувший корзину | 0 | 2 300 (ДА) | 0 | Направлено на отправку покинувшим корзину |
| ПУТЬ НЕТ РЕШЕНИЯ 3: ВЫХОД | 0 | 0 | 2,800 | Подписчики без намерения тихо выходят |
| ДЕЙСТВИЕ: первая отправка | 0 | 14,300 | 0 | Отправлено по трем веткам |
| ПОДОЖДАТЬ 24 часа | 1,800 | 9,400 | 3,100 | 3 100 купили в течение 24 часов, выход |
| РЕШЕНИЕ 4: куплено? | 0 | 9,400 | 0 | Все некупившие продолжают |
| ДЕЙСТВИЕ: товар заканчивается, второе касание | 0 | 9,400 | 0 | Вторая отправка |
| КОНЕЦ | н/д | 9,400 | н/д | 1 200 из них конвертируются в следующие 48 часов |
В этой воронке 4 300 подписчиков (3 100 плюс 1 200) приобрели оповещенный SKU в течение 72 часов после события снижения цены. При среднем чеке в 58 долларов это примерно 249 400 долларов восстановленной выручки за неделю при 14 300 отправках и нулевой стоимости за отправку для канала push. Агрегируйте по SKU, и выручка по SKU появится на панели управления менеджера по мерчандайзингу вместе с показателями реализации скидок. Рабочий процесс перестает быть затратами на кампанию и становится статьей выручки от реализации цены.
Правильная формулировка для финансового отдела заключается в том, что рабочий процесс снижения цен — это найденная выручка. Это подписчики, которые не купили бы по обычной цене, но купили по сниженной цене после оповещения. Магазин в любом случае собирался снизить цены на эти SKU. Рабочий процесс превращает запланированное снижение цен в восстановленный спрос.
Создайте это в PushEngage Workflows
Рабочий процесс снижения цен напрямую сопоставляется с компонентами PushEngage Workflows.
| Часть рабочего процесса | Элемент PushEngage |
|---|---|
| Триггер | НАЧАТЬ с CustomEvent price_dropped, тип параллельного выполнения Multiple |
| Ограничение частоты | Критерий выхода с фильтром аудитории по атрибуту подписчика last_price_drop_alert_at |
| Каскад аудиторий | РЕШЕНИЕ x3 с фильтром аудитории по членству в сегменте |
| Отправки | ДЕЙСТВИЕ SendPushNotification x4 (три ветки плюс второе касание) |
| Обновление атрибута | ДЕЙСТВИЕ UpdateAttribute для last_price_drop_alert_at после каждой отправки |
| Ожидание | ПОДОЖДАТЬ 24 часа |
| Выход по покупке | РЕШЕНИЕ с фильтром Goal.Tracked по событию purchase, соответствующему ID продукта |
| Терминал | КОНЕЦ |
Движок Workflows поставляется с более чем 60 готовыми шаблонами, охватывающими скидки и поддерживающие потоки оформления заказа и просмотра товаров. Менеджер по удержанию клиентов, чьи рабочие процессы для корзины и просмотра товаров уже запущены, может настроить слой уведомлений WooCommerce о скидках поверх существующих сегментов аудитории менее чем за час.
Что это меняет
Для магазинов, реализующих многоканальные планы удержания, подход к оркестровке push-уведомлений и электронной почты использует электронную почту в качестве резервного варианта для клиентов, отписавшихся от push-уведомлений. Более широкий хаб push-уведомлений для электронной коммерции охватывает сопутствующие рабочие процессы, с которыми взаимодействует слой скидок, включая рабочий процесс WooCommerce для брошенных корзин и рабочий процесс восстановления после брошенных просмотров, которые используют общие сегменты аудитории с этим.
Уведомление о снижении цены — это не кампания. Это рабочий процесс, который объединяет две существующие аудитории плюс одну группу явного согласия, из одного триггера, с одним критерием выхода. Мерчендайзер продолжает устанавливать Распродажные цены в админке WooCommerce. Рабочий процесс продолжает срабатывать для каждого SKU. Менеджер по удержанию продолжает читать отчет о доходах по каждому SKU. Три кампании становятся одной. Риск охотника за скидками ограничивается на уровне рабочего процесса. Восстановленная выручка поступает как найденные деньги в следующем отчете о прибылях и убытках. Расчеты суммируются по каждой распродаже, которую проводит магазин.
Бесплатный план предоставляет вам 200 подписчиков, все четыре канала (веб-push, push в приложении, WhatsApp и живой чат), а также полный движок Workflows с первого дня. Этого достаточно, чтобы настроить рабочий процесс уведомлений о скидках для ваших топ-10 SKU и доказать эффективность расчетов по восстановлению на реальных подписчиках, прежде чем запрашивать бюджет.
Начните с бесплатного плана и внедрите слой уведомлений о скидках поверх ваших существующих рабочих процессов на этой неделе.