События и кампании Shopify
После того как вы подключите приложение и одобрите запрошенные Shopify разрешения на отслеживание заказов, корзин и оформления заказа (read_orders, write_pixels, read_customer_events), события заказов, оформления заказа и его шагов начинают поступать без отдельного экрана отслеживания в Pushwoosh. См. Предварительные требования и Часть 1 для шага одобрения. Для просмотра на витрине (просмотры товаров и добавление в корзину) также требуется включить Push Init Embed.
Отслеживание охватывает три независимые группы событий. Каждой требуется свой доступ, поэтому отключение одной не приостанавливает остальные:
- Оплата заказа и оформление заказа: поступают от Shopify, даже если встроенный код темы отключён
- Просмотр на витрине (просмотры товаров и добавление в корзину): требует, чтобы встроенный код темы был включён
- Шаги оформления заказа: требуют разрешений Shopify на отслеживание оформления заказа из Части 1 (
write_pixelsиread_customer_events), одобряемых отдельно от разрешения на отслеживание заказов (read_orders) выше
Прежде чем подключать приложение, проверьте как Pushwoosh обрабатывает типы атрибутов денег и дат для PW_OrderCreated и PW_AbandonedCart. Неверный тип, отправленный до того, как вы это заметите, задним числом не исправить.
События оплаты заказа и оформления заказа
Anchor link toИспользуйте их для сообщений после покупки (PW_OrderCreated), Journey или сегментов по брошенному оформлению заказа (PW_AbandonedCart / PW_AbandonedCartUpdate) и сопоставления конверсий покупок. Они поступают от Shopify, даже если покупатель блокирует отслеживание в браузере:
| Имя события в Pushwoosh | Когда срабатывает |
|---|---|
PW_OrderCreated | Заказ оплачен |
PW_AbandonedCart | Покупатель начинает оформление заказа |
PW_AbandonedCartUpdate | Покупатель добавляет, удаляет или изменяет товары в процессе текущего оформления заказа |
Они соответствуют уведомлениям о заказах и оформлении заказа, которые Shopify автоматически отправляет в Pushwoosh (вебхуки orders/paid, checkouts/create и checkouts/update, перечисленные в разделе Синхронизируемые сущности).
Собственное условие Shopify Flow, вебхук checkouts/create и источник Cart блока Products — это три разные вещи, которые все называются брошенной корзиной. Выберите то, что соответствует тому, что вы создаёте, используя таблицу ниже.
| Что вы хотите создать | Что использовать |
|---|---|
| Напоминание из Shopify Flow (собственное условие Shopify Cart abandonment) | Shopify Flow + действие Pushwoosh send notification. Не имена событий PW_AbandonedCart. |
| Напоминание или сегмент в Pushwoosh по началу оформления заказа или изменению корзины | Customer Journey или сегмент по PW_AbandonedCart / PW_AbandonedCartUpdate |
| Показать товары из корзины покупателя внутри письма | Источник Cart блока Products (использует тег PW_AbandonedCartID в момент отправки). Не зависит от того, какой триггер запустил Journey. |
Как ведут себя эти события. checkouts/create означает лишь то, что оформление заказа было начато. Shopify ещё не определил его как брошенное, и заказ тоже не подтверждён.
Пока покупатель редактирует оформление заказа, PW_AbandonedCartUpdate срабатывает снова для того же оформления заказа и перезаписывает корзину, сохранённую из PW_AbandonedCart. Письма-напоминания, использующие источник Cart, получают самые актуальные товары в момент отправки. Вам не нужен отдельный триггер Journey только для обновления корзины.
PW_AbandonedCart и PW_AbandonedCartUpdate устанавливают покупателю тег PW_AbandonedCartID, который источник Cart читает в момент отправки. PW_OrderCreated сразу его очищает, поэтому покупатель, который уже оформил заказ, пропускает блок вместо получения напоминания о корзине, которой у него больше нет. Точное поведение очистки см. в Что происходит при отправке PW_OrderCreated.
Атрибуты событий заказа и оформления заказа
Anchor link toPW_OrderCreated и PW_AbandonedCart включают:
| Атрибут | Описание |
|---|---|
orderId | Идентификатор заказа или оформления заказа |
email | Email покупателя |
totalPrice | Сумма заказа или корзины |
shippingAmount | Стоимость доставки |
taxAmount | Сумма налога |
discountAmount | Сумма скидки |
currency | Код валюты |
items | Позиции корзины |
customerId | Только для зарегистрированных клиентов, отсутствует для гостевого оформления заказа |
orderUrl | Страница статуса заказа для PW_OrderCreated, или URL восстановления для брошенного оформления заказа для PW_AbandonedCart и PW_AbandonedCartUpdate. Используйте его для создания ссылки или кнопки «Завершить покупку». |
createdDate | Когда был создан заказ или оформление заказа |
abandonedDate | Только для PW_AbandonedCart и PW_AbandonedCartUpdate. Когда корзину в последний раз трогали, а не когда её впервые создали |
Гостевое оформление заказа тоже может отправлять события заказа и корзины, но без идентификатора зарегистрированного клиента в событии.
PW_AbandonedCartUpdate содержит те же атрибуты. Если в вашем аккаунте также подключена интеграция Magento, её заказы и брошенные корзины публикуются в эти же имена событий, поэтому сегмент или Journey, построенные на PW_OrderCreated / PW_AbandonedCart, охватывают оба магазина, и типы атрибутов выше применяются к обоим тоже. У Magento нет аналога PW_AbandonedCartUpdate, поскольку она не отслеживает редактирование оформления заказа в процессе.
В частности, items приходит от Shopify лишь с несколькими заполненными полями.
События просмотра на витрине
Anchor link toИспользуйте их для сегментов или Journey по прерванному просмотру и для стратегий рекомендаций в email, которым нужны просмотры товаров (например, Based on what they viewed). См. Как настроить рекомендации товаров в email.
Оба события собираются тем же встроенным кодом темы. Больше ничего добавлять в тему не нужно, если Push Init Embed включён:
PW_ProductViewed: покупатель открывает страницу товара.PW_AddToCart: покупатель добавляет товар в корзину без перезагрузки страницы — так это делает большинство тем Shopify.
Атрибуты событий просмотра на витрине
Anchor link toОба события включают:
| Атрибут | Описание |
|---|---|
items | Просмотренный или добавленный товар(ы), каждый с productId, name, sku, quantity, price |
totalPrice | Общая цена items |
productUrl | Страница, на которой находился покупатель |
currency | Только когда витрина её предоставляет |
Сообщению, показывающему totalPrice, нужен запасной вариант на случай, если currency отсутствует, поскольку само по себе число не говорит, в какой это валюте.
Ни одно из этих событий не несёт email или customerId как атрибут. Покупатель идентифицируется так же, как это делает остальной встроенный код темы — через сессию SDK, привязанную к User ID в метаполе (см. Часть 2), а не через содержимое события.
items в PW_ProductViewed и PW_AddToCart содержат те же поля, что присылает Shopify до обогащения: productId, name, sku, quantity, price. Pushwoosh не заполняет остальные поля каталога для этих двух событий, в отличие от items в PW_AbandonedCart (см. Товары корзины обогащаются из вашего каталога товаров выше).
Стратегия рекомендаций, которой нужны полные данные о товаре, например Based on what they viewed, ищет их в вашем Каталоге товаров по productId в момент формирования сообщения. См. Как настроить рекомендации товаров в email, чтобы узнать, что нужно каждой стратегии.
События шагов оформления заказа
Anchor link toИспользуйте их, чтобы увидеть, на каком шаге люди уходят до покупки, и отправлять сообщения тем, кто начал оформление заказа, но не дошёл до оплаченного заказа.
PW_CheckoutContactInfo: покупатель ввёл контактные данные.PW_PaymentInfoSubmitted: покупатель отправил платёжные данные.
Завершённая продажа — это PW_OrderCreated из раздела выше, а не эти два события.
PW_AbandonedCart сообщает лишь о том, что оформление заказа началось. Эти два события отмечают две более поздние точки того же оформления заказа, в таком порядке: сначала контактные данные, затем платёжные данные. Покупатель, дошедший до PW_PaymentInfoSubmitted и так и не получивший последующего PW_OrderCreated, продвинулся дальше, чем тот, кто вызвал только PW_AbandonedCart, поэтому сообщение, построенное на этом этапе, может обращаться конкретно к застрявшей оплате, а не быть общим напоминанием о корзине.
Атрибуты событий шагов оформления заказа
Anchor link toОба события включают:
| Атрибут | Описание |
|---|---|
items | Позиции оформления заказа, каждая с productId, name, sku, quantity, price |
orderId | Токен оформления заказа, или ID заказа Shopify, как только он появляется у оформления заказа |
totalPrice | Сумма оформления заказа |
email | Только если он есть у оформления заказа. Оформление заказа по телефону (без введённого email) отправляет событие без него. |
currency | Только если она есть у оформления заказа |
Проверьте, что всё работает
Anchor link toВыполните соответствующее действие в магазине, затем убедитесь, что имя события появилось в Pushwoosh. Само событие обрабатывается в реальном времени, но два места, где вы можете это проверить, по-разному реагируют на имя, которое Pushwoosh ещё не видел:
- В выпадающем списке Event, когда вы создаёте сегмент по событиям, новое имя появляется сразу же.
- В выпадающем списке Event, когда вы добавляете триггер Customer Journey, новому имени может потребоваться до 10 минут, чтобы появиться (этот список кэшируется). Если вы его ещё не видите, подождите, а не считайте, что интеграция сломана.
| Тестовое действие | Событие |
|---|---|
| Оплатить тестовый заказ | PW_OrderCreated |
| Начать оформление заказа | PW_AbandonedCart |
| Изменить товары в этом оформлении заказа | PW_AbandonedCartUpdate |
| Открыть страницу товара (Push Init Embed включён) | PW_ProductViewed |
| Добавить товар в корзину | PW_AddToCart |
| Ввести контактные данные при оформлении заказа | PW_CheckoutContactInfo |
| Отправить платёжные данные при оформлении заказа | PW_PaymentInfoSubmitted |
Используйте события
Anchor link toКогда вы знаете, какое событие вам нужно, используйте его в двух местах:
- Как триггер или условие сегмента: выберите его в выпадающем списке Event, когда вы создаёте сегмент по событиям или добавляете триггер Customer Journey.
- В тексте сообщения: на шаге сообщения включите Personalize message with event attributes и выберите атрибут (например, сумму заказа из
PW_OrderCreated). Атрибут также можно вставить с помощью плейсхолдера Liquid. См. Динамический контент и шаблоны Liquid в Journey.
Для оплаченных заказов вы также можете сопоставить PW_OrderCreated как событие конверсии, чтобы покупки из Shopify учитывались в RFM-сегментации, атрибуции Journey и статистике блока Product.
Примеры кампаний
Anchor link toКаждая из них срабатывает на разных этапах пути покупателя, поэтому охватывает разную аудиторию: то, как далеко продвинулся человек до ухода, или дошёл ли он до оформления заказа вообще, определяет, какая кампания подходит.
- Напоминание о брошенной корзине. Охватывает каждого покупателя, начавшего оформление заказа, независимо от того, как далеко он продвинулся — самая широкая аудитория здесь. Постройте её как Customer Journey: триггер на
PW_AbandonedCart, ожиданиеPW_OrderCreated, затем отправьте email с блоком источника Cart тем, кто не оплатил. Полную настройку см. в Как настроить кампанию по брошенной корзине. - Дополнительное сообщение для застрявшего оформления заказа. Охватывает только покупателей, дошедших до ввода контактных данных, но так и не оплативших — более узкий срез аудитории выше. Постройте сегмент по
PW_CheckoutContactInfo, затем исключите всех, у кого также естьPW_PaymentInfoSubmittedилиPW_OrderCreated. - Восстановление застрявшей оплаты. Охватывает покупателей, дошедших до оплаты, но так и не завершивших заказ — они продвинулись дальше, чем в дополнительном сообщении выше, и эта аудитория с ней не пересекается. Постройте сегмент по
PW_PaymentInfoSubmitted, затем исключите всех, у кого также естьPW_OrderCreated. - Email с рекомендациями по просмотру. Охватывает покупателей, которые смотрели товары, но вообще не начинали оформление заказа — аудитория, отличная от напоминаний выше. Используйте
PW_ProductViewedсо стратегией Based on what they viewed блока Products. См. Как настроить рекомендации товаров в email.