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.write scope (add campaigns.read to verify campaign status), or an OAuth token with the same scopes
  • A parent campaign already in sent status
  • 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.scheduledAt must be within 10 days of the parent campaign's send time. The sendTo field accepts nonOpeners (contacts who did not open) or nonClickers (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 Required when 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'
StatusMeaning
draftBooster is created but not yet triggered
scheduledBooster is queued to send at the configured time
startedBooster is actively sending
sentBooster has finished sending
canceledBooster 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 canceled booster 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-expired on 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 campaignID does 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.

Related resources