Email Automations configuration
Connecting your Mailgun account, the daily run and instant sends, the sixteen audiences and how their steps are timed, offer codes, the dry run, the Templates check, and what the Analytics tab counts.
Your Mailgun account
Every email is sent from your own Mailgun account, using templates you write there. Nothing goes through us: your domain, your sending reputation, your Mailgun bill. On the Settings tab, the Mailgun card takes:
- Sending domain, such as
mg.example.com, the domain you verified in Mailgun. - Region: US (
api.mailgun.net) or EU (api.eu.mailgun.net), whichever your Mailgun account is in. - From address, as
Your Newsletter <[email protected]>. - Private API key, from Mailgun's API keys page. It's stored encrypted and never shown again; the field says "saved" once it has one, and leaving it blank on a later save keeps the saved key.
Save, then press Validate credentials. It calls Mailgun with the saved values and reports the domain's state, and whether the tracking DNS record is verified (which matters for opens and clicks).
Templates. Each step names a Mailgun template. Write them in Mailgun, and greet people with {{firstname}} and {{fullname}}; six audiences also get {{offer_url}} (see Offer codes), and the "subscribed to a newsletter" audience gets {{newsletter_name}}. Fallback first name, at the bottom of the Settings tab, is what {{firstname}} becomes for a member who never gave a name: "there", so "Hi there".
When emails go out
Daily send time. Once a day, at the hour you pick in your site's timezone (set in Site settings), members who have reached a step's threshold get that email. Enable daily sending is the master switch for the whole tool: while it's off, nothing is sent at all, instant sends included. The card shows when the last run happened and how it went.
Instant sends. A step timed "Immediately" normally goes out with the next daily run. Press Enable instant sends and those steps are delivered the moment Ghost reports the event, whether someone signs up, upgrades, cancels, reinstates a cancelled plan, or moves to a higher tier. Enabling it adds two member webhooks to your Ghost site; cancellation, reinstatement and tier-change events need Ghost 6.57.1 or newer. With daily sending off, the badge reads "Enabled, but paused".
Some audiences have no daily lane at all and fire only from an event, so they need instant sends on: expired comps, both unsubscribed audiences, saved members, tier upgrades, newsletter subscriptions, and the "when they cancel" step. Those are marked in the table below.
Automations and their steps
An automation is one sequence for one audience: a name, the audience, a few options, and a list of steps. Each step is one email, with a Mailgun template name, a Subject, and a timing rule that depends on the audience:
- For audiences with a clock (free, paid, trial, comped, converted trials, renewed, churned): Immediately, or After N days from the moment the clock starts.
- For audiences that lead up to a date (about to renew, about to end, comps about to end, trials about to end): N days before that date. Zero means within the last day before it. The cancelled-members audience adds When they cancel as an alternative to a days-before step.
- For event-only audiences: the step simply says When it happens.
Send test… on a step sends that template to an address you choose, with the variables filled in. Each step also shows a short id; the Analytics tab uses the same id, so you can match rows to steps.
| Audience | When the clock starts, or what fires it | Timing |
|---|---|---|
| Free members | Signup | Immediately / after N days |
| Paid members | First payment. Send to can narrow it to members who upgraded within N days of signing up, or who were free for at least N days first. | Immediately / after N days |
| Trial members | Trial start | Immediately / after N days |
| Trials about to end | The trial's end date | N days before |
| Converted trials | The trial converting to paid | Immediately / after N days |
| Complimentary members | The comp being granted | Immediately / after N days |
| Comps about to end | The comp's expiry date (indefinite comps have none and are skipped) | N days before |
| Expired comps | The comp being removed | When it happens; instant sends only |
| Members about to renew | The end of the current billing period, for members who will renew | N days before |
| Renewed members | A renewal payment going through | Immediately / after N days |
| Cancelled members (win-back before access ends) | The end of the paid period, for members who cancelled | N days before access ends, or When they cancel (instant sends only) |
| Saved members | A cancelled member reinstating their plan | When it happens; instant sends only |
| Churned members (win-back after access ends) | The day a cancelled member's access ended | Immediately / after N days |
| Unsubscribed, free / paid | Leaving a newsletter (any newsletter, on a site with several) | When it happens; instant sends only |
| Subscribed to a newsletter | Joining the newsletter you pick, at signup or later. Filter by tier (free members included) and by labels the member has or doesn't have. | When it happens; instant sends only |
| Upgraded to a higher tier | Switching to a tier with a higher price | When it happens; instant sends only |
Options on the automation, shown when they apply:
- Enabled. Switching an automation on only affects members who cross a step's threshold from then on. Existing members are never back-filled: nobody who joined last year gets "welcome aboard" this morning.
- Include trialing members and Include complimentary members, on the paid audience. Their clocks start at the trial start or the comp grant, and they stack with any trial or comped automation you also run.
- Billing cadence: monthly, yearly, or both, on the audiences tied to a subscription. One sequence for annual supporters and another for monthly is two automations.
- Limit to specific tiers, on the same audiences (for tier upgrades, the tier they move to). Tick the tiers; an archived tier shows as unknown.
- Newsletter, on the subscribed-to-a-newsletter audience: the one newsletter this automation watches. Its tier list adds a Free members entry, and two label filters — Only members with any of these labels and Skip members with any of these labels — narrow it further. A label can't be in both.
Every send is logged before it leaves, so a member gets each step at most once, even where an instant send and the daily run overlap or a run is retried. A daily run also refuses to send a step to anyone whose threshold passed more than a few days ago, so a sequence switched on after a quiet week doesn't dump a backlog.
Offer codes
Lifecycle emails to people without an active paid plan can carry a Ghost offer link: free members, complimentary members, comps about to end, expired comps, unsubscribed free members, and churned members get {{offer_url}} as a template variable. The link is the only way to redeem an offer; Ghost has no code-entry box at checkout, so don't write "enter code…" in the template.
The Offer codes card shows a grid of your paid tiers by billing period. Pick one of your live Ghost offers for each cell, or create one from the card (a percentage or amount off, applied once, forever, or for N months), and mark one cell as the default. A member is matched to their own tier and period where it's known (comps to their tier, churned members to the price of the plan they left); everyone else gets the default. With no default chosen, members whose tier can't be matched get no link at all. The card warns about an offer that's been archived, or that sits on a tier that's no longer active, since a link to one of those dead-ends on your site.
Dry run
Dry run now scans your members and shows exactly what the next daily run would send: for each step, the current date window, how many members are inside it, how many already had the email, and how many would get it. Nothing is sent and the schedule isn't touched. On a site with many members it can take a few minutes; you can leave the tab open. Event-only steps show as instant, since no daily run sends them.
The Templates tab
Lists every Mailgun template name your automations reference, with the steps that use each. Check in Mailgun fetches the templates stored on your sending domain and marks each name found or missing; a missing template means that step's send fails. A fold-out lists templates that exist in Mailgun but nothing here uses, which is where a typo on one side usually shows up.
Opens, clicks and the Analytics tab
Tick Report opens and clicks on the Settings tab to collect the open and click events Mailgun records for automation emails. Whether Mailgun tracks them at all is your own setting there (Sending → Domain settings → Tracking), never overridden per message, and it needs the tracking DNS record verified; Validate credentials tells you if it isn't. Events arrive within about an hour. Open rates are directional, not exact: image blocking undercounts and Apple Mail Privacy Protection overcounts.
The Analytics tab has Sends by step, one row per step in the same order as the Automations tab, with Sent, Opened, Clicked, Converted and Last sent, and Recent sends. A conversion is a member who upgraded, renewed, converted a trial or un-cancelled within 30 days of their most recent automation email; it's credited to that email and recorded through the member webhook, so it needs instant sends set up.
Contributor access
If you give a contributor an Email Automations grant (Site settings → Users), manage lets them change the settings and automations.