← Back to blog

Campaigns vs. Sequences: When to Use Each (and Why You Need Both)

PushMail Team··2 min read

If you're new to email infrastructure, the difference between campaigns and sequences can feel murky. Some platforms blur the line. Others force you into one paradigm. Here's how PushMail thinks about it — and when to use each.

Campaigns: One Message, Many Recipients

A campaign is a single email sent to a group of contacts at a specific time. Think:

  • Weekly newsletter
  • Product launch announcement
  • Seasonal promotion
  • Event invitation

Campaigns are one-shot. You compose an email, pick your audience (a list, a tag, or a segment), and either send immediately or schedule it for later. Every recipient gets the same email at the same time.

When to use campaigns

  • You have time-sensitive content (a sale ends Friday, a webinar is next week)
  • You want to broadcast the same message to everyone
  • The content isn't personalized to where someone is in a journey
  • You're sending a one-off communication

Campaign workflow in PushMail

POST /api/v1/campaigns
{
  "name": "March Newsletter",
  "subject": "What's new in March",
  "html": "<h1>March Update</h1>...",
  "listId": 42,
  "sendingConfigId": 1,
  "scheduledAt": "2026-03-10T09:00:00Z"
}

The campaign sits in scheduled status until the cron worker picks it up and sends it in batches. You get delivery tracking, bounce/complaint handling, and full event logs — same as any other send.

Sequences: A Series of Emails Over Time

A sequence (also called a drip campaign or automation) is an ordered series of email steps with delays between them. Each contact progresses through the sequence independently, based on when they were enrolled.

Think:

  • 5-day onboarding flow after signup
  • 3-email nurture series after a lead magnet download
  • Re-engagement drip for inactive users
  • Educational course delivered over 2 weeks

When to use sequences

  • The content builds on itself — step 2 assumes step 1 was read
  • Timing is relative to the contact, not to a calendar date
  • You want to automate a repeatable journey
  • Different contacts should be at different stages simultaneously

Sequence workflow in PushMail

First, create the sequence and its steps:

POST /api/v1/sequences
{ "name": "Onboarding Flow", "sendingConfigId": 1 }

POST /api/v1/sequences/5/steps
{ "subject": "Welcome!", "html": "...", "delayValue": 0, "delayUnit": "minutes" }

POST /api/v1/sequences/5/steps
{ "subject": "Getting started", "html": "...", "delayValue": 1, "delayUnit": "days" }

POST /api/v1/sequences/5/steps
{ "subject": "Pro tips", "html": "...", "delayValue": 3, "delayUnit": "days" }

Then enroll contacts:

POST /api/v1/sequences/5/enroll
{ "contactId": 123 }

The cron worker checks every minute for enrollments that are ready for their next step, sends the email, and advances them.

Side-by-Side Comparison

CampaignsSequences
TimingFixed date/timeRelative to enrollment
StepsSingle emailMultiple ordered steps
Per contactEveryone at onceIndependent progression
Best forAnnouncements, newslettersOnboarding, nurture, education
SchedulingCalendar-basedDelay-based (minutes, hours, days)
EnrollmentSend to a list/segmentEnroll individually or in bulk

Why You Need Both

Most real-world email programs use both. A typical setup:

  1. Sequence: New signup triggers a 5-email onboarding flow
  2. Campaign: Monthly newsletter goes to all active subscribers
  3. Sequence: User goes inactive, auto-enrolled in a re-engagement drip
  4. Campaign: Product launch announcement to everyone

The key insight: campaigns are about your timeline. Sequences are about the contact's timeline.

Transactional Email: The Third Pillar

Beyond campaigns and sequences, there's transactional email — triggered by a user action and sent immediately. Password resets, order confirmations, login codes. In PushMail, these use the same POST /api/v1/send endpoint and the same sending configs. One platform, three use cases.


Ready to set up your first campaign or sequence? Check out the quickstart guide or head to your dashboard.