All templates
Flowchart template

Email campaign journey

Segmentation, send, engagement tracking, and re-engagement loop.

Every growth team runs email campaigns, but too often the flow is unspoken: marketers send emails in bursts, open rates decline over time, and nobody has a system for who to reach next. This diagram codifies the motion.

It starts with segmentation (who should get this email), moves through send and engagement tracking, branches based on whether users engaged, and loops back to re-engagement for dormant users. The re-engagement branch models the reality: if someone hasn't opened anything in 30 days, you get one chance to win them back with a targeted message.

When to use this template

  • Marketing operations playbook — document your team's segmentation rules, engagement metrics, and re-engagement triggers. Annotate each diamond with the exact SQL query or filter criteria so new marketers can own campaigns without tribal knowledge.
  • Email deliverability strategy — add notes at each stage about your re-engagement and list-hygiene discipline. Teams that ship this diagram before their campaigns tend to maintain higher open rates and lower unsubscribe rates.
  • CAC and LTV modeling — use this diagram to cost each campaign in the flow and track which re-engagement path brings users back most cost-effectively.

How to adapt it

Tailor the thresholds and messaging to your product and user base:

  • Add A/B test gates after personalization: "Variant A: [subject1]" and "Variant B: [subject2]", split 50/50, then let the engagement tracking determine which variant performed better.
  • Specify your engagement definition: this diagram uses "open or click within 48h"; your team might use "click only" to avoid false positives from image auto-loading, or "open within 72h" for slower-moving audiences.
  • Replace 30d dormancy threshold with your actual metric: 14 days for a daily-active app, 60 days for a quarterly-billing SaaS product, or 7 days for ultra-engaged user bases.

The visual editor lets you drag segments and rename thresholds without any Mermaid syntax, so your email ops flow stays in sync with how you actually run campaigns.

Mermaid code

Copy it anywhere Mermaid is supported — GitHub, Notion, or your docs.

flowchart TD
    A[Campaign triggered] --> B[Segment audience]
    B --> C{Query passes?}
    C -->|No| D[Empty segment]
    D --> E[Log and exit]
    C -->|Yes| F[Personalize email]
    F --> G[Send to recipients]
    G --> H[Track opens/clicks]
    H --> I{Engaged?}
    I -->|Yes| J[Update audience score]
    I -->|No| K[Add to re-engagement queue]
    J --> L[Next campaign]
    K --> M{Dormant >30d?}
    M -->|Yes| N[Send win-back email]
    M -->|No| O[Continue nurture track]
    N --> P{Click/Open?}
    P -->|Yes| Q[Re-activate user]
    P -->|No| R[Mark unsubscribed]
    Q --> L
    R --> L
    O --> L

Frequently asked questions

What is an email campaign journey diagram?
It maps the entire lifecycle of an email marketing motion: how you decide who receives an email (segmentation), what they see (personalization), whether they interact (tracking opens and clicks), and what happens next. The diagram makes visible the decision gates (empty segment, low engagement) and re-engagement loops that keep inactive users in your funnel.
Why segment the audience before sending, and what does 'query passes' mean?
Segmentation targets emails to specific user cohorts by behavior or attributes: new users get onboarding, inactive users get win-back campaigns, customers get upgrade offers. 'Query passes' means the segment query returned at least one person. If no users match your filter (e.g., 'purchased in the last 30 days'), you skip the send and log it, which catches bugs where campaigns go out empty.
How do I measure engagement, and when should I re-engage a dormant user?
Track opens (pixel in the email) and clicks (link UTM codes). Engaged = at least one open or click within 48 hours of send. Re-engagement targets users who stopped engaging 30+ days ago with a single 'We miss you' email; if that fails, unsubscribe them to keep list health high and reduce bounce rates.
How do I adapt this for transactional emails versus marketing campaigns?
Transactional emails (receipts, password resets, billing alerts) skip segmentation and personalization — they're immediate and recipient-specific. This diagram models marketing campaigns (newsletters, feature announcements, re-engagement). For transactional, remove segmentation and jump straight from trigger to send. Visual edits regenerate clean Mermaid code, so you can fork this template for each email type.

Related templates