macrostack
Migration guide · Layer 5

HubSpot → Mautic

What it saves, what actually moves, what you rebuild — and the thing that catches people.

What it costs, and what it saves

HubSpot's Marketing Hub pricing page, read on 2026-10-03, shows two figures for each tier beside its billing-term toggle: Starter at $7 or $20 per seat a month, and Professional at $800 or $890 a month with 3 core seats, 2,000 marketing contacts, extra seats from $45 a month and a required one-time onboarding fee of $3,000. Enterprise starts at $3,600 a month with 5 core seats, 10,000 marketing contacts and a $7,000 onboarding fee. The first year of Professional therefore costs about $12,600–13,680 depending on the term. Mautic is free open-source software, and the project sells no hosted plan, so you pay for a server and an email service. A 4 GB DigitalOcean Basic droplet is listed at $24 a month (whether it is enough is an estimate). Amazon SES lists $0.10 per 1,000 emails à la carte, so 100,000 emails a month costs about $10.

86
Mautic
GPL-3.0
Effort: Estimate: 3–6 weeks for a small marketing team. Allow about a week for the server, email transport and domain setup, one to two weeks to rebuild emails, forms and campaigns, and one parallel newsletter cycle before cutover.

Moves cleanly

Contacts and companies move by CSV. HubSpot exports records as CSV, XLSX or XLS with all properties and associations, and the download link stays valid for 30 days. Mautic's importer (Contacts > Import) maps columns to core and custom fields and assigns an owner, segment and tags to the whole file. It updates existing contacts that match on email or on any field marked as a unique identifier, and it stores a Do Not Contact column as a Manual Unsubscription. Large files run in the background through cron (mautic:import, 100-row batches by default). HubSpot also exports landing pages, blog posts and templates as HTML that you can rework.

You rebuild

HubSpot's export guide offers marketing-email performance data, not the email designs, so templates are rebuilt in Mautic's builder. Workflows export only as a spreadsheet summary or as PNG images, and you rebuild them by hand as Mautic campaigns. Lists become segments, lead scoring becomes points, and forms are rebuilt. Mautic's tracking script replaces HubSpot's tracking code. Past email opens, clicks and page views do not carry over.

What HubSpot costs you today

Free CRM tier with unlimited users and limited features. Paid Hubs are priced per seat for Sales and Service, and by MARKETING CONTACT for Marketing Hub — that second axis is what surprises people, because the bill grows with list size rather than headcount. Professional tiers step up sharply from Starter and have historically carried a mandatory one-off onboarding fee in the thousands. Contracts are annual by default.

What actually holds you in

Contacts, companies and deals export cleanly as CSV. Almost nothing else does. Workflows, sequences, lifecycle-stage logic, email templates, custom report definitions and dashboards have no portable format, so the migration cost is rebuilding the automation rather than moving the records. Landing pages and forms built in HubSpot's CMS stay behind entirely.

What you are moving to

Campaign builders, drip sequences, lead scoring, landing pages and segmentation, self-hosted. Pair it with a CRM rather than treating it as one: it replaces what Marketing Hub does, which is usually the expensive half of a HubSpot bill.

Free / self-host (you pay your server and an SMTP sender)

Mautic strengths

  • Directly replaces the contact-metered part of the bill, which is where HubSpot costs escalate
  • Campaign and lead-scoring depth that genuinely competes with paid marketing tools
  • Integrates with EspoCRM and most open CRMs rather than demanding to be the system of record

What you give up

  • You inherit email deliverability — sending reputation, SPF, DKIM, DMARC and bounce handling
  • Setup and upgrades are more involved than a CRM alone
  • Not a CRM: run it alongside one, never instead of one

The migration, step by step

  1. 1Set up Mautic on a server that meets its requirements: PHP 8.2–8.5 for Mautic 7, a PHP memory limit of at least the suggested 512M, and cron jobs. Connect an email transport such as SMTP or Amazon SES, with your sending domain verified at that provider.
  2. 2Create Mautic custom fields for the HubSpot properties you use, including lifecycle stage, lead score and the HubSpot record ID. Mark any field you will match on as a unique identifier.
  3. 3Export all contacts and companies from HubSpot with all properties. Keep the 'Unsubscribed from all email' property in the file and map it to Mautic's Do Not Contact column during the import.
  4. 4Import companies, then contacts, in the background through cron. Then rebuild segments, points, forms, email templates and campaigns, using the workflow spreadsheet and PNG exports as your reference.
  5. 5Run both in parallel. Add Mautic's tracking script next to HubSpot's on the site, send one low-risk newsletter from Mautic, and check how it handles delivery, bounces and unsubscribes through the webhook callback or a monitored inbox.
  6. 6Cut over. Export contacts changed since the first pass and import them in update mode. Switch forms and tracking to Mautic, and turn off HubSpot workflows so nobody gets two emails. Then downgrade HubSpot.

The gotcha

Consent is the part that goes wrong. HubSpot's export guide says an export of all contacts includes unsubscribes unless you filter on 'Unsubscribed from all email'. If you import that file into Mautic without mapping the property to the Do Not Contact column, your first segment email reaches people who opted out. Mautic's HubSpot plugin will not pull the full list either. Its docs say that on a long-lived HubSpot instance, the endpoints it uses return only contacts modified in the last 30 days, so the sync is incomplete unless you modify every record. Use the CSV export, map the unsubscribe property, and check that Mautic's Do Not Contact count matches HubSpot's before you send anything.

When to stay on HubSpot

Stay on HubSpot if sales and service also run in its CRM, because moving only marketing means building and maintaining a sync between two systems. Also stay if you rely on its built-in reporting, ads and social tools, or features that run on HubSpot Credits. It is the honest choice, too, when nobody will own email deliverability, server upkeep and cron jobs, all of which Mautic hands to you.

Compare firstAll 5 HubSpot alternatives, rankedWhere this sitsLayer 5 — Applications

More Layer 5 migrations

Figures verified 2026-09-01 against vendor pricing pages. Prices change and migrations differ by estate — treat the cost delta as a starting model, not a quote. Rankings and recommendations here are merit-only; affiliate income never changes a verdict. See our methodology.

The Macrostack brief

New swaps, worth your inbox.

A short, occasional email when we add a high-intent alternative or ship a new head-to-head. No spam, no selling your address — unsubscribe in one click.