How to Use Mautic: The Beginner's Guide to Self-Hosted Marketing Automation

CodexFuse Team · 2026-11-01T01:00:00.000Z · 14 min read min read

The complete Mautic beginner guide: install, cron jobs, SMTP, segments, campaign builder, drip campaigns, lead scoring, and deliverability — in one page.

Every marketing automation vendor charges you more as you grow: per-contact tiers, per-email add-ons, and "enterprise" features locked behind sales calls. Learning how to use Mautic is learning how to step out of that trap entirely — Mautic is the largest open-source marketing automation platform in the world, and it gives you unlimited contacts, campaigns, and automations on your own server for the price of hosting. As of this writing, the current release line is Mautic 7.2.2 (released October 26, 2026, per the GitHub release feed), with roughly 10,885 GitHub stars and a GPL-3.0 license. This mautic tutorial for beginners runs the complete arc in one guide: install Mautic, the cron-job rule beginners get wrong, SMTP setup, your first segment, your first template email, the campaign-builder lesson, your first drip campaign, lead scoring, and the deliverability lesson. If you can run a container, you can run Mautic — our Docker beginner guide gets you the runtime in minutes, and this guide does the rest.

What is Mautic, exactly?

Mautic is a free, self-hosted marketing automation platform that does what Mailchimp, HubSpot, and ActiveCampaign charge monthly fees for: collecting contacts, segmenting them, sending personalized email campaigns, scoring leads, and building multi-channel automation workflows — with no per-contact pricing and full ownership of your data. "Self-hosted" is the whole point: Mautic runs on your server (typically PHP 8.2+ with a MySQL database, or the official Docker image), your contacts live in your database, and your sending goes through your own email transport or a transactional service like Amazon SES. Because there are no license costs or feature gates, the real cost of Mautic is your time to set it up — and the deliverability is yours to earn, not the vendor's to guarantee. Here is the 10-step beginner arc this guide follows — the complete mautic for beginners curriculum on a single page:

  1. Confirm your prerequisites — a VPS, a domain, PHP 8.2+ and MySQL (or the Docker image).
  2. Install Mautic with the official mautic/mautic Docker image.
  3. Set up the cron jobs — the #1 reason beginner installs "do nothing."
  4. Connect your email transport with a Symfony Mailer DSN and queue mode.
  5. Learn the segments rule — Mautic has no lists, only smart segments.
  6. Create your first segment and add contacts the right way.
  7. Build your first template email (and learn broadcast vs campaign emails).
  8. Master the campaign builder — sources, actions, decisions.
  9. Launch your first drip campaign with a welcome sequence.
  10. Turn on lead scoring and fix deliverability with SPF, DKIM, and DMARC.

What do I need before installing Mautic?

A machine that is always on and a domain you control. Mautic is a server application, not a desktop tool: it needs a VPS with at least 2 CPU cores and 4 GB of RAM for real use (per the Elest.io production guide, that tier handles roughly 50,000 contacts), a domain with working DNS so you can set up SPF, DKIM, and DMARC later, and either the official Docker image or a PHP 8.2+ stack with MySQL 8.4+. If you do not have the machine yet, read what is VPS hosting before spending money — and do not install Mautic on shared hosting without checking that you can run cron jobs, because Mautic without cron is decoration.

How do I install Mautic?

Use the official mautic/mautic Docker image — it is the simplest path that keeps PHP, web server, and dependencies at supported versions. The simplest correct mautic install in 2026 is one compose file with Mautic plus MySQL:

