Skip to Content
Email MarketingSend Campaigns

Send Email Campaigns

A campaign sends one template to many recipients. This is your bulk marketing path — for one-to-one transactional sends use the public API .

Prerequisites

Before you can create a campaign:

  1. At least one verified sender domain — the from_email you choose has to live on a domain you’ve authenticated
  2. At least one template — you can’t send a blank message
  3. Contacts in segments — campaigns send to segments. If you don’t have any yet, build them at Settings → Segments  first

If any of these is missing, the campaign create wizard will tell you and link directly to the fix.

Open the wizard

Email → Campaigns New campaign.

The wizard has 4 steps. You can go Back at any point — nothing is saved until you finish step 4.

Step 1 — Identity

Tell us who the email is from.

FieldNotes
Campaign name (internal)Just for your records — recipients never see this. e.g. “Diwali sale 2026”
From nameThe sender display name. e.g. “Acme Store”
From emailPick a verified domain from the dropdown, then edit the local part. e.g. hello@acme-store.com. Must be on a domain in Sender Domains  with status=verified
Reply-to (optional)Where customer replies should go (often your support inbox)

Why does From email matter? Recipients see the From line in their inbox. A friendly one (hello@acme-store.com) gets opened more than a noreply (noreply@acme-store.com). And replying to “noreply” feels cold — let customers actually respond.

Step 2 — Pick a template

Grid of every template you’ve built. Click one to select.

Don’t have a template yet? The wizard will tell you and link to Email → Templates → New  so you can build one without losing your campaign-in-progress (the wizard preserves your name/from until you finish).

Step 3 — Audience

Pick one or more segments. We send to every contact in those segments who:

  • Has an email address (contacts without one are silently skipped — no error)
  • Isn’t on your suppression list (hard-bounced before, complained, or unsubscribed)
  • Isn’t a duplicate (the same contact in two segments = one email)

Segment counts shown next to each name help you estimate volume before you commit.

Segments only: this version doesn’t allow ad-hoc contact pickers. If you want to send to a specific list of people, build a segment first at Settings → Segments  — that’s also where the audience is reusable across campaigns.

Step 4 — Schedule

Two options:

Save as draft (default)

Best for first-time senders. Creates the campaign but doesn’t send yet. You can review the recipient count on the campaign detail page, then click Send now when you’re ready.

This is the safer flow — it lets you confirm “yes, send to 5,000 people” with one extra click rather than blasting on the wizard’s last step.

Schedule for later

Pick a date/time. We’ll send at that moment.

Time zone: schedule input uses your browser’s local time. We convert to UTC server-side. Don’t worry about DST or zone math.

When you click Create campaign, you land on the campaign detail page.

Send the campaign

If you saved as draft, your campaign sits in Draft status. Hit Send now on the detail page when you’re ready.

A confirmation dialog asks you to acknowledge: “Sends to all matching recipients in your selected segments. This action cannot be undone.”

Click Send — the campaign flips to Sending status. You’ll see live counters tick up:

CounterMeaning
RecipientsTotal addresses we’ll attempt
SentWe’ve handed off to recipient’s MX server
DeliveredMX server accepted the message
OpenedRecipient opened (tracked via 1×1 pixel — sprint 5)
ClickedRecipient clicked any link (tracked via redirect — sprint 5)
BouncedHard or soft bounce
UnsubscribedRecipient hit Unsubscribe

The page auto-refreshes every 5 seconds while sending. You can leave it open or come back later.

Cancel an in-flight campaign

Hit the Cancel button while status is sending. We stop dispatching new messages immediately.

Already-delivered emails can’t be unsent. Cancel just stops the queue from processing more. If you cancelled at 50% sent, the other 50% never receive.

Costs

  • First 100 emails per UTC day are free across your entire account (campaigns + transactional API combined)
  • Beyond that:
    • Marketing email (campaign sends): ₹0.10/email + reseller markup (if your platform is white-labeled)
    • Transactional email (public API): ₹0.05/email + reseller markup
  • Charges show in Settings → Track Expenses  under category email_marketing

The campaign detail page doesn’t show the running cost yet (sprint 6); use Track Expenses for the breakdown.

Health flags

The campaign detail page surfaces warnings when something looks off:

  • Bounce rate > 5% — your list has too many invalid addresses. Bounce rates above 5% damage your sender reputation. Clean the list before the next campaign — remove obvious typos and confirm contacts opted in
  • Multiple unsubscribes in quick succession — common when sending to a stale list. Pause and review your audience definition

Best practices

  • Start small — first campaign should be 100–500 recipients. Confirm delivery + open rates look reasonable before scaling
  • Send time matters — Tuesday/Wednesday/Thursday between 10am–2pm in the recipient’s local time-zone gets the highest open rates for most B2B audiences
  • Subject line < 50 chars — Gmail truncates after that on mobile. Make the first 5 words count
  • Personalise — use {{first_name}} in subject + greeting. Open rates jump 20–30%
  • A/B subject lines — split your audience 50/50, send 2 variants, see which wins. (A/B testing as a built-in feature is sprint 6+)
  • Don’t send too often — once-a-week is the typical sweet spot for B2C marketing. Daily blasts kill engagement

See also