Course & membership events
Standard lifecycle events for online courses and memberships — what to send, which properties matter, and how journeys use them.
If you sell courses or memberships, Leadara works best when your checkout and learning platform send a consistent set of events into your workspace. You do not need a product catalog in Leadara — pass course_id, course_slug, and amounts on each event instead.
Course lifecycle events in 3 minutesTutorial · 2–4 min · Not recorded yet
Script to read
Hey — quick one on edtech-style events in Leadara. Imagine you run an online course business: someone browses a course, starts checkout, buys, then starts lessons. Leadara only automates well when those steps show up as named events with a few properties.
From your server — not the browser alone for purchases — you send things like
course_viewed, checkout_started, and purchase_completed. Each payload
should include who it is (userId or email), which course (course_id or
course_slug), and money fields when relevant (amount, currency).
Once events land, you build segments (“viewed course X in the last 7 days”) and journeys (“48 hours after course_viewed, send SMS”). I'll open Events in the dashboard in a second… there — you can confirm the stream is arriving before you turn on a journey.
Traits help too: store favorites like favorite_instrument, owned_course_ids, or wallet_credit so templates feel personal. That's the whole loop — send events, segment, journey. If you're on SMS, wire SMS Logs and Unsubscribes under Channels for compliance.
Canonical events
Send these from your backend where possible (especially purchases):
| Event | When to send | Key properties |
|---|---|---|
signed_up | Account created | source, locale |
course_viewed | Course sales page viewed | course_id, course_slug, instrument |
checkout_started | Checkout opened | course_id, amount, currency |
purchase_completed | Payment succeeded | course_id, amount, currency, order_id |
lesson_started | Learner opens a lesson | course_id, lesson_id |
lesson_completed | Lesson finished | course_id, lesson_id |
assessment_completed | Quiz or exam submitted | course_id, score |
practice_submitted | Practice assignment sent | course_id |
referral_completed | Referral reward earned | referral_code |
credit_earned | Wallet or store credit added | amount, currency |
Example: purchase completed
{
"event": "purchase_completed",
"userId": "usr_abc123",
"properties": {
"course_id": "piano-101",
"course_slug": "piano-101",
"amount": 49.99,
"currency": "USD",
"order_id": "ord_9981"
}
}Recommended user traits
Set traits when you identify users so SMS and email stay relevant:
favorite_instrument— personalization in copyowned_course_ids— suppress promos for courses they already ownlast_course_viewed— quick segmentationwallet_credit— offers that mention balancelocale— Persian vs English messaging
Journeys that fit course businesses
Use Create from template for starters:
- Course interest recovery —
course_viewed→ wait 48h → SMS - Post-purchase onboarding —
purchase_completed→ wait 2d → SMS - Learning progress nudge —
lesson_started→ wait 7d → SMS - Win-back — inactive segment → wait 30d → SMS
Waits can run up to 90 days; longer delays are capped automatically.
SMS vs one-time passwords
Use your application for login OTPs. Use Leadara for lifecycle SMS (welcome, recovery, win-back) so logs and unsubscribes stay in one place under Channels.
Next steps
Open Journeys to activate a template, or Segments to define who should enter scheduled win-back flows.