Stuck with DNC and Preference center

Your problem
My problem is:
For GDPR we need people to be able to unsubscribe. There are multiple ways to do this.

1. Adding a DNC to a contact
This would make sure they are eliminated from all mailing lists and will not receive any mails. Problem? People that unsubscribed should not receive any marketing mails BUT according to GDPR, they are still allowed to receive transactional mails or - if they are a client - any non-commercial email. That’s not possible using this solution.

2. Using the preference page
This way they would be able to chose what mails to receive by checking/unchecking the segments. But these are only the segments that are made visible in the preference center. Not all of the segments. So if a contact would uncheck all, they might still receive emails. From different segments that are not visible or from new segments added in the future.

Solutions I thought of:

  • Using “main segments” that are shown in the preference center and make all other segments dependent by adding a filter first to make sure they are in one or more of the “main segments”. This has a lot of room for error especially when many people are working on the same Mautic instance.

  • Using a custom boolean field for every “subject” they want to receive mails for. Similar to the above in practical use. Again filtering every segment first. Again a lot of room for error.

  • It would be great if an email had a setting to overwrite DNC’s. For that mail specifically.

  • Have a separate DNC for Email: Marketing and Email: Transaction

What am I missing? How are others doing this?

1 Like

Sadly I haven’t found a solution yet, just having the same issue trying to switch from other mailing software. Did you find a way to implement the custom boolean field on the preferences page? I only found this suggestion.

Another problem I noticed: We have multiple types of users and they don’t need to see every segment that’s set to public. At the moment I can only set them to public for everyone and users could subscribe to a segment that doesn’t matter to them at all.

Hi @mikevh,
first and foremost, you are not the first and will not be the last person encountering this issue. And let me tell you, there is no “perfect” way, but a couple of feasible solutions.

Coming with Mautic 5, you will be able to Transactional Mails to contacts having a DNC. But until we have a stable Mautic 5 release, this is my solution:

I manage unsubscribe through an unsubscribe-Campaign. I do not use the default unsubscribe system by Mautic, but rather have a Link to selfmade landingpage in the footer of each email.

The unsubscribe-campaign start from an “All Contacts” segment and just waits for a pagevisit from said email footer to that selfmade landingpage. If someone clicks the link, my campaign actions start rolling.

Mostly they consist of adding Tags like “Unsubscribe” which affects my segments or directly removing the contact from segments, but that differs from system to system and setup to setup.

I hope that might gave you some inspiration on how to tackle this issue.



Thanks Leon!

Hi @mikevh,

I went through this recently too. @Leon_Oltmanns’s approach sounds like a great way to do it.

Just to add some more inspiration, in our case we already had an Account screen in our main web app and didn’t want to add another preferences screen from Mautic. We only use DNC for bounce/spam-triggered events and we use contact tags to track which segment / list the user belongs to.

We set it up so the user would have a 1-click unsubscribe link from the footer of each email. That link calls a script on our server that receives the user’s email address and list tag, and unsubscribes them from Mautic using the Mautic API Mautic Developer Documentation. We also offered an Unsubscribe All option that would basically just remove all the list tags from the user’s contact record. (In our setup every list-related contact tag ends with “List” so it’s easy enough to remove all).

This approach still lets us do the occasional transactional email if required (e.g. for legal-related items like a Terms of Service update).

Re GDPR, we give the user the right to be forgotten by deleting their account from our system. When that happens, we use the REST API to delete their contact record from Mautic altogether. I’m not sure if that’s required for GDPR but that’s how we interpreted it. We just implemented in August/September and Mautic has been great… good luck with your migration!