Skip to main content

Campaigns

Campaigns are one-time email broadcasts sent to a segment of your subscribers. Use them for announcements, newsletters, promotions, and any communication that goes to multiple people at once.

Campaigns vs Sequences

AspectCampaignsSequences
TimingOne-time, scheduledOngoing, triggered
TriggerManual or scheduledAutomatic (tag/event)
RecipientsFiltered segmentIndividual subscribers
Use caseNewsletters, announcementsOnboarding, follow-ups

Campaign States

┌─────────┐     ┌───────────┐     ┌─────────┐     ┌────────┐
│  Draft  │ ──▶ │ Scheduled │ ──▶ │ Sending │ ──▶ │  Sent  │
└─────────┘     └───────────┘     └─────────┘     └────────┘


               ┌───────────┐
               │ Cancelled │
               └───────────┘
StateDescription
draftBeing created or edited
scheduledQueued to send at a specific time
sendingCurrently being sent
sentCompleted sending
cancelledManually cancelled before sending

Creating a Campaign

1. Choose Recipients

Define who receives the campaign: All Subscribers
Recipients: All active subscribers
Filters: None
Filtered Segment
Recipients: Filtered
Filters:
  - Status is "active"
  - Tags contains "customer"
  - Tags not_contains "churned"

2. Select Email Template

Choose or create the email content:
  • Use an existing template from your library
  • Create new content in the editor
  • Duplicate and modify a previous campaign

3. Choose Sender

Select who the email appears to come from:
From: "Sequenzy Team" <hello@sequenzy.com>

4. Schedule or Send

  • Send Now: Queue immediately
  • Schedule: Pick a specific date and time
  • Spread Over Time: Distribute sends linearly over 1–24 hours
You now choose these in two layers:
  1. Start time: Send now or schedule a future start
  2. Delivery strategy: All at once, Spread Over Time, or Send Time Optimization

5. Spread Over Time (Optional)

Enable Spread Over Time to distribute your campaign sends gradually over a configurable window, protecting your sender reputation during warmup. How it works:
  1. Choose when the campaign should start sending
  2. Select “Spread over time” as the delivery strategy
  3. Use the slider to choose a delivery window (1-24 hours)
  4. The first batch sends at the chosen start time
  5. Remaining batches are spaced evenly across the window
When to use:
  • Warming up a new sending domain
  • Sending your first large campaign (1,000+ recipients)
  • You’ve sent fewer than 10,000 emails total (Sequenzy will recommend this automatically)
Example:
Campaign start: Tomorrow at 9:00 AM
Spread window: 12 hours
Subscribers: 1,200
Chunks: 5

Chunk 1: Sent at 9:00 AM
Chunk 2: Sent at 12:00 PM
Chunk 3: Sent at 3:00 PM
Chunk 4: Sent at 6:00 PM
Chunk 5: Sent at 9:00 PM
Spread Over Time and Send Time Optimization are mutually exclusive. You can only enable one per campaign.

6. Send Time Optimization (Optional)

Enable Send Time Optimization to deliver emails at each subscriber’s optimal time based on their engagement patterns. How it works:
  1. Toggle “Send Time Optimization” on the schedule step
  2. Sequenzy analyzes each subscriber’s historical open times (last 90 days)
  3. Emails are delivered within a 12-hour window at each subscriber’s optimal hour
  4. Subscribers without enough data receive emails at the scheduled time
Requirements:
  • Subscribers need at least 5 email opens in the last 90 days
  • The UI shows how many subscribers have computed optimal times
Example:
Campaign scheduled: 9:00 AM
12-hour window: 9:00 AM - 9:00 PM

Subscriber A: Usually opens at 2:00 PM → Sent at 2:00 PM
Subscriber B: Usually opens at 6:00 PM → Sent at 6:00 PM
Subscriber C: Not enough data → Sent at 9:00 AM (scheduled time)
After sending, view the delivery distribution chart to see how STO spread your campaign across hours.

Filtering Options

Status Filters

FilterDescription
is subscribedOnly active subscribers
is_not subscribedExclude active (rare use)

Tag Filters

FilterDescription
contains [tag]Has the specified tag
not_contains [tag]Does not have the tag
Example: Target customers, exclude churned:
Tags contains "customer"
Tags not_contains "churned"
Tags not_contains "unsubscribed"

Email Filters

FilterDescription
contains [text]Email contains text
not_contains [text]Email does not contain text
Example: Target company emails:
Email contains "@company.com"

Date Filters

FilterDescription
less_than [days] agoAdded within X days
more_than [days] agoAdded longer than X days ago
Example: Recent subscribers:
Added less_than 30 days ago

