Product events in. Emails out. Quietly.
Lifecycle campaigns send multi-step email sequences when your product does something — trial started, limit reached, payment failed. Tracked opens and clicks feed the same customer record your team works from.
How campaigns work
- Trigger — a product event, an API call, or a CRM change enrolls the contact.
- Steps — a timed sequence of emails; each step can be locale-aware.
- Tracking — opens and clicks are recorded on the contact timeline.
- Exit — the contact completes, replies, unsubscribes, or is suppressed.
Templates worth starting from
- Trial expiring — day-by-day nurture ending in a clear upgrade CTA.
- Payment failed — immediate heads-up, retry notice, grace-window warning.
- Usage limit reached — what they hit, what unlocks it, one link.
- Welcome — first-run value in three short steps.
Reporting
Per-campaign and per-step delivery, open, and click rates; execution history shows who was enrolled, what fired, and when. Clicks and replies tie back to the contact and company — sales sees the campaign's effect on the deal timeline instead of a separate email platform's dashboard.
Suppression & consent
- Unsubscribe links are mandatory and honored instantly, per contact.
- Suppression list prevents re-enrollment — bounced and complained addresses never return.
- Campaigns respect frequency caps so lifecycle mail never turns into drip spam.
Triggering from your product
Any tracked event can enroll a contact. Fire trial_started, usage_limit_reached, or payment_failed from your backend and map events to campaigns in the dashboard:
POST /api/v1/events/track
{ "name": "usage_limit_reached", "user_id": "usr_123" }Keep it human
Campaigns work best when they do one thing: deliver the next right message at the next right moment. When a sequence needs branching logic, approvals, or custom copy per account, that's a job for the Work lane — drafts and a human sender, not a drip.