DEV Community

appierun
appierun

Posted on

How to Plan Event-Triggered Email Sequences From Your Product's Events

Triggered emails usually break because the events behind them are vague, not because the copy is bad. Before you build another sequence, write a one-page event plan: the event name, when it fires, its properties, which sequence it starts, and what stops it.

Pick the handful of events that matter

You don't need to track everything to send useful emails. Start small and add events only when a real sequence needs them.

Common starters

  • user_signed_up: an account was created
  • first_key_action_completed: the user did the first thing that shows real use
  • cart_item_added: something went into the cart
  • cart_abandoned: the cart was left without checkout for a set time
  • order_completed: payment went through
  • user_went_inactive: no sessions for a set number of days

One custom event for your "aha" moment

Every product has a moment when a new user first gets value: the first report generated, the first teammate invited, the first project published. Name it, track it, and use it. It is often the most useful trigger you have, because it separates people who are getting value from people who need help.

Name events and properties consistently

Pick one convention and use it everywhere. A simple one is object_action in the past tense: cart_abandoned, invoice_paid, report_exported. Use the same property names across events, so plan, order_value and currency mean the same thing wherever they appear.

Write the plan as a simple list that both the growth team and engineering can read:

  • user_signed_up: Fires when: Account created and email confirmed; Properties: plan, signup_source; Owner: Growth
  • cart_abandoned: Fires when: Cart has items and no checkout after a set wait; Properties: cart_value, item_count; Owner: Engineering
  • order_completed: Fires when: Payment confirmed; Properties: order_value, currency; Owner: Engineering
  • report_exported: Fires when: First export of a report; Properties: report_type; Owner: Product

Spell out "fires when" precisely. "User signed up" can mean form submitted, email confirmed or first login, and each choice sends a different set of people into your sequence.

Map each event to one sequence, with exit rules

One event starts one sequence

If user_signed_up starts both a welcome series and a nurture series, new users get two streams of email in the same week. Give each starting event exactly one sequence. If you need branches, branch inside that sequence based on later events.

Write exit rules

Exit rules matter as much as triggers. Many events exist only to stop or redirect a sequence:

  • order_completed stops the cart reminder sequence
  • first_key_action_completed moves someone from "getting started" help to "next steps"
  • An unsubscribe stops everything marketing-related, straight away

Put the exit event next to every sequence in your plan so nobody gets a reminder for something they already did.

Write the sequence

Keep each sequence short, two to four emails, and give each email one job: remind, help, answer an objection, or ask a question. Send from a real person's name, write in your brand's normal voice, and make it easy to reply.

Test before you trust it

Before launch, run through this checklist:

  • Send each event from a test account and confirm it arrives with the right name and properties
  • Check what your email tool actually received, not what you think you sent
  • Walk every branch of the sequence with a test inbox, including the exit paths
  • Trigger an exit event mid-sequence and confirm the remaining emails stop
  • Check timing, time zones and what happens if an event fires twice

Consent and privacy basics

For contacts in the US and Europe: email only people who have agreed to hear from you where the law requires it, honour unsubscribes promptly, and collect only the event data you actually use. Transactional emails such as receipts follow different rules from marketing emails, so keep them separate. Check your GDPR, ePrivacy and other obligations with your own advisers.

FAQ

What events should trigger marketing emails?
Start with signup, your "aha" action, cart abandoned, purchase and inactivity, then add others only when a sequence needs them.

How many emails should an abandoned cart sequence have?
Two to four is a sensible starting range, each with one job, and every one stops as soon as the order is completed.

How do I stop a sequence when the customer has already bought?
Make order_completed an exit rule on the sequence, then test it by buying from a test account mid-sequence.

How should I name product events?
Use one pattern everywhere, such as object_action in the past tense, with the same property names across events.

Write down the events first, and the emails become much easier to get right.

Top comments (0)