Жизненный цикл (сервер)

Передавайте ссылку на запись в ActiveCampaign, Mailchimp, Iterable или Klaviyo с сервера при получении сеансом вашего ID клиента.

1. Зачем рядом с браузерным мостом

У MousePlayer уже есть мост жизненного цикла для SDK на странице: Klaviyo, Braze, Customer.io и шести других. Этот работает с сервера, потому что у двух крупнейших платформ браузерный путь недоступен:

  • У ActiveCampaign нет браузерного API событий. Его vgo() задаёт аккаунт, почту и запускает отслеживание, но не отправляет событие. События идут через Event Tracking API с отдельным ключом, только с сервера.
  • У Mailchimp есть API, но закрытый словарь. Пиксель сайта принимает PAGE_VIEWED, PRODUCT_VIEWED и PURCHASED , а также несколько других заданных имён. Своего события нет; втиснуть наши данные в PAGE_VIEWED значило бы исказить собственную модель данных.

Для Iterable и Klaviyo сервер просто надёжнее: без блокировщиков, незагруженного SDK и раннего закрытия вкладки.

2. Что нужно

Три поля, заполнение зависит от платформы.

ПлатформаПоле аккаунтаКлюч
ActiveCampaignactidWebsite → Site Tracking рядом с ключом события
MailchimpID аудиторииAPI-ключ — сохраните суффикс вида -us14 , по нему определяется дата-центр
Iterableне нужен — оставьте пустымКлюч с разрешением «Allow event track calls»
Klaviyoне нужен — оставьте пустым Приватный API-ключ

Третье поле — имя события. Кратко: максимум 32 символа. Это предел API, не наш; сокращаем при сохранении, а не отправке, чтобы форма соответствовала результату.

Mailchimp: сохраните суффикс API-ключа. Часть после последнего дефиса (-us14) обозначает дата-центр для построения адреса. Ключ без неё отклоняется с понятным сообщением, а не скрытым сбоем.

3. Когда срабатывает

В момент идентификации сеанса: при вызове сайтом MousePlayer.setUserId(), чтении ID нашим аналитическим мостом или вызове identify сервером. До этого мы не знаем, кому принадлежит запись.

Только с электронной почтой

Все четыре платформы обращаются к контакту по почте. Если ID клиента — номер договора, ничего не отправляется: обречённая задача лишь засорила бы журнал.

Контакт уже должен существовать. Ни одна платформа не создаёт его из события; ActiveCampaign полностью отбрасывает событие неизвестного адреса. Мост дополняет существующие контакты, не строит список.

Каждое событие содержит ID

Поэтому сеанс не учитывается дважды даже при повторе задачи.

4. Что приходит

Одно событие со ссылкой на запись в свойстве mouseplayer_session_url. Откройте — попадёте в запись именно этого сеанса.

Далее логика платформы: триггер автоматизации, условие сегмента или просмотр записи командой из контакта.

Ключ не покидает сервер

Хранится с шифрованием AES-256-GCM, не показывается после сохранения и намеренно не попадает во внутреннюю очередь задачи: обработчик получает его из базы сам.

HTTP 200 не означает доставку

ActiveCampaign отвечает статусом 200 и {"success":0} при отклонении. Мы читаем тело, чтобы отказ стал сбоем в журнале, а не молчаливым успехом.

5. Braze, Customer.io и Brevo

Ещё три серверные платформы. Двум нужно то, чего не требуют остальные: расположение.

Вы указываетеИдентификация по
BrazeREST-эндпоинт и API-ключэлектронной почте
Customer.ioID сайта, API-ключ и регионвашему ID клиента
Brevoтолько ключ трекераэлектронной почте

Две размещены в конкретном месте

REST-эндпоинты Braze привязаны к экземпляру; у Customer.io два региона с разными хостами. Из ключа их не определить; неверный даёт 401 и заставляет проверять ключ. Только поэтому существуют оба поля.

Customer.io не нужна почта

Сервис знает людей под вашим ID, требовать почту было бы выдуманным препятствием. Остальные шесть сопоставляют по почте, и номер договора в ID правильно не даёт результата.

Без новых профилей

Вызов Braze содержит _update_existing_only. Как и мост CRM: браузерный сеанс не доказывает, кто ваши клиенты; платформа с профилем на каждого анонимного посетителя хуже отсутствия интеграции.

Brevo отвечает 204, Braze — 201 с оговоркой

Brevo возвращает пустое тело: там 2xx действительно достаточно. Braze возвращает "message": "success" и может добавить массив errors : фатальные проблемы в message, допустимые потери полей лишь в errors. Чтение только одной части даёт ошибку в ту или другую сторону.

Все названные товарные знаки принадлежат владельцам. У MousePlayer нет деловых отношений с поставщиками.