Skip to main content

What are campaigns?

Campaigns let you send the same email to a group of contacts — your entire list, a specific list, or a dynamic segment. They’re built for marketing and promotional emails like newsletters, product updates, and announcements.

Campaign lifecycle

Every campaign goes through a clear set of statuses:
StatusDescription
DraftBeing configured. You can edit, preview, and test
ScheduledSet to send at a specific date and time
SendingCurrently processing and delivering emails
SentAll emails have been delivered
Partial sentSome emails were sent before a limit was reached (warmup or quota)

Creating a campaign

1

Name your campaign

Give it an internal name to identify it in the dashboard (recipients don’t see this).
2

Choose a template

Select an email template for the campaign body. The template’s subject and sender are auto-filled but can be overridden.
3

Select your audience

Choose who receives the campaign:
  • All contacts — Every subscribed contact in your team
  • Contact list — A specific list you’ve created
  • Segment — A dynamic group based on filter conditions
4

Send or schedule

Send immediately or pick a date and time for scheduled delivery.

Audience targeting

You have three options for choosing recipients:
Audience typeHow it works
All contactsSends to every contact in your team
Contact listSends to contacts in a specific list
SegmentSends to contacts matching a segment’s filter conditions
In all cases, SendKit automatically excludes:
  • Unsubscribed contacts — Contacts who opted out of marketing emails
  • Suppressed addresses — Addresses on your suppression list (bounces, complaints)

Personalization

Campaigns support dynamic variables that are replaced with each contact’s data when the email is sent:
VariableReplaced with
{{FIRST_NAME}}Contact’s first name
{{LAST_NAME}}Contact’s last name
{{FULL_NAME}}First and last name combined
{{EMAIL}}Contact’s email address
{{USER_ID}}Contact’s user ID
Custom properties are also available as variables. If a variable isn’t set for a contact, the property’s fallback value is used. Variables work in the subject line, preview text, and template body.

Scheduling

Set a scheduled_at date and time to send the campaign later. The campaign status changes to Scheduled and SendKit automatically sends it at the specified time. You can cancel a scheduled campaign at any time before it starts sending — it reverts back to Draft status.

Sending limits

Campaigns respect your account’s sending limits:
  • Domain warmup — If your domain is still warming up, the campaign pauses when the daily limit is reached. The status becomes Partial sent.
  • Monthly quota — Your plan’s monthly email limit is enforced. The campaign stops if the quota is exceeded.
If a campaign is partially sent due to limits, the remaining contacts won’t receive the email automatically. You may need to create a new campaign for the remaining audience after limits reset.

Campaign analytics

After sending, the campaign detail page shows real-time stats:
MetricWhat it tracks
RecipientsTotal emails created for the campaign
SentEmails successfully accepted for delivery
DeliveredEmails confirmed delivered to inbox
OpenedRecipients who opened the email
ClickedRecipients who clicked a link
FailedEmails that permanently failed
You can also browse individual email deliveries with their status and event history.

FAQ

No. Only campaigns in Draft status can be edited. Once a campaign is scheduled or sent, its configuration is locked.
No. Only Draft campaigns can be deleted. Sent campaigns are preserved for analytics and history.
Contacts are checked at processing time. If they unsubscribe before their email is processed, they won’t receive it.
No. Each campaign is sent once. To resend to the same audience, create a new campaign with the same template.
Campaigns are processed in chunks of 500 contacts. Each email is dispatched individually with rate limiting to protect your sender reputation.