Вопрос

Реализация Double Opt-in

Коллеги, посоветуйте, пожалуйста, лучшие практики реализации Double Opt-In в bpm'online.

Желательно, без использования рассылок bpm'online marketing, чтобы не использовать лицензированные "активные контакты", которые так и не подпишутся на рассылки.

У меня такой же вопрос

7 комментариев

Для начала бы всем присутствующим знать, что такое «Double Opt-In». Если речь об этом:

Image: a graphic depicting the two steps of the double opt-in process: the signup form, and the opt-in confirmation email.

То это довольно похоже на стандартные механизмы раздела кампаний в bpm'online marketing с добавлениями из лендинга и триггерными рассылками:

 

section_campaigns_landing_condition_flow.png

Естественно, потребуются те самые лицензии на активные контакты.

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

 

Зверев Александр пишет:
То это довольно похоже на стандартные механизмы раздела кампаний в bpm'online marketing с добавлениями из лендинга и триггерными рассылками:

Да, очень похоже. Но пока непонятны некоторые моменты:

- как отлавливать завершение кампании Double Opt-In, чтобы в карточке контакта уже отметить, что он прошёл подписку до конца?
- как унифицировать это решение, чтобы не копировать в каждом landing page, где контакт может подписаться? 

Для этого служит элемент «Выход из кампании». Там отмечают не в карточке, но на детали:

Всем контактам, которые по переходу или согласно настроенным условиям группы попали на этот шаг, на вкладке [Аудитория] в колонке [Текущий шаг] будет установлено значение “Достигли цели”

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

Возникли ещё 2 вопроса:

1. Минимальный период запуска кампании - 15 минут, что слишком долго, чтобы выслать клиенту письмо с подтверждением подписки (большинство не дождётся, и не ответит)
2. Процесс, кажется, не отлавливает изменения в детали Campaign participant. По крайней мере, ни разу за день процессы (реальный и тестовый) не сработали, хотя, участники добавлялись и даже дошли до цели:
 

Процесс не запустится по событию на объекте, если добавление или изменение делается не при помощи механизмов EntitySchemaQuery, а посредством классов Insert/Update или напрямую в базе. Вероятно, для этой детали происходит именно так.

Зверев Александр пишет:

Процесс не запустится по событию на объекте, если добавление или изменение делается не при помощи механизмов EntitySchemaQuery, а посредством классов Insert/Update или напрямую в базе. Вероятно, для этой детали происходит именно так.

Интересно, а как тогда люди на bpm'online реализуют такой механизм Double Opt-In? 

Если логика простая — можно на триггере в базе. Или по таймеру проверять новые записи, которые ещё не обработаны. Или из того же триггера запустить через веб-сервис БП с Id нужной записи в параметре. Или найти то место в коде, где произошло добавление на деталь в обход ESQ (если дело действительно в этом) и добавить вызов нужной логики.

Войдите или зарегистрируйтесь, чтобы комментировать