Overview
The Campaign Management feature lets school administrators send bulk emails to filtered groups of users and track delivery and engagement metrics in real time. Every bulk email sent through the platform is automatically recorded as a campaign, with per-recipient tracking for opens and clicks.
Accessing Campaigns
Navigate to Campaigns in the admin menu. You will see a list of all campaigns sent from your school, sorted from most recent to oldest.
Sending a Campaign
Campaigns are created automatically whenever you send a bulk email through the Messages section using a mailing list filter. There is no separate "create campaign" step — the campaign is recorded the moment you send the email.
Available recipient filters:
| Filter | Description |
|---|---|
| Ongoing / Upcoming / Current / Ended enrollments | Target users by their enrollment status |
| Online enrollments | Users enrolled in online courses |
| Upcoming / Past bookings | Target users by booking time range |
| Valid pass holders | Users with an active pass |
| Active subscription holders | Users with a running subscription |
| Past orders | Users who ordered in the last N months |
| Recently created accounts | Newly registered users |
| Active users | Users with active status |
| Group | A specific user group |
You can further narrow recipients by trainer, category, marketing/newsletter preferences, and whether to exclude remote courses.
Message Types
When sending, choose the type that matches your intent:
| Type | Description |
|---|---|
| Operational | Transactional messages (confirmations, reminders). No unsubscribe link required. |
| Marketing | Promotional emails. Includes an unsubscribe link and complies with RFC 8058 one-click unsubscribe. |
| Newsletter | Newsletter emails. Also includes unsubscribe and one-click unsubscribe support. |
Campaign List
The campaign index shows a summary row for each campaign:
| Column | What it shows |
|---|---|
| Sent at | Date and time the campaign was dispatched |
| Campaign name | Optional name, or "Untitled" if not set |
| Type | Operational / Marketing / Newsletter badge |
| Recipients | Total intended recipient count |
| Sent | Number handed off to the email provider, with a % of recipients |
| SES Delivered | Confirmed deliveries from AWS SES |
| Bounced | Permanent and soft bounces combined |
| Opened | Unique opens, with open rate % |
| Clicked | Unique clicks, with click rate % |
Campaign Detail View
Click View on any campaign to see the full report.
Summary cards
- Recipients — total addresses targeted
- Sent — emails handed to the email provider, with sent rate
- SES Delivered — confirmed deliveries; also shows bounced, complained, and failed counts as badges if any exist
- Pending — emails still awaiting a delivery status notification from SES
- Opened — unique opens with open rate
- Clicked — unique link clicks with click rate
Campaign metadata
Displays the email subject, send timestamp (with timezone), the admin who sent it, and the message type.
Per-recipient table
A full drill-down of every recipient with:
- Recipient name (linked to their profile)
- Whether the email was sent
- SES delivery status (color-coded: green = delivered, red = bounced/failed)
- Whether the email was opened, with timestamp and open count
- Whether a link was clicked, with timestamp and click count
Rows are highlighted red for bounces and failures, and green for opens.
How Tracking Works
Open tracking: A 1×1 invisible pixel is appended to each email. When an email client loads images, the pixel request is recorded as an open.
Click tracking: Links in the email are automatically rewritten to route through the platform before redirecting to the original destination. Each click is recorded before the user reaches their destination.
SES delivery status: AWS SES sends delivery, bounce, soft bounce, complaint, and failure events back to the platform in real time via webhooks. These update each recipient's delivery status automatically.
Note: Open tracking depends on the recipient's email client loading images. Clients that block remote images will not register opens even if the email was read.
Unsubscribe Compliance
For Marketing and Newsletter campaigns, the platform automatically:
- Includes an unsubscribe button in the email footer
- Adds a
List-Unsubscribeheader supporting one-click unsubscribe (RFC 8058)
Recipients who unsubscribe are excluded from future campaigns of the same type based on their stored preferences.