293 lines
6.3 KiB
Plaintext
293 lines
6.3 KiB
Plaintext
---
|
||
title: Send a Newsletter Campaign
|
||
description: Broadcast an email to your audience
|
||
icon: Send
|
||
---
|
||
|
||
## Overview
|
||
|
||
Campaigns let you send one-time broadcasts to your contacts from the dashboard. No code required.
|
||
|
||
## Create a campaign
|
||
|
||
1. Go to **Campaigns** → **Create Campaign**
|
||
2. Fill in basic info:
|
||
- Name: `March Product Update`
|
||
- Description: `Monthly newsletter for March 2024`
|
||
|
||
## Write your email
|
||
|
||
### Email settings
|
||
|
||
- **From**: Your email or verified domain
|
||
- **Subject**: `March product updates you'll love`
|
||
- **Preview text**: Shows in inbox preview
|
||
|
||
### Email content
|
||
|
||
Use the visual editor or write HTML:
|
||
|
||
```html
|
||
<h1>What's new in March</h1>
|
||
|
||
<p>Hi {{firstName ?? 'there'}},</p>
|
||
|
||
<p>We've been busy this month. Here's what's new:</p>
|
||
|
||
<h2>🚀 New Feature: Team Collaboration</h2>
|
||
<p>Invite team members and collaborate in real-time.</p>
|
||
|
||
<h2>⚡ Improved Performance</h2>
|
||
<p>Everything is now 2x faster.</p>
|
||
|
||
<h2>📊 New Analytics Dashboard</h2>
|
||
<p>Better insights into your data.</p>
|
||
|
||
<p><a href="https://yourapp.com/changelog">View Full Changelog</a></p>
|
||
|
||
<p>Thanks,<br>The Team</p>
|
||
|
||
<p><small>
|
||
You're receiving this because you subscribed to updates.
|
||
<a href="{{unsubscribeUrl}}">Unsubscribe</a>
|
||
</small></p>
|
||
```
|
||
|
||
### Use variables
|
||
|
||
Available variables:
|
||
- `{{firstName}}` - Contact's first name
|
||
- `{{email}}` - Contact's email
|
||
- `{{id}}` - Contact ID
|
||
- `{{unsubscribeUrl}}` - Auto-generated unsubscribe link
|
||
- Any custom contact data fields
|
||
|
||
**Fallback values:**
|
||
```html
|
||
<p>Hi {{firstName ?? 'there'}},</p>
|
||
<!-- Shows "Hi John," or "Hi there," if firstName is missing -->
|
||
```
|
||
|
||
## Select your audience
|
||
|
||
### All contacts
|
||
|
||
Sends to everyone subscribed in your account.
|
||
|
||
### Specific segment
|
||
|
||
1. Select **Segment** audience type
|
||
2. Choose a segment (e.g., "Premium Users")
|
||
3. Campaign sends to all contacts in that segment
|
||
|
||
### Filtered audience
|
||
|
||
Create custom filters for this campaign only:
|
||
|
||
**Example filters:**
|
||
- `plan` equals `premium`
|
||
- `lastLoginAt` within `30` days
|
||
- `country` equals `United States`
|
||
|
||
Combine with AND/OR logic.
|
||
|
||
## Preview and test
|
||
|
||
### Send test email
|
||
|
||
1. Click **Send Test**
|
||
2. Enter your email address
|
||
3. Check your inbox
|
||
|
||
Verify:
|
||
- Subject line
|
||
- Email content
|
||
- Variables are replaced
|
||
- Links work
|
||
- Unsubscribe link present
|
||
|
||
## Send or schedule
|
||
|
||
### Send now
|
||
|
||
1. Click **Send Now**
|
||
2. Confirm
|
||
3. Campaign starts sending immediately
|
||
|
||
### Schedule for later
|
||
|
||
1. Click **Schedule**
|
||
2. Select date and time
|
||
3. Confirm
|
||
|
||
Campaign will send automatically at scheduled time.
|
||
|
||
## Monitor performance
|
||
|
||
### Real-time stats
|
||
|
||
Go to **Campaigns** → Your campaign to see:
|
||
|
||
- **Recipients**: Total contacts targeted
|
||
- **Sent**: How many emails sent
|
||
- **Delivered**: Successfully delivered
|
||
- **Opened**: Unique opens
|
||
- **Clicked**: Unique clicks
|
||
- **Bounced**: Failed deliveries
|
||
|
||
### Open and click rates
|
||
|
||
- **Open rate** = Opened / Delivered × 100%
|
||
- **Click rate** = Clicked / Delivered × 100%
|
||
|
||
**Good benchmarks:**
|
||
- Open rate: 15-25%
|
||
- Click rate: 2-5%
|
||
|
||
### View in activity
|
||
|
||
Go to **Activity** to see:
|
||
- Individual email opens
|
||
- Link clicks
|
||
- Delivery timeline
|
||
|
||
## Campaign best practices
|
||
|
||
**Subject lines:**
|
||
- Keep under 50 characters
|
||
- Avoid spam words (FREE, $$, URGENT)
|
||
- Personalize: `{{name}}, check out our new feature`
|
||
- A/B test different subject lines
|
||
|
||
**Send timing:**
|
||
- Tuesday-Thursday perform best
|
||
- 10am-2pm in recipient's timezone
|
||
- Avoid Mondays and Fridays
|
||
- Test what works for your audience
|
||
|
||
**Content:**
|
||
- One clear call-to-action
|
||
- Mobile-friendly design
|
||
- Keep under 500 words
|
||
- Use images sparingly (slow loading)
|
||
- Always include unsubscribe link
|
||
|
||
**Frequency:**
|
||
- Weekly: Maximum for engaged audiences
|
||
- Monthly: Safe default
|
||
- Quarterly: Minimum to stay top-of-mind
|
||
- Don't email too often - causes unsubscribes
|
||
|
||
## Advanced: Segment-based campaigns
|
||
|
||
### Example: Product announcement to paying customers
|
||
|
||
1. Create segment "Paying Customers":
|
||
- Filter: `plan` is not `free`
|
||
- Filter: `subscribed` equals `true`
|
||
|
||
2. Create campaign:
|
||
- Subject: `New premium features just for you`
|
||
- Audience: Segment "Paying Customers"
|
||
|
||
3. Send campaign - only goes to paying customers
|
||
|
||
### Example: Re-engagement campaign
|
||
|
||
1. Create segment "Inactive Users":
|
||
- Filter: `lastLoginAt` within `90` days is `false`
|
||
- Filter: `subscribed` equals `true`
|
||
|
||
2. Create campaign:
|
||
- Subject: `We miss you! Here's what's new`
|
||
- Content: Highlight recent updates
|
||
- Special offer: 20% off upgrade
|
||
|
||
3. Send or schedule
|
||
|
||
## Campaign vs workflow
|
||
|
||
**Use Campaign when:**
|
||
- One-time send (newsletter, announcement)
|
||
- Manual timing
|
||
- Same message to everyone
|
||
- No automation needed
|
||
|
||
**Use Workflow when:**
|
||
- Multi-email sequence needed
|
||
- Trigger on user action
|
||
- Delays between emails
|
||
- Personalized paths (if/then logic)
|
||
|
||
See [Campaigns vs Workflows](/concepts/campaigns-vs-workflows) for full comparison.
|
||
|
||
## Duplicate and reuse
|
||
|
||
### Duplicate a campaign
|
||
|
||
1. Go to campaign
|
||
2. Click **Duplicate**
|
||
3. Edit content
|
||
4. Send to same or different audience
|
||
|
||
Useful for monthly newsletters - duplicate last month's, update content.
|
||
|
||
### Save as template
|
||
|
||
If you'll reuse the design:
|
||
|
||
1. **Templates** → **Create Template**
|
||
2. Paste your campaign HTML
|
||
3. Save
|
||
|
||
Now you can create campaigns faster using the template.
|
||
|
||
## Cancel a campaign
|
||
|
||
### Before sending
|
||
|
||
1. Go to campaign (status: Draft or Scheduled)
|
||
2. Click **Delete**
|
||
|
||
### While sending
|
||
|
||
1. Go to campaign (status: Sending)
|
||
2. Click **Cancel**
|
||
3. Stops queuing new emails (already sent emails can't be recalled)
|
||
|
||
### After sending
|
||
|
||
Cannot cancel or recall. Sent emails are delivered.
|
||
|
||
## Troubleshooting
|
||
|
||
**Campaign not sending**
|
||
- Check campaign status (Draft needs to be sent)
|
||
- Verify audience has contacts
|
||
- Ensure contacts are subscribed
|
||
- Custom domain must be verified
|
||
|
||
**Low open rate**
|
||
- Improve subject line
|
||
- Check spam folder placement
|
||
- Verify sender email/domain
|
||
- Review send time
|
||
|
||
**High unsubscribe rate**
|
||
- Sending too frequently
|
||
- Content not relevant
|
||
- Set better expectations at signup
|
||
- Review targeting
|
||
|
||
**Emails going to spam**
|
||
- Verify custom domain
|
||
- Avoid spam trigger words
|
||
- Don't use all caps or excessive punctuation
|
||
- Warm up new sending domain
|
||
|
||
## Next steps
|
||
|
||
- [Build a workflow](/tutorials/welcome-series-workflow) for automated sequences
|
||
- [Create segments](/tutorials/segment-based-targeting) for better targeting
|
||
- [Set up custom domain](/guides/custom-domains) for better deliverability
|