Name Filters

FilterDescription
firstName contains [text]First name contains
lastName contains [text]Last name contains

Filter Combinations

Filters are combined with AND logic:
Tags contains "customer"
  AND
Tags contains "pro-plan"
  AND
Added more_than 7 days ago
This targets: Pro plan customers who signed up more than a week ago.

Sending Process

When a campaign is sent:
1. Campaign marked as "sending"


2. Fetch all matching subscribers
   (apply filters)


3. Split into chunks (100 per batch)


4. Queue each chunk for processing


5. Each chunk:
   - Render email with personalization
   - Send via email provider
   - Record in analytics


6. All chunks complete


7. Campaign marked as "sent"

Personalization

Available Variables

Use these in your email content:
VariableDescription
{{FIRST_NAME}}Subscriber’s first name
{{LAST_NAME}}Subscriber’s last name
{{NAME}}Full name
{{EMAIL}}Email address
{{customAttribute}}Any custom attribute

Example

<p>Hi {{FIRST_NAME|there}},</p>

<p>As a {{plan}} customer, we wanted to share...</p>

<p>Your account: {{EMAIL}}</p>
The |there syntax provides a fallback if the name is missing.

Tracking

Open Tracking

When enabled, Sequenzy tracks email opens via a tracking pixel.
<!-- Automatically inserted -->
<img src="https://api.sequenzy.com/t/o/[tracking-id].gif" />

Click Tracking

When enabled, links are wrapped to track clicks:
<!-- Original -->
<a href="https://example.com">Click here</a>

<!-- With tracking -->
<a href="https://api.sequenzy.com/t/c/[tracking-id]?url=...">Click here</a>
You can enable/disable tracking per company in Settings → Tracking.

Analytics

After sending, view campaign performance:
MetricDescription
SentTotal emails sent
DeliveredSuccessfully delivered
BouncedFailed to deliver
OpensUnique opens
ClicksUnique clicks
UnsubscribesOpted out from this email
Open RateOpens / Delivered
Click RateClicks / Delivered

Revenue Attribution

If you have goals configured, sent campaigns show revenue attribution metrics:
MetricDescription
ConversionsGoal conversions attributed to this campaign
RevenueTotal tracked value from attributed conversions
Attribution uses a 24-hour window from email interaction to conversion. Works automatically with Stripe, Polar, Paddle, and Dodo integrations.

Tracking Over Time

View how engagement changes:
Day 1: 45% opens, 12% clicks
Day 2: 52% opens, 15% clicks
Day 7: 58% opens, 17% clicks
Most engagement happens in the first 48 hours.

Campaign Types

Newsletter

Regular updates to your entire list:
Recipients: All active subscribers
Tags: contains "newsletter"
Schedule: Every Tuesday, 10am

Product Announcement

New feature or product launch:
Recipients: Filtered
Tags: contains "customer"
Send: Immediately

Promotional

Sales, discounts, special offers:
Recipients: Filtered
Tags: contains "active"
Tags: not_contains "enterprise" (they don't need discounts)

Re-engagement

Bring back inactive subscribers:
Recipients: Filtered
Tags: contains "inactive"
Added: more_than 60 days ago

Segmented Updates

Different content for different segments:
Campaign A: Pro Plan Updates
  - Tags: contains "pro-plan"

Campaign B: Starter Plan Updates
  - Tags: contains "starter-plan"

Campaign C: Free Tier Updates
  - Tags: contains "free-tier"

Best Practices

1. Test Before Sending

  • Send a test email to yourself
  • Check personalization renders correctly
  • Verify links work

2. Segment Thoughtfully

Don’t send everything to everyone:
✓ Feature update → Only to customers using that feature
✓ Upgrade offer → Only to free/starter tiers
✓ Renewal reminder → Only to annual subscribers

✗ Everything → All subscribers

3. Time Your Sends

  • B2B: Tuesday-Thursday, 10am-2pm
  • B2C: Evenings and weekends
  • Consider time zones: Schedule for recipient’s local time

4. Monitor Deliverability

Watch your metrics:
⚠ Bounce rate > 5%  → Clean your list
⚠ Complaint rate > 0.1%  → Review targeting
⚠ Open rate < 10%  → Improve subject lines

5. Respect Unsubscribes

  • Process unsubscribes immediately
  • Don’t re-add unsubscribed contacts
  • Provide easy unsubscribe links

Campaigns vs Transactional

Use CampaignUse Transactional
Marketing messagesOrder confirmations
NewslettersPassword resets
PromotionsAccount alerts
AnnouncementsReceipts
Don’t use campaigns for transactional messages—they may be delayed or filtered.