What a Mautic implementation involves
Mautic is open source marketing automation software licensed under the GNU General Public License version 3 or later. It tracks contacts and companies, builds segments, runs campaigns and sends email, with forms, landing pages and website tracking feeding activity. It is a PHP application built on Symfony with a MySQL or MariaDB database.
Mautic was spun out of Acquia in 2023 as an independent, community-governed project. Its trademark is held by the Open Source Collective, the project's fiscal host, on behalf of the project.
Most of the work sits around the software: the contact model, consent records, segment and campaign design, sending domains, CRM synchronization and the cron jobs that do the processing. Discovery covers data sources, lifecycle stages, channels, privacy rules in each market and campaign approval.
Design the contact model and campaign structure
Mautic objects are quick to create and slow to clean up. Agree on conventions before marketers start building.
| Object | What to decide | Check |
|---|---|---|
| Contacts and companies | Custom fields, the system that owns each one, the unique identifier for matching records and whether company records are needed. | A form submitted with a known email updates that contact without creating a duplicate. |
| Segments | Filter-based segments for lists that maintain themselves, manual segments for one-off lists. Simple filters keep cron load down. | Segment counts match the source data for a sample. |
| Campaigns | Entry rules, decisions, actions and conditions, with naming and ownership rules. Several focused campaigns are easier to test than one large flow. | A test contact passes through every branch on staging. |
| Emails and preferences | Template emails for campaign steps, segment emails for newsletters, approved themes, frequency rules and the preference center. | An unsubscribed contact receives no further marketing email. |
| Forms and landing pages | Which forms are embedded on your sites, which landing pages Mautic hosts and the consent fields each records. | A submission records consent and starts the intended campaign. |
| Points and stages | Lead scoring rules and lifecycle stages that marketing and sales both accept. | A contact reaching the agreed score is pushed to the CRM. |
Set up email delivery
SMTP is the default transport. Mautic builds a Data Source Name (DSN) from the email settings; passwords pasted directly into config/local.php must be URL-encoded by hand. Choose a relay that handles your volume and returns bounce and complaint data.
Symfony Mailer transports for providers such as SendGrid install with Composer, but the Mautic documentation notes they send one email per request and do not handle bounce callbacks. Some provider plugins, including community plugins for Amazon SES, add batch sending or callbacks.
Queued delivery stores messages until messenger:consume email processes them, using Doctrine, Redis, AMQP, Beanstalkd or Amazon SQS. Set a time, memory or message limit on the consumer and configure a failure queue, because failed messages are discarded after the default three retries.
Process bounces through provider callbacks or a monitored mailbox read by mautic:email:fetch. Set SPF, DKIM and DMARC for each sending domain and raise volume gradually on new domains or IP addresses.
Configuration, plugins and custom code
Fields, segments, campaigns, themes and tracking settings are configuration and carry through upgrades. Code carries an upgrade cost.
Themes and builder
The GrapesJS-based builder edits emails and landing pages. Themes declare which builder they support, so keep a small set of tested brand themes.
Marketplace plugins
Plugins are Symfony bundles installed with Composer. The Marketplace needs a Composer-based installation, the default since Mautic 5. Check maintenance and version support.
Custom plugins
Custom integrations and campaign actions are written as plugins. Major releases have moved to newer Symfony and PHP versions, so budget for porting at each major upgrade.
CRM integrations
Mautic documents plugins for CRMs including Salesforce, HubSpot and Vtiger, with fetch and push commands run by cron. Map fields and conflict rules, and pass --integration to each command.
API and webhooks
The REST API accepts OAuth 2.0 or basic authentication, the latter only over HTTPS. Webhooks can send events immediately or through a cron-processed queue.
Migration, accessibility and rollout
Moving from another platform starts with consent records, unsubscribes, bounces and suppression lists. Import these first and map them to consent fields and do-not-contact status, so people who opted out never receive email from the new system. Emails, forms and landing pages are usually rebuilt from brand templates, and segment filters are checked against counts from the old platform.
Templates, landing pages and forms need labelled fields, alternative text, sufficient contrast and a logical reading order. Test them in the main email clients and with a screen reader.
Test campaigns on staging with seed contacts, then start with a small, recently engaged segment to build sender reputation. Train marketers on conventions and administrators on cron monitoring and upgrades.
Cron jobs and scaling
Mautic does most of its processing in console commands run by cron. Stagger the required jobs so they do not start in the same minute.
| Command | What it does | Planning note |
|---|---|---|
| mautic:segments:update | Rebuilds segment membership. | 300 contacts per batch by default; tune --batch-limit and --max-contacts. |
| mautic:campaigns:update | Adds and removes campaign members. | Schedule after segment updates. |
| mautic:campaigns:trigger | Executes scheduled campaign events. | 100 events per batch by default. Since 5.1 it runs campaigns newest first. |
| mautic:messages:send | Sends messages rescheduled by frequency rules. | Required when frequency rules apply. |
| messenger:consume email | Processes the queue when queued delivery is on. | Always set a limit so the process exits and restarts. |
| mautic:maintenance:cleanup | Purges old audit log entries and anonymous visitors. | Run with --dry-run first. --gdpr permanently deletes contacts inactive for three years. |
Hosting, security and privacy
Mautic's requirements state that it should not run on shared hosting. Plan a virtual or dedicated server, or containers, with a supported PHP version (Mautic 7.0 supports PHP 8.2 to 8.5), Apache or nginx, MySQL or MariaDB with InnoDB, and npm. Move cron and queue workers off the web servers when processing affects response times.
Use SAML single sign-on for Mautic users with a default role set, since SSO creates no users without one. Restrict the administration interface where possible while keeping tracking, forms, landing pages, unsubscribe links, the API and provider callbacks reachable. Apply patch releases promptly.
Record consent per purpose and load the tracking script only after your consent manager allows it. Anonymize IP stops Mautic storing full visitor addresses, and open pixels and trackable links can be turned off. Mautic skips tracking for requests with Do Not Track or Global Privacy Control headers.
Back up the database, config/local.php, uploaded assets and the Composer files that pin versions together, and rehearse a restore.
Versions, licensing and common questions
Which Mautic version should we run?
Mautic 7 is the current major series in active support. Free security support ended for Mautic 5 on 30 June 2026 and for Mautic 6 on 30 September 2026, with paid extended support (ELTS) available for a period after. New implementations should start on Mautic 7.
How often does Mautic release?
Patch releases monthly, minor releases about every three months and a major version about every two years. Security support covers Mautic itself; end-of-life dependencies and third-party plugins are outside it.
How do we upgrade from an older version?
Move to a Composer-based installation if you run a ZIP install, update plugins for the target version and check PHP and database versions. Upgrade a copy of production first and run a test campaign. Mautic 4 gets fixes only through paid ELTS, ending 31 December 2026.
What does the GPL mean for our custom plugins?
Mautic is GPLv3 or later. Source obligations apply when software is distributed, so plugins used only on your own instance need not be published. Ask counsel about any distribution case.
How many contacts can one instance handle?
There is no fixed figure. Capacity depends on segment complexity, campaign volume, cron timing and database sizing. Load test with a copy of your data and the planned cron schedule.
Mautic operating ownership
Mautic needs owners for the platform, the campaigns, deliverability and personal data.
Platform team
- Runs servers, database, cron and queue workers.
- Applies patch releases and plugin updates.
- Monitors job duration and database growth.
Marketing operations
- Owns naming conventions.
- Reviews campaigns before launch.
- Retires unused segments and campaigns.
Deliverability
- Maintains SPF, DKIM and DMARC.
- Watches bounce and complaint rates.
- Manages suppression lists.
Privacy
- Defines consent fields and retention.
- Handles access and deletion requests.
- Reviews tracking and cookie consent.
Scope and handover
Effort depends on data sources and CRM integrations, contact volume, campaigns and templates to rebuild, the markets and consent rules involved and any custom plugins.
DeployOpen runs discovery, designs the contact model and campaign conventions, deploys Mautic in your infrastructure, configures email delivery, builds themes and plugins, connects your CRM and websites, migrates contacts and consent records and trains your team. For regulated organizations it can add security testing and GDPR-related technical work. Handover includes the data model and naming guide, plugin inventory, cron configuration, deliverability settings, restore test results and an upgrade plan.