services:
  mautic:
    image: mautic/mautic:7-apache
    ports:
      - "8080:80"
    environment:
      MAUTIC_DB_HOST: mautic-db
      MAUTIC_DB_USER: mautic
      MAUTIC_DB_PASSWORD: change-me
      MAUTIC_DB_NAME: mautic
      MAUTIC_RUN_CRON_JOBS: "true"
    volumes:
      - mautic-data:/var/www/html
    depends_on:
      - mautic-db

  mautic-db:
    image: mysql:8.4
    environment:
      MYSQL_ROOT_PASSWORD: change-me
      MYSQL_USER: mautic
      MYSQL_PASSWORD: change-me
      MYSQL_DATABASE: mautic
    volumes:
      - db-data:/var/lib/mysql

volumes:
  mautic-data:
  db-data:

Two notes before you run it. First, use a named volume for both services — Mautic's media, config, and the database all live outside the container, and deleting containers without named volumes deletes your work. Second, put Mautic behind HTTPS before you log in: the compose file exposes plain HTTP on port 8080, so terminate TLS in front of it with a reverse proxy — our Caddy beginner guide does this in a handful of lines. After the first boot, the web installer finishes the database setup; then your most important job begins: the cron jobs.

Why are Mautic's cron jobs the #1 beginner failure?

Because Mautic's automations do not run when you click things — they run when the server's scheduler fires console commands. Unlike WordPress, Mautic does nothing "because someone visited the dashboard": segments are rebuilt by cron, campaign membership is rebuilt by cron, campaign events are executed by cron, and queued emails are sent by cron. The official documentation (docs.mautic.org, cron jobs reference) lists three required jobs, staggered so they never start in the same minute:

Cron commandWhat it doesWhen to run
mautic:segments:updateRebuilds smart-segment membership from current contact data (batches of 300 by default)Every 15 min: 0,15,30,45
mautic:campaigns:updateAdds eligible contacts to campaigns based on segmentsEvery 15 min: 5,20,35,50
mautic:campaigns:triggerExecutes scheduled campaign events (send email, wait, decide)Every 15 min: 10,25,40,55
messenger:consume emailProcesses the queued-email worker (Mautic 5+)Every 5 min with a time limit
mautic:broadcasts:sendSends scheduled segment (newsletter-style) broadcastsEvery 15 min
mautic:email:fetchFetches bounced email for bounce managementEvery 15 min
mautic:messages:sendSends frequency-rule-queued marketing messagesEvery 15 min

The practical rule from the Hawk Host tips guide (August 2026): create the first three as separate cron entries with staggered minutes, pointing at your PHP binary and bin/console inside the Mautic directory — a Softaculous one-click install does not create these for you. The symptom of missing cron is the cruelest in self-hosted software: the dashboard looks perfectly healthy while segments stay empty, campaigns never fire, and emails never send. If your first campaign "does nothing," check crontab -l before you debug anything else — the mautic cron jobs are the usual suspect.

How do I set up Mautic's SMTP and email transport?

Mautic 5 and later configure email through Symfony Mailer's DSN format, not the old transport dropdown — this is the current mautic smtp setup. Go to Settings > Configuration > Email Settings in the admin panel and enter your DSN — for Amazon SES it looks like mautic+ses+api://ACCESS_KEY:SECRET_KEY@default?region=us-east-1 (format per the Elest.io guide, updated October 2026). The critical choice on that screen is the delivery mode: set it to Queue, not "Send immediately." In immediate mode, sending happens inside the web request — the browser hangs, timeouts kill big sends, and errors vanish. In queue mode, emails are written to the spool and the messenger:consume email cron worker drains them in controlled batches. For production sending, use a transactional provider (Amazon SES, SendGrid, Mailgun) rather than your server's own mail agent: they handle bounces, feedback loops, and IP reputation. Your own server's PHP mail might work for a few hundred test emails a day, but shared-hosting mail servers will get your domain throttled or blacklisted long before you notice.

Mautic segments vs lists: what is the difference?

Mautic has no lists — only segments, and that distinction is the first mental-model shift a beginner must make. A list is a static bucket you put contacts into; a segment is a live query that re-evaluates membership on every rebuild. When you define a segment as "newsletter subscribers who opened an email in the last 60 days," Mautic checks every contact against those filters each time mautic:segments:update runs, adding and removing people automatically as their behavior changes. This is why the cron job and the concept are the same lesson: without the rebuild, a segment is a frozen snapshot that silently lies about who is in it. Keep segments boring and broad at first — "Newsletter subscribers," "Downloaded the eBook," "No activity in 60 days" — because clever overlapping segments are the fastest way to build a mess you cannot explain six months later (the naming-convention rule from Hawk Host's tips piece).

How do I create my first segment and add contacts?

Create the segment first, then capture contacts into it — never the reverse. In the admin panel go to Segments > New, give it a descriptive name like SEG - Newsletter - Main Site, and add a filter: Contact Field > Email is not empty is the simplest meaningful start. Then go to Components > Forms > New and build one simple newsletter signup form with name and email fields, set its submit action to "Add contact to segment" pointing at your new segment, and embed the form on your site with the provided HTML or the Mautic tracking script. Submit it yourself as a test, confirm the contact appears in the segment after the next cron run, and only then build anything else. The naming-prefix habit (SEG -, FORM -, EMAIL -, CMP -) looks silly with four assets and saves hours with four hundred — this is the single most repeated piece of advice in the beginner literature, and it is worth adopting on day one.

How do I create my first template email in Mautic?

Mautic's email builder has two different email types, and beginners confuse them constantly: segment (broadcast) emails and campaign (template) emails. A segment email is a one-time newsletter-style send to a whole segment, scheduled and fired (by the mautic:broadcasts:send cron). A template email is built once and reused inside campaign workflows, sent to contacts one by one as they reach the step — the "Send email" action in the campaign builder. Write them differently: broadcasts can feel like announcements, but campaign emails should read like one human wrote to one human, because they arrive as part of a personal journey. To build your first: Channels > Emails > New, choose the template type, pick a starter theme, keep it short (a welcome email does not need a hero image), personalize with contact tokens like {contactfield=firstname}, and send yourself a test before anything else. Name it EMAIL - Welcome - New Subscriber, not "Test Email."

How does the Mautic campaign builder work?

The campaign builder is Mautic's visual workflow canvas, built from three block types: contact sources, actions, and decisions. Sources bring people in — typically a segment ("everyone in SEG - Newsletter") or a form submission. Actions do things to contacts: send an email, add or remove points, add tags, push to a CRM, fire a webhook. Decisions branch on behavior: did the contact open the email? Green path continues, red path diverts. Here is the classic first welcome sequence, which you should build exactly like this and run on yourself first:

[Contact source: SEG - Newsletter - Main Site]
        |
  (Action) Send EMAIL - Welcome - New Subscriber ... immediately
        |
  (Action) Wait 2 days
        |
  (Decision) Opened Welcome Email?
       /          \
     Yes           No
      |             |
  Send EMAIL -   Send EMAIL - Reminder - Check this out
  Feature Guide
      |             |
  (Decision) ...  Wait 3 days, check opens again
                  /           \
                Yes            No
                 |              |
        Send Feature Guide   Tag "cold-lead",
                             remove from campaign

Every node in that diagram is executed by the mautic:campaigns:trigger cron — building the workflow without the cron is drawing a map of roads that are never driven. One more beginner rule from the tips literature: a campaign must have one clear goal. If you cannot explain the full journey in three sentences, split it into two campaigns.

How do I build my first drip campaign?

A drip campaign is just a campaign with timed waits between emails — the welcome sequence above already is one. To make it production-ready: set the campaign's publish dates so it cannot fire before you are ready, attach the contact source segment, wire the decision branches with explicit wait periods (2 days, then 3 days), add a "Remove from campaign" exit for the cold path so dead contacts do not loop forever, and run it on yourself before real contacts. The self-test is non-negotiable: submit your own form, wait through the cron cycles, confirm the welcome email arrives, ignore it deliberately to walk the "No" path, and confirm the reminder arrives three days later. Only when every path has been walked by a test contact should you attach the real segment. This is the Hawk Host "start with one tiny funnel" rule, and it exists because the #1 beginner disaster is a branching campaign with a logic error discovered only after it has emailed real people.

How does Mautic lead scoring work?

Lead scoring assigns points to contacts for behaviors you care about, so sales attention goes to the interested and not the one-PDF-downloaders. Go to Points > Manage Actions and create scoring rules with a simple, defensible table like this one (values per the Elest.io production guide):

BehaviorPoints
Opens an email+5
Clicks a link in an email+10
Visits the pricing page+15
Submits a contact form+20
Downloads an asset+10
No activity for 30 days−15

Then go to Points > Manage Triggers: when a contact crosses a threshold (say, 50 points), automatically add them to a "Marketing Qualified" segment, push them to your CRM, and email your sales team. Mautic 5 added point groups, which let you score along multiple axes (product interest, engagement, content appetite) instead of one number. Keep the scoring conservative at first — inflated scores route cold leads to sales, which destroys trust in the system faster than anything else.

Mautic vs Mailchimp: how do I decide?

Choose Mautic when you want to own the platform; choose Mailchimp (or HubSpot, or ActiveCampaign) when you want to outsource it. The honest comparison:

Mautic (self-hosted)Mailchimp (SaaS)
License costFree (GPL-3.0); you pay for the serverFree tier limited; paid tiers scale per contact
ContactsUnlimited, in your databasePricing tier grows with your list
FeaturesEverything included: campaigns, scoring, API, webhooksAdvanced features gated behind higher tiers
Setup effortReal: install, cron, SMTP, DNS, maintenanceMinutes: sign up and go
Data ownershipFull — it is your serverHeld by the vendor; export when you leave
DeliverabilityYours to earn (SPF/DKIM/DMARC, warmup)Shared vendor reputation helps at small scale
Best forTeams with a server and a growth listTeams that want zero infrastructure work

The crossover is simple math: if your SaaS bill grows with every subscriber and you already run a VPS, self-hosting wins within months. That is the self hosted email marketing trade in one sentence — own the infrastructure, keep the contacts, earn the deliverability. If all you need is newsletters, Mautic is overkill — a purpose-built newsletter tool (the single-channel newsletter lane in our queue) is the lighter honest choice, and Hawk Host's own tips piece says exactly that.

How do I fix Mautic email deliverability?

Deliverability is not a Mautic feature — it is DNS, reputation, and habits. Mautic handles the sending; whether inboxes trust you depends on three records and good behavior. First, fix your DNS before you send anything real: an SPF record authorizing your sending host, a DKIM record signing every message, and a DMARC policy telling receivers what to do with failures. Without these, your emails are spam-folder candidates regardless of how beautiful the templates are (the Hawk Host reality check). Then: warm up gradually — start with low daily volume to your most engaged contacts and ramp up over weeks, never import old stale lists to inflate your count, make unsubscribing easy and immediate, clean dead contacts before they rot your sender reputation, and watch bounce and complaint rates like a hawk. If you use a transactional provider like SES, set up bounce and complaint feedback so Mautic's mautic:email:fetch cron can mark dead addresses automatically instead of letting you re-mail them forever.

What are the 7 mistakes beginners make with Mautic?

MistakeWhy it hurtsThe fix
No cron jobsSegments, campaigns, and emails silently do nothingInstall the 3 required jobs first, staggered, before building anything
Installing via Softaculous and assuming cron is configuredOne-click installs skip the cron setupVerify with crontab -l and add them manually
"Test Email" naming everywhereFour hundred assets later, nothing is findablePrefix convention from day one: SEG -, FORM -, EMAIL -, CMP -
Treating segments as listsMembership logic is misunderstood; people get emailed wronglySegments are live queries — rebuild them and design filters accordingly
Branching campaigns on day oneLogic errors reach real contactsOne tiny funnel, self-tested end to end, then expand
Send-immediately mode at volumeBrowser timeouts, lost sends, hung requestsQueue mode + messenger:consume email cron
Sending before SPF/DKIM/DMARCEverything lands in spam; reputation is burned earlyDNS records first, warmup second, volume third

Where does Mautic fit in a bigger automation stack?

Mautic's REST API and webhooks make it the email engine inside a larger self-hosted stack. Fire a webhook on any event — contact created, email opened, form submitted, points threshold crossed — and connect it to n8n, your workflow orchestrator, for things Mautic does not do natively (SMS via a gateway, Slack notifications to sales, syncing to a custom CRM). That division of labor is the healthy pattern: Mautic owns contacts, segments, and email journeys; n8n owns the glue between Mautic and everything else. Do not try to make Mautic your CRM, your help desk, and your analytics suite — the tips literature is explicit that scope creep inside the platform is where self-hosted marketing automation goes to die.

Sources

  • GitHub mautic/mautic releases API — v7.2.2 released 2026-10-26 (current line), v6.0.10 and v5.2.12 same day; ~10,885 stars, created 2013-08-19; composer.json license field: GPL-3.0
  • Docker Hub mautic/mautic tags API — official image with versioned apache variants (e.g. 6-apache), updated 2026-10-26
  • docs.mautic.org — cron jobs reference (required: mautic:segments:update, mautic:campaigns:update, mautic:campaigns:trigger; optional: mautic:broadcasts:send, mautic:messages:send, mautic:emails:send, mautic:email:fetch) and the 7.2 CLI command reference
  • Hawk Host — "Mautic Tips and Tricks" (2026-08-17): naming conventions, one tiny funnel self-test, cron checks, segment discipline, deliverability reality check (SPF/DKIM/DMARC)
  • Elest.io — "Mautic on Elestio" (updated 2026-10-11): Mautic 5+ Symfony Mailer DSN format (mautic+ses+api), queue mode, campaign-builder blocks (sources/actions/decisions), point table values and point groups, cron list with messenger:consume, 2 CPU / 4 GB guidance
  • Dev.to (Vultr) — "Deploying Mautic" (99 days old): Ubuntu 24.04 + PHP 8.3 LEMP install arc, cron list, triggered vs segment email types
  • araixuniversity.com — "Beginner Guide to Mautic" (299 days old): form → segment → email → campaign first-arc, third-party email server advice

Frequently Asked Questions

Is Mautic really free?

Yes. Mautic is open source under the GPL-3.0 license — no license fees, no per-contact pricing, no feature gates. Your costs are the server it runs on and (usually) a transactional email provider like SES or SendGrid for actual sending.

Do I need cron jobs for Mautic?

Yes — they are mandatory. Without mautic:segments:update, mautic:campaigns:update, and mautic:campaigns:trigger running on a schedule, segments never rebuild, campaigns never fire, and queued emails never send. The dashboard will look fine while nothing happens.

What is the difference between Mautic segments and Mailchimp lists?

A list is a static bucket you add people to; a Mautic segment is a live filter that re-evaluates every contact on each rebuild. People enter and leave segments automatically as their data and behavior change — which is why the rebuild cron job matters.

Can Mautic replace HubSpot?

For email campaigns, lead scoring, segmentation, and automation workflows, yes — that is exactly what Mautic is built for. It does not replace HubSpot's sales CRM, ticketing, or reporting depth, but it pairs well with a dedicated CRM via its API and webhooks.

How do I keep Mautic emails out of spam?

Set SPF, DKIM, and DMARC on your sending domain first, warm up new IPs/domains gradually with engaged contacts, use a reputable transactional sender for volume, clean bounces and complaints automatically, and never buy or scrape lists.

Featured on Twelve Tools Launch Llama Tools Launch your MCP