Is there a way to keep the databse size smaller?

Hey there,
I have mautic running for about a month and it seems like the database size is over 100mb so far which mean it will be over 1gb really fast and in few years it will be way to big and hard to handle.

Is there a way for me to keep the seems to be smaller?

Is seems like the biggest database tables are: page_hits, email_stats, audit_log
Is there something i can do with them to make the size smaller?

For example is there a way on the page_hits database to limit the hits only to people who are on the list? I don’t need anonymous page hits.

If anyone has a suggestions that will be appreciated.

Hi, here is an article with actual numbers, commands, examples.


Thanks man, you are like the mautic whisperer/expert.

By the way if you are already here, did you find by any chance a work around to the mautic unsubscribe problem?

It seems like there is no way on the system to detect user unsubscribe. If there was a way to change user segment when he unsubscribe it would allow to do better thing with the system.

For example if a user that unseb from the system is still on a campaign mautic keep creating new data about the user scheduled emails.

When you have a lot of user it also counted to a lot of waste data and limit the option of what you can do on the system.

If by any chance you have an article that detect user that unsub and allow me to change is segment and remove campaigns that will be very helpful.

It’s not related to the question but at the moment the only way i see i can do that is with by passing mautic system with datbase query and changing things with the api which seems stupid.

Thanks again for your help

Hi, thank you for the kind words.
You can any time exclude unsubscribe people from segments:

(Important to say: “not equal: yes”, because this way empty value won’t be considered.)

Or is your campaign starting with a form?

Hey thank you, that is a great approach and that can work thanks.
I have campaign starting with forms and with segment.

I need to check if removing a user from a segment that trigger the campaign also stop the campaign.

By the way under mautic is that the only option to deal with unsubscribe people?

Is there more robust way that allow me for example to run a campaign with actions when any user unsubscrite with more options than just removing from a segemnt?

For example if i could automallycly add user to segment when he unsub that would be ideal but i wasn’t able to find a way to do that.

Thanks again for your help appreciate that.


If a person is removed from a segment, then the campaign which relies on that segment will be interrupted for that person. No scheduled campaign actions will be executed for that person who left the campaign.

You can’t really check for unsubscribe status (channel subscription status) as a field. But you can do one thing.

  1. Set up a new custom field called “kick out”
  2. Create a segment where you filter for “unsubscribe email does equal yes”
  3. Create a campaign with the segment above, where the only step is “kick out” value should be “yes”.

Now you can check in any campaign for the kick out value.
The campaign will siletly run in the background and do it’s job.

I hope this helps.

Hey thanks for your help, appreciate the time you put into the comment.
Sound like it’s something that might work well,

I will give it a try and see how it works,

It seems like if that will cause problems the only other option i see is to by base mautic while creating a query checking for new unsubscribe user and then do whatever i want.

By the way on your image in the filter it seems like you have the option “subscription expires” i wasn’t able to see it on my side. Did you install some extra code for that?

You are welcome.

“subscription expires” is a custom date field I’m using in a campaign.