How to boost a sent campaign
Intro
Re-engage contacts who missed your original message by creating a booster for an already-sent campaign. A booster re-sends to non-openers or non-clickers with a different subject line or timing, without building a new campaign from scratch.
See API reference: Campaigns — Booster Campaigns
Prerequisites
- An API key with
campaigns.writescope (addcampaigns.readto verify campaign status), or an OAuth token with the same scopes - A parent campaign already in
sentstatus - Sufficient email sends or SMS credits for the booster audience (pricing plans | SMS credits)
- Each parent supports only one active booster. Delete the existing booster before creating a replacement (a canceled booster still occupies the slot)
- (Email boosters) A verified sender domain if using a custom sender address (verify in Store Settings → Sender Domains)
Step 1: Create the booster campaign
Create a campaign with type: "booster" and boosterSettings.campaignID pointing to the sent parent. Provide sendingSettings to control when the booster goes out — you must schedule it within 10 days of the parent's send time.
For email boosters, content falls back to the parent's snapshot — you only need to provide fields you want to override (typically the subject line). For SMS boosters, content.sms is always required.
See endpoint: Create campaign
curl -X POST 'https://api.omnisend.com/api/campaigns' \
-H 'Authorization: Omnisend-API-Key YOUR-API-KEY' \
-H 'Omnisend-Version: 2026-preview' \
-H 'Content-Type: application/json' \
-d '{
"type": "booster",
"channel": "email",
"boosterSettings": {
"campaignID": "PARENT_CAMPAIGN_ID",
"sendTo": "nonOpeners"
},
"content": {
"email": {
"subject": "Did you miss this? Our sale is still on!"
}
},
"sendingSettings": {
"strategy": "scheduled",
"scheduledAt": "2026-06-20T10:00:00Z"
}
}'Only subject is overridden here — all other email content fields (sender name, template body, preheader) fall back to the parent's snapshot.
Note:
sendingSettings.scheduledAtmust be within 10 days of the parent campaign's send time. ThesendTofield acceptsnonOpeners(contacts who did not open) ornonClickers(contacts who did not click).
The response returns the booster in draft status with an id you will use in the next step.
Step 2: Send the booster
Trigger the booster send just like a regular campaign.
See endpoint: Send campaign
curl -X POST 'https://api.omnisend.com/api/campaigns/BOOSTER_CAMPAIGN_ID/send' \
-H 'Authorization: Omnisend-API-Key YOUR-API-KEY' \
-H 'Omnisend-Version: 2026-preview'A 204 response confirms the send was initiated. The booster status changes to scheduled or started depending on the configured strategy.
Warning: The send endpoint returns
402 Payment Requiredwhen the campaign audience exceeds your current billing tier limits. A plan upgrade is required to proceed.
Verify results
Retrieve the booster campaign to check its status.
See endpoint: Get campaign
curl -X GET 'https://api.omnisend.com/api/campaigns/BOOSTER_CAMPAIGN_ID' \
-H 'Authorization: Omnisend-API-Key YOUR-API-KEY' \
-H 'Omnisend-Version: 2026-preview'| Status | Meaning |
|---|---|
| draft | Booster is created but not yet triggered |
| scheduled | Booster is queued to send at the configured time |
| started | Booster is actively sending |
| sent | Booster has finished sending |
| canceled | Booster was canceled via the cancel endpoint |
You can also list all boosters for a specific parent campaign.
See endpoint: List campaigns
curl -X GET 'https://api.omnisend.com/api/campaigns?type=booster&parentCampaignID=PARENT_CAMPAIGN_ID' \
-H 'Authorization: Omnisend-API-Key YOUR-API-KEY' \
-H 'Omnisend-Version: 2026-preview'Troubleshooting
- 409 Conflict on create — duplicate booster: Each parent supports only one active booster — even a
canceledbooster counts. Delete the existing booster first (DELETE /campaigns/{id}), then create a new one. Content of the deleted booster is not preserved. - 409 Conflict on send —
sender_domain_unverified: For email boosters, the sender domain must be verified before sending. Verify in Store Settings → Sender Domains. - 409
booster-expiredon send: The booster campaign send window has expired — the parent was sent more than 10 days ago. Create a new campaign and target non-openers via a segment instead. - 404 on create: The parent
campaignIDdoes not exist. Verify the ID is correct. - 402 Payment Required on send: The campaign audience exceeds your plan's email or SMS credit limits. Upgrade your plan or ensure sufficient credits.