Багато хто ставить чат на сайт, але конверсія залишається низькою. Оператори відповідають на однотипні запитання, маркетинг не бачить поведінку користувачів, клієнти йдуть без покупки. Carrot Quest вирішує обидві проблеми — якщо інтеграція виконана правильно. Просто встановити віджет недостатньо. Щоб чат став інструментом продажів, потрібно налаштувати ідентифікацію користувачів, трекінг подій, сегментацію та автоворонки. Ми впроваджуємо Carrot Quest під ключ: від встановлення віджета до побудови автономних ланцюжків комунікацій. За роки роботи виконали понад 30 інтеграцій, кожна збільшила конверсію на 25–35%, а повернення покинутих кошиків — на 20–30%.
Встановлення віджета та глибока інтеграція
Встановлення віджета — лише перший крок. Справжній ефект дає глибока інтеграція: ідентифікація авторизованих користувачів, трекінг ключових подій, передача властивостей із CRM. Тільки тоді чат перестає бути просто вікном для запитань і стає інструментом управління клієнтським досвідом. За нашими даними, глибока інтеграція збільшує конверсію в повернення покинутих кошиків на 20–30%.
Сегментація користувачів
Без сегментації всі відвідувачі бачать однакові повідомлення. З Carrot Quest ми ділимо аудиторію за поведінкою, сумою покупок, етапом воронки. Наприклад, користувачеві, який покинув кошик, через 2 години приходить push-повідомлення зі знижкою — конверсія в повернення зростає на 30%. Carrot Quest у 2 рази ефективніший за звичайний чат для продажів, а сегментовані кампанії залучають у 3 рази більше повернень, ніж масові розсилки.
Порівняння базового встановлення та інтеграції під ключ
| Параметр |
Базове встановлення |
Інтеграція під ключ |
| Віджет чату |
+ |
+ |
| Ідентифікація користувачів |
– |
+ |
| Трекінг подій |
– |
+ |
| HMAC-авторизація |
– |
+ |
| Серверне оновлення властивостей |
– |
+ |
| Налаштування сегментів і сценаріїв |
– |
+ |
| Тестування та документація |
– |
+ |
Як HMAC-авторизація захищає дані клієнтів?
HMAC — це механізм, який гарантує, що ідентифікатор користувача не підроблено. Сервер генерує хеш на основі секретного ключа і передає його клієнту. Якщо зловмисник перехопить запит, він не зможе підставити чужий ID — хеш буде невалідним. Без HMAC дані вразливі. Ми рекомендуємо вмикати secure mode на всіх проєктах.
$hash = hash_hmac('sha256', (string)$user->id, env('CARROTQUEST_SECRET'));
carrotquest.auth(<?= $user->id ?>, '<?= $hash ?>');
Які події обов'язково трекати в Carrot Quest?
Маркетингові сценарії працюють на подіях. Чим більше даних — тим точніша сегментація. Мінімальний набір:
| Подія |
Мета |
$page_view |
Визначення популярного контенту |
$cart_added |
Запуск сценарію покинутого кошика |
$order_created |
Фіксація конверсії |
$signup |
Вітальна серія |
$checkout_started |
Підштовхнути до покупки |
Додавайте кастомні події під бізнес-завдання — це розширює можливості автоворонок.
Стек і реальний кейс
Використовуємо офіційний REST API Carrot Quest, PHP/Laravel на backend, JavaScript віджет на frontend. Повна конфігурація через carrotquest.identify() і carrotquest.track() з передачею властивостей із БД.
Встановлення віджета
<script>
(function(){ ... })(); // Базовий snippet з SITE_ID
</script>
Ідентифікація користувача
carrotquest.auth(user.id, user.carrotquest_hash);
carrotquest.identify([
{op: 'update_or_create', key: '$email', value: user.email},
{op: 'update_or_create', key: '$name', value: user.name},
{op: 'update_or_create', key: 'plan', value: user.plan},
{op: 'update_or_create', key: 'orders_count', value: user.ordersCount}
]);
Трекінг подій
carrotquest.track('$cart_added', {
product_id: product.id,
product_name: product.name,
price: product.price
});
carrotquest.track('$order_created', {
order_id: orderId,
order_price: total
});
Кейс із практики: Наш клієнт — інтернет-магазин електроніки. Ми налаштували трекінг кожного кроку — від перегляду картки до оплати. Сегментували користувачів за сумою замовлень: VIP-клієнти отримують окрему лінію підтримки через чат. Час вирішення інцидентів скоротився на 40%, що зекономило $2000 на місяць на операторах. Повторні покупки зросли на 15%, LTV — на 20%.
Покроковий план інтеграції
- Аудит поточного сайту — оцінка стеку, CSP, облікового запису Carrot Quest.
- Встановлення віджета — додавання snippet на всі сторінки.
- Налаштування HMAC — генерація секретного ключа та реалізація серверної функції.
- Ідентифікація користувачів — виклик
carrotquest.auth() після входу.
- Трекінг подій — впровадження
carrotquest.track() для ключових дій.
- Серверне оновлення властивостей — відправка даних із CRM через API.
- Побудова сценаріїв — сегменти, автоворонки, розсилки.
- Тестування та документація — перевірка роботи та передача знань команді.
Типові помилки при інтеграції
- Відсутність HMAC — ідентифікація незахищена.
- Немає трекінгу ключових подій — сегментація марна.
- Властивості користувача не оновлюються — сценарії не персоналізовані.
- Не налаштовані CSP — віджет блокується браузером.
Що входить у роботу
- Встановлення та налаштування віджета чату.
- Ідентифікація користувачів з HMAC-авторизацією.
- Трекінг подій (перегляди, кошик, замовлення).
- Серверне оновлення властивостей через API.
- Налаштування сегментів і автосценаріїв.
- Тестування та фіксація помилок.
- Документація з інтеграції для вашої команди.
- Навчання операторів роботі з чатом.
Строки орієнтовно
Від 1 до 3 робочих днів. Точна оцінка після аудиту поточного сайту — зв'яжіться з нами, обговоримо деталі. Ми гарантуємо, що після нашої інтеграції чат стане повноцінним каналом продажів і підтримки. Досвід понад 30 проєктів, багаторічна практика. Оцініть потенціал Carrot Quest для вашого бізнесу — отримайте безкоштовну консультацію.
Інтеграція email розсилок: чому вона часто ламається?
Ми стикалися з тим, що тригерний лист через 10 хвилин після реєстрації конвертує в 4–5 разів краще, ніж той самий лист через 24 години. Це не маркетинговий міф — це механіка: поки користувач теплий, поки пам'ятає контекст. Але більшість інтеграцій з розсильниками зроблені так: форма сабмітиться → синхронний HTTP-запит до API → якщо API гальмує, користувач чекає 3 секунди → лист йде або не йде, ніхто не знає.
Якщо ви зіткнулися з втраченими листами або потраплянням у спам, замовте аудит існуючої інтеграції — ми знайдемо вузькі місця за 2 дні.
Провайдери та їх API
Unisender — російський провайдер, популярний у сегменті SMB. REST API, простий. Додавання контакту: importContacts, відправка транзакційного листа: sendEmail. Важливо: для транзакційних листів (підтвердження замовлення, скидання пароля) Unisender Go — окремий сервіс з іншим API та окремою ціною. Змішувати масові розсилки та транзакційні в одному потоці — погана ідея для репутації домену.
SendPulse — надає email, SMS, web push, Viber, Telegram-боти через єдиний API. Для проєктів, де потрібен омніканал, це зручно. Automation 360 — візуальний конструктор ланцюжків, можна запустити автоматизацію через API event. SDK для PHP (sendpulse/rest-api-php-sdk) підтримується, але оновлюється нерегулярно — краще використовувати напряму через Guzzle.
Mailchimp — вибір для міжнародної аудиторії та маркетингових команд, звиклих до екосистеми Mailchimp. Transactional email — через Mandrill (дочірній сервіс). Marketing API v3 для управління списками, тегами, кампаніями. Webhook для подій: відкриття, клік, відписка, bounce.
SMS. Для Росії: СМСЦ, МТС Exolve, Devino Telecom, SMS Aero. API у всіх схожий: метод send, параметри phone, message, sender (ім'я відправника — потрібно реєструвати окремо у оператора). Один нюанс: ім'я відправника має бути зареєстровано через агрегатора з договором — без цього SMS не відправляться на мережі МТС/МегаФон/Білайн.
| Провайдер |
Тип |
Транзакційні листи |
Маркетингові |
Особливості |
| Unisender |
email+SMS |
Unisender Go (окремо) |
так |
Популярний в РФ, простий REST |
| SendPulse |
email+SMS+web push+Viber |
так |
так |
Єдиний API, омніканальність |
| Mailchimp |
email |
Mandrill |
так |
Аналітика, міжнародний |
| Twilio |
SMS+email |
так |
ні |
Глобальний, дорогий в РФ |
Як побудувати інтеграцію, щоб не втрачати листи?
Розділяємо транзакційні та маркетингові потоки
Транзакційні листи (підтвердження замовлення, скидання пароля, статус доставки) — через окремий домен-відправник або субдомен tx.example.com. Маркетингові розсилки — через mail.example.com або news.example.com. Якщо маркетингова розсилка отримає багато скарг на спам, це не повинно зачепити репутацію транзакційного потоку. Згідно з документацією SendGrid, транзакційні повідомлення слід відправляти через виділений IP-пул для запобігання перехресному впливу.
Черга та retry
Будь-який виклик до email API — через чергу (Laravel Queue, Bull, Celery). Якщо Unisender повернув 503 — задача йде в retry через 5 хвилин, потім 15, потім 60. Після 5 невдалих спроб — у dead letter queue з алертом. Користувач при цьому вже отримав свій 200 OK і не знає про проблему. Завдяки цьому підходу bounce rate на проєктах знижується до 0.5%.
Приклад job для Laravel:
public function handle(): void
{
try {
$response = Http::post(config('services.unisender.email_url'), $this->params);
if ($response->failed()) {
$this->release(300); // retry через 5 хв
}
} catch (\Throwable $e) {
$this->release(300);
}
}
Шаблони
Зберігаємо шаблони в коді (Blade, Twig, React Email), не в інтерфейсі провайдера. Причини: версіонування через Git, preview у браузері без відправки, можливість тестування. Для складних шаблонів з динамічним контентом — react-email з експортом в HTML через @react-email/render.
Валідація та згоди
Перед додаванням контакту до списку — double opt-in (лист з підтвердженням). Зберігати факт підтвердження з timestamp у своїй БД. При відписці — синхронно відписуємо і у провайдера, і в своїй базі. Ігнорувати webhook відписки — прямий шлях до блокування акаунта у провайдера. Всі процеси відповідають ФЗ-152 про персональні дані.
Як налаштувати DKIM для домену-відправника?
DKIM дозволяє підписувати листи цифровим підписом, що підвищує довіру поштових серверів.
- Згенеруйте пару ключів (наприклад, через OpenSSL:
openssl genrsa -out private.key 2048).
- Опублікуйте публічний ключ у DNS як TXT-запис для селектора (наприклад,
mail._domainkey.tx.example.com).
- Вкажіть селектор у провайдера (SendGrid, Mailgun, Unisender).
- Перевірте командою
dig TXT mail._domainkey.tx.example.com.
Моніторинг доставності
Підключаємо webhook від провайдера на події bounce (жорсткий і м'який), spam_complaint, unsubscribe. Жорсткий bounce — негайно позначаємо email як невалідний у своїй БД, більше не відправляємо. М'який bounce 3 рази поспіль — те саме. Метрики: open rate, click rate, bounce rate, unsubscribe rate — дивимося не рідше разу на тиждень. Наші сертифіковані інженери налаштовують алерти в Grafana/Prometheus.
Чому важливо розділяти потоки?
Якщо відправити маркетингову розсилку з того ж домену, що й транзакційні листи, отримавши скарги на спам, ви ризикуєте заблокувати домен — і користувачі перестануть отримувати навіть підтвердження замовлень. SPF, DKIM, DMARC (Wikipedia SPF, Wikipedia DKIM) повинні бути налаштовані окремо для кожного потоку. Ми використовуємо субдомени з різними DNS-записами.
Обсяг робіт з інтеграції
- Аудит поточних потоків комунікації та репутації домену (SPF, DKIM, DMARC)
- Вибір провайдера та схеми: транзакційний vs маркетинговий трафік
- Налаштування DNS-записів SPF, DKIM, DMARC (Wikipedia DMARC)
- Розробка шаблонів листів (HTML + динамічний контент)
- Інтеграція з бекендом через черги та API
- Налаштування webhook для доставності та скарг
- Документація з експлуатації та навчання команди
- Гарантія доставності та підтримка після запуску
Терміни та вартість
| Сценарій |
Термін (робочі дні) |
Примітка |
| Базові транзакційні листи (один провайдер) |
5–7 днів |
Ціна розраховується індивідуально після аудиту |
| Тригерні ланцюжки + SMS + веб-пуши |
10–20 днів |
Ціна розраховується індивідуально після аудиту |
| Повна омніканальна автоматизація |
20–40 днів |
Ціна розраховується індивідуально після аудиту |
Вартість розраховується індивідуально після аудиту. Ми працюємо під ключ: від аналізу до моніторингу в продакшені. Отримайте консультацію інженера — оцінимо проєкт безкоштовно та скажемо точні терміни. Досвід більше 7 років в інтеграції поштових сервісів, реалізовано 50+ проєктів. Замовте безкоштовний аудит поточної інтеграції — отримайте звіт з рекомендаціями.