Skip to content

Sending an email campaign

Email campaigns are composed and sent from the campaign editor (/campaign/edit), reached from the campaign list. This covers a hand-built campaign; automated emails (digest, deal, approval) use the same engine without this UI.

Requires: a login with the view permission (the campaign endpoints require it). The editor treats edit/delete as superuser actions, but that is enforced only in the UI.

Steps

  1. From the campaign list, create or open a campaign.
  2. Enter the name, subject, from name, and reply-to email, choose a template, and write the body.
  3. Build the recipient list — add contacts or a group directly, or open the recipient builder to pull from a saved contact segment.
  4. Save the campaign.
  5. Send a test to yourself first and review it.
  6. Send for real to all recipients. Sending runs in the background; the campaign is marked sent when the batch completes.

Result

Each recipient receives a personalized email (their name, company, and an unsubscribe and view-in-browser link), with links rewritten for click tracking. From then on the campaign detail view shows delivery status and open/click counts per recipient, updated from the provider's tracking webhook. A bounce marks that contact as blocked so later campaigns skip them.

If it fails

  • A recipient didn't receive it — they may be suppressed (emailBlocked from a prior bounce), or the send is still processing.
  • The dedicated Send page looks broken — the /campaign/send page is a non-functional stub; use the Send for real / Send test actions on the campaign editor instead.
  • Tracking shows nothing — opens and clicks depend on the recipient opening the email and the provider webhook posting back; both are asynchronous.