Create, schedule, and track email campaigns from the CLI.

Campaigns

Send targeted email campaigns to segments of your users. Campaigns combine an email template with an audience filter and an optional schedule, so you can preview who will receive the email before it goes out.

Use cases: announce a new feature to active users, send a re-engagement email to churned users, distribute a newsletter on a schedule, or run a promotional campaign targeted by user attributes.

Create a campaign

ascendkit campaign create \
  --name "March Newsletter" \
  --template tpl_abc123 \
  --audience '{"tags":{"$in":["premium"]}}' \
  --from [email protected] \
  --scheduled-at 2026-03-15T10:00:00Z
FlagDescription
--nameCampaign name (required)
--templateTemplate ID to use for the email body (required)
--audienceJSON filter for targeting users (required)
--fromVerified email identity to send from (optional; defaults to environment default)
--scheduled-atISO 8601 datetime to send (optional; omit to create as draft)

List campaigns

ascendkit campaign list
ascendkit campaign list --status scheduled

Filter by status: draft, scheduled, sending, sent, failed, cancelled.

View a campaign

ascendkit campaign show cmp_abc123

Update a campaign

Update a draft, scheduled, or failed campaign before it sends:

ascendkit campaign update cmp_abc123 \
  --name "Updated Newsletter" \
  --template tpl_def456 \
  --from [email protected]

Preview audience

See which users match the campaign's audience filter without sending:

ascendkit campaign preview cmp_abc123

Schedule a campaign

Set or change the send time for an existing campaign:

ascendkit campaign schedule cmp_abc123 --at 2026-03-20T14:00:00Z

Cancel a campaign

Delete a draft or failed campaign, or cancel a scheduled or sending campaign:

ascendkit campaign cancel cmp_abc123

View analytics

After a campaign is sent, check delivery and engagement metrics:

ascendkit campaign analytics cmp_abc123

The analytics output includes:

  • Sent, delivered, failed, suppressed, and bounced delivery counts
  • Opened and clicked engagement counts
  • Unsubscribed and complained counts
  • Calculated rates for open rate, click-to-open rate, bounce rate, and unsubscribe rate