Інтеграція LMS з email-рассилками (автоматичні цепочки)
Email-автоматизація в LMS — це не рекламні рассилки. Це трансакційні та поведінкові листи, які ведуть студента по шляху навчання: онбординг, нагадування, привітання, реактивація. Правильно налаштовані цепочки знижують відтік та повищують завершеність курсів.
Сервіси email-автоматизації
| Сервіс | Призначення | Особливості |
|---|---|---|
| Brevo (Sendinblue) | Трансакційні + маркетинг | Хороший API, безплатний тариф |
| Postmark | Трансакційні листи | Найкращий deliverability, дорогий |
| Mailchimp | Маркетинг, сегментація | Потужні audiences, дорогий |
| Customer.io | Поведінкові цепочки | Найкращий вибір для product emails |
| Resend | Трансакційні + React Email | Сучасний API, дешевий |
Customer.io — рекомендується для LMS: поведінкові триггери на основі подій, A/B тестування листів, детальна аналітика відкриттів.
Архітектура: події як основа
Customer.io та аналоги працюють на основі подій. LMS відправляє події через API, сервіс вирішує, який лист відправити:
// Клієнт Customer.io
const { TrackClient } = require('customerio-node');
const cio = new TrackClient(process.env.CIO_SITE_ID, process.env.CIO_API_KEY);
// Реєстрація нового користувача
async function onUserRegistered(user) {
await cio.identify(user.id, {
email: user.email,
first_name: user.firstName,
created_at: Math.floor(user.createdAt.getTime() / 1000),
plan: user.plan,
});
}
// Зачисленнякурсу
async function onCourseEnrolled(userId, course) {
await cio.track(userId, {
name: 'course_enrolled',
data: {
course_id: course.id,
course_title: course.title,
course_url: `${process.env.APP_URL}/courses/${course.id}`,
instructor_name: course.instructor.name,
},
});
}
// Прогрес навчання
async function onLessonCompleted(userId, lesson, progress) {
await cio.track(userId, {
name: 'lesson_completed',
data: {
lesson_id: lesson.id,
course_id: lesson.courseId,
progress_percent: progress.percentage,
lessons_completed: progress.lessonsCompleted,
lessons_total: progress.lessonsTotal,
},
});
}
Ключові email-цепочки для LMS
Онбординг (одразу після реєстрації):
- D+0: Добро пожаловатиді як почати
- D+1: Якщо не відкрив перший урок — "Не знаєш з чого почати?"
- D+3: Можливості платформи (форум, мобільний додаток)
- D+7: Соціальний доказ (історії успіху)
Після покупки курсу:
- Одразу: підтвердження покупки + посилання на курс
- D+1: Знайомство з матеріалами (план курсу)
- D+3: Якщо не почав — "Твій курс чекає на тебе"
Активація навчання:
- При 25% прогресу: "Ти вже четверть шляху!"
- При 50%: "Половина позаду, не зупиняйся"
- При 75%: "Фініш близько — ти впораєшся"
- При 90%: "Останній рывок + що робити після курсу"
Реактивація неактивних:
- 3 дні без активності: м'яке нагадування
- 7 днів: "Що сталося? Можемо допомогти"
- 14 днів: персональний лист від імені викладача
- 30 днів: спеціальна пропозиція або продовження доступу
Завершення курсу:
- При 100%: поздоровлення + інформація про сертифікат
- D+7: опитування задоволеності (NPS)
- D+30: рекомендація наступного курсу
Персоналізація через Liquid/Handlebars
Привіт, {{customer.first_name}}!
Ти вже пройшов {{event.progress_percent}}% курсу
«{{event.course_title}}».
Залишилось всього {{event.lessons_total | minus: event.lessons_completed}} уроків.
Наступний урок — {{event.next_lesson_title}}.
[Продовжити навчання →]({{event.next_lesson_url}})
Трансакційні листи через Resend + React Email
// emails/certificate-issued.tsx
import { Html, Text, Button, Img } from '@react-email/components';
export function CertificateIssuedEmail({ studentName, courseName, certificateUrl, pdfUrl }) {
return (
<Html>
<Text>Поздоровляємо, {studentName}!</Text>
<Text>
Ви успішно завершили курс «{courseName}» та отримали сертифікат.
</Text>
<Button href={certificateUrl}>Переглянути сертифікат</Button>
<Button href={pdfUrl}>Завантажити PDF</Button>
</Html>
);
}
import { Resend } from 'resend';
import { CertificateIssuedEmail } from './emails/certificate-issued';
const resend = new Resend(process.env.RESEND_API_KEY);
await resend.emails.send({
from: '[email protected]',
to: student.email,
subject: `Ваш сертифікат: ${course.title}`,
react: CertificateIssuedEmail({ ... }),
attachments: [{
filename: 'certificate.pdf',
path: pdfS3Url,
}],
});
Аналітика та A/B тести
Customer.io показує: open rate, click rate, conversion rate (скільки повернулись до навчання після листа), unsubscribe rate. A/B тест теми листа: 50% користувачів отримують варіант A, 50% — варіант B, переможець відправляється решті.
Тривалість
Налаштування Customer.io з ідентифікацією користувачів та основними подіями — 1–2 дні. Розробка та налаштування 5–7 email-цепочок з шаблонами — 5–7 днів. Трансакційні листи через Resend — 2–3 дні.







