I just wanted to share my use case with Mautic, as it may be a little unusual. I’ve been rolling out Mautic for our organization for the last few months, we’ve sent out around 500k emails so far. This is mostly a long winded explanation of how we’re using it and some of the issues we’ve run into, perhaps I’m missing something or someone out there has an idea on how I can accomplish something.
Our general setup is that our organization manages a central contact database of about 5M contacts. This is primarily divided among 67 geographical areas. We then allow users from each of these areas to ask for an account so they can send emails to the contacts in their area.
We had some specific expectations on permissions that we haven’t been able to completely replicate in Mautic from our previous platform.
Users should only have access to the contacts from their geographical region. Since this doesn’t seem to be possible in Mautic, we’ve hidden the contact list but allow users to create segments. Understanding they could technically create segments from any geographical area, we rely on trust and training to manage this.
Users need to be able to create segments from data points that aren’t being store in Mautic. We did create 24 custom fields, but there are other data points from a primary data source that we use to build lists. To accomplish this we now have a python script that reads a csv file, finds matching mautic contacts, creates new records for any unmatched, and then creates the segment.
Since we want these segments to only be usable by the individual user, our script uses the individual users credentials to create the segment so it’s owned by them.
We currently only use segment emails, and we send using a RabbitMQ and Supervisor combo to run workers to process the queue. This is processing emails very quickly, and we’re able to send 20+ emails per second, or at least queue them into our SMTP relay at that speed.
Some of the drawbacks we have with Mautic are centered around the fact it isn’t designed (from what I can tell) to separate users -
Users create an email, their images go into a single folder that all users can see, this will get very cluttered over time. Still looking for a better solution here.
Categories are global as well - I modified the twig templates to hide the category option from non-admin users
We’d like to have a home page dashboard to show announcements, training materials, etc. I created a landing page that has links to the training I’m creating, so we might modify a twig template to add a link to that at least.
We started by using the Company Name field for the name of the 67 geographical areas, but moved that to a custom field now as well, and may stop using the company field moving forward as the naming of that can be confusing to our users. Not sure if that is a “required” field for functions in Mautic.
Overall super happy with Mautic and the community here, so wanted to share our process so far. This is running on a Dreamhost dedicated server, 64GB ram but the MySQL is running in a docker container, and we’ve restrained memory use down as this is a server that houses several of our products.
Thanks for reading Happy to explore our use case with anyone here or in the Slack.
I feel your pain on a number of points, in saying that most of these are able to be overcome by writing custom plugins to do what you want here, that in my opinion is a great advantage to the open source bit of Mautic and the fact that you can write plugins to basically automate/do nearly anything you want.
We too have taken this into many different directions servicing companies like iGaming, financial trading platforms, B2B big business’s to small mom and pop type shops not even running ecommerce.
We have built numerous plugins for numerous of our clients that have turned into some useful plugins for most people using Mautic today.
One point that might be very cool for you regading #4 your dashboard is to look at integrating with Metabase, creating the widgets you want for your users and then to put these on a dashboard that can be bought into the Mautic instance in place of the default dashboard. We have a cool tutorial written up on this that you find fine here.
I do need to look at the plugin process, that’s a little more in-depth than I’ve done I think. Tonight I completed a web ui wrapper of our python script that reads the CSV, creates contacts, and then creates a segment. I want to add that to the dashboard area so our users can get to it easily, and I did have a tab open with Metabase as I did read that in another posting. I’ll have to move that up to the top of my list.
I’m fully willing to purchase plugins if others have created them too, so I’ll look through what’s out there and see if anything fits in.
I also meant to mention - the media management for things like images in segment emails in the builder I hope is something that is slated for some updates. I read some posts about that here and there, but one global bucket with no sorting, searching, or folders will grow into an issue for us the more users we bring on.
I also did meet with @mzagmajster in response to one of my first posts about permissions, we had a great conversation about options in custom development and plugins too. I am doing this as a volunteer project for a non-profit group, so resources are a little limited, but I am seeing a lot of potential for this application and if I can convince the organization to expand our use of it we could put a little budget behind it at some point too.
For separating access on contacts, segments, you can use Mautic’s built-in contact ownership functionality. There are ideas, where a contact can belong to groups, not only a single contact, which would be a solution for you.
Regarding email organization, try to install elfinder into the Email Builder. Here is a github repo, that started doing that, but discontinued for now: