This is the shortest path from an empty account to a real campaign, in dependency order. Each step exists because the next one needs it.
1. Create the legal entity
Everything hangs off this, and retrofitting it is tedious.
A legal entity carries the legal name, country code, postal address, and privacy contact email of the company that is actually the data controller. Compliant marketing email is required to carry that identity, so it is not administrative decoration — it is what goes in the footer.
If you run brands under different companies, create one entity per company. If everything sits under one company, one entity covers all your brands.
2. Create the brand
A brand is the isolation boundary. It carries:
- A name and a URL-safe slug.
- Default sender name and default reply-to.
- Default locale and timezone.
- A primary colour and logo.
- The privacy policy URL for this brand.
Everything you create from here on belongs to a brand: audience, consent, domains, templates, campaigns, workflows, reporting. Nothing crosses between brands, so it is worth getting the boundary right before you load data.
3. Add and verify domains
Add a domain per purpose. The purposes are:
sending— the domain your mail is sent from.tracking— the domain that handles link tracking and opens.return_path— the bounce-handling domain.landing_page— where hosted pages and preference centres are served.
Domains start pending and become verified through an explicit verification step. Do not proceed to sending until verification completes — an unverified sending domain is the most common cause of a bad first week.
4. Connect a provider
Choose the provider account you already own: SMTP, Amazon SES, SendGrid, Mailgun, Postmark, or Brevo.
Set the connection’s purpose (marketing, transactional, or both), then store the credentials. Credentials go to a dedicated endpoint and are encrypted server-side — they are never returned by the API afterwards, so keep your own copy where you normally keep secrets.
Then run the connection test. It validates the provider against real health checks. Do not skip it; a failed test here is five minutes, and a failed first campaign is a week.
Optionally set the hourly, daily, and monthly limits and max concurrency to match what your provider account actually permits.
5. Create a sender profile
A sender profile is the identity you send as. It pins together:
- A from-name and from-email, plus an optional reply-to.
- A verified provider identity.
- A verified sending domain.
- A message class —
marketingortransactional.
Because the profile references a verified domain and a verified provider identity, misconfiguration is caught here rather than at send time.
6. Define subscription topics
Topics are the consent choices your subscribers will see. Each has a key, a name, a description, a default frequency, and a transactional flag.
Define these before you build forms, because forms map to topics and preference centres are built from them. A common starting set is one topic for product or company news and one for promotions — enough granularity to be useful, not so much that the preference centre becomes a survey.
7. Build capture
Create a form for the brand, bound to a website with explicit allowed origins. Set the opt-in mode — double is the default and the right choice unless you have a specific reason otherwise. Map the form to your topics, marking each as preselected or required, and to any lists and tags you want applied on submission.
Publish a preference centre at the same time. It costs ten minutes and it is what turns future unsubscribes into downgrades.
8. Create content
Build a template. Templates are email, transactional, or rss type, and they live in draft until you publish.
Publishing freezes an immutable, hash-verified version. Campaigns reference the version, not the draft — which is what makes “what exactly did this contact receive” answerable months later.
Build any repeated sections — header, footer, offer blocks — as reusable content blocks first, and composite them in.
9. Set frequency caps
Before the first campaign, not after. Define at least one cap at brand level for the marketing class: a maximum number of messages within a rolling window.
This is cheap insurance. Caps are enforced across campaigns and automations alike, so once set they protect you from the compound over-sending that happens when a campaign and a lifecycle flow both look reasonable in isolation.
10. Send
Create the campaign: brand, name, message class, topic, template version, sender profile, subject, and preheader. Compile the audience, review the per-recipient status — including anyone excluded and why — and schedule.
Schedule types are immediate, fixed, recipient_timezone, recurring, and rss. For a first send, immediate to a small engaged segment is the right choice.
What to do next
Once one brand is live end to end, the second takes about twenty minutes. Repeat steps 2 through 9, reusing the legal entity if the company is the same and the provider connection if the account is.
Then read the deliverability guide before you raise volume.