Why NOT to allow sending marketing emails to the same contact multiple times

Hello,

I’d like to reflect to this conversation regarding sending emails with the same ID to the same person multiple times.
https://forum.mautic.org/t/allow-campaigns-to-send-marketing-emails-multiple-times/35653/5

There is a very good reason why this is not possible in Mautic, and I’d like to defend it.
I didn’t want to reopen that discussion cause it is a valid solution, I wanted to start a new discussion, because the dangers are not explained there.

@andrew_c3 , I’m reflecting on your comments. Just want to make sure you are aware of the dangers.

I have been working with segment emails which by default only allow you to send one email to a contact in the relevant segment. For some this is ok. But why limit it to one ?

You can send the SAME email to the SAME contact ONCE. The reason is, that this allows you to add contacts continously to the segment, and if the sending window is open the new contacts will receive that message once they joined the segement.

OR

If you have a contact in Segment A and Segment B, and you send an email to Segment A, then yuo decide to send to Segemnt B as well, you won’t sell the email 2x to this person.

Why would you want to send an email with the same Email ID to the same person? How would you manage the statistics for it? (open, time to open, unsubscribe?)

However if some contacts in the segment have typos in there email address the first send fails. If you correct the email typo the segment email is never resent.

  1. Tag your contacts who failed
  2. Create a segment with the people tagged + ‘has received email 1’
  3. Send to this segment

Cloning a segment email seems inefficient. Why not allow the the re-sending of emails to the same segment email multiple times without cloning ? Why clone if they are the same ?

It’s 2 clicks: clone + ok.
The point is, that each email has an email ID. If you clone, you’ll know who you resent to. If you keep sending the same email, you won’t know at all.
If you send the same email over and over again, how would your statistics look like?

Also from a testing point of view you may wish to resend the same segment email many times and you have to do that via a clone. Again multiple sends would be a big time saver during development of emails.

You can use the “send test feature”, and for the final test you can use the segment email. Clone and send. That easy.

The logic for sending one or many copies of the same segment email is a valid one. Why limit how many times a segment email can be sent.

It will create a mess, and you’ll never figure out why your numbers are not matching.
Once you schedule an email and people enter/leave a segment, you’ll send them the email over and over again.
There is a huge risk of creating sending loops.

You can make internal rules to limit the way you send emails and manage segments, for Example:

  • don’t use filters in Segements, especially not based on emails senr or opened or clicked
  • don’t use schedule emails, just wait until the progress bar sends the emails

But then why use Mautic?

Joey

Hello joeyk,

This is why I’m advocating for the ability to resend segment emails in part or in whole.

Scenario

I wish to have a segment email campaign to inform contacts about a particular product launch.
I wish to run that campaign for twelve months as it does not change.
Over the next twelve months I add contacts to the segment so that emails are continually sent.
If the email is successfully sent all well and good.

However if an email fails to send then as you suggest the current method is to tag, clone and resend. You now have two segment campaigns, one for the original and one for the resend.
What happens if you have a second resend failure, do you tag, clone and resend again i.e. more duplication etc ?

We will have at least ten product campaigns active at any one time.
That’s at least two segments per actual campaign i.e. twenty campaigns and twenty segments to manage. Every five minutes the contact segment membership is recalculated putting the server under extra load.

In twelve months time I wish to restart the same campaign. Now I have to merge the original contact segment and any failed segments so that all the contacts get another email.
That’s another campaign and another segment. That’s more complexity and more load on the server.

Alternative Workflow

If an email fails to send then have logic so that the failed email can be resent without a tag, clone and resend. You could do that as many times as necessary over the life time of the campaign. No extra campaigns or segments needed. The database record for the campaign could record sent emails, failed emails and successful emails etc.You therefore have a single segment with all the contacts listed for the campaign. No merging necessary.

At the end of twelve months why can’t you restart the same campaign without a clone and resend ? Why can’t you restart a campaign with a single click ? The database could record how many times it has been restarted as well ? The same process could be used for testing before rollout as well ?

Conclusions

Tag, clone and resend just creates more segments and campaigns and complexity to manage. And puts the server under more load. Software should make our working lives easier and to reduce management complexity etc.

With logic to allow resends you effectively have one campaign with one contact segment.
The database records failed sends and retries etc. And how many times a campaign has been restarted. That’s reduced load on the server by minimising the number of needed campaigns and contact segments. And more importantly reduces management complexity saving manpower.

Why Mautic ?

Mautic does a great job of sending email campaigns and has many great features.

We can both have different view on how the workflow should work and the forum should be the place to discuss that openly.

More importantly Mautic is open source and highly customisable which is great for us as we can change the workflow logic to suit our own business model and reduce operational complexity etc.

At the end of the day software is here to make our working lives easier and reduce complexity. I’m just advocating a different workflow process.

Thanks.

Okay, thanks for the explanation.
Couple of questions to help me to understand your process:

  1. How many contacts are we talking about daily / weekly / yearly?
  2. By campaign do you mean ‘segment email’ or an email in a campaign as ‘template email’ ?
  3. How do you detect if an email fails?
  4. Do you use double optin to make sure only valid emails are added to campaigns, or any API call to Zerobounce / Email oversight?

Joey

Hello joeyk,

Thanks for your reply. I appreciate your time is valuable.

I’ve spent my whole career working on technology projects and I have learnt to do my due diligence on all software before contemplating any rollout.

I’m currently doing a feasibility study or pilot program on Mautic to learn a few key facts and I have been posting questions and or making suggestions on the forum as my journey with Mautic evolves.

Key facts
How to install Mautic on our on-premise web platform
Learn to write code to modify the workflow to match our business model
Determine how to design email templates and modify them with the builder
Determine how to design emails on a staging site and migrate them to a live site
Simulate the sending of various types of email campaigns etc to our internal email gateway
Evaluate how emails look on different target devices i.e. computer, smartphones, tablets etc.
Simulate email delivery failure and resend functionality
Simulate 10,000 dummy contacts and 100 segments to determine server hardware requirements
Determine if it will scale to 100,000 contacts and 500 segments and determine extra hardware requirements
Determine what security measures are in place to deter hackers
Look at any reporting features that are available
Determine how good the forum is at providing prompt help
Determine if the forum is open to discussing new ideas
Write a strategy on how to use Mautic in production
Implement a Mautic rollout

Mautic will evolve in its own way driven by the community. The key factor for me is learning the skills necessary to code and extend Mautic myself and become self-sufficient so I can add the extra workflow I need for our successful rollout.

Thanks.

Cool.

I’m not picking on you, just trying to help :slight_smile:
As a first step I wanted to clarify if you understand the different between sending emails via segments / campaigns. And within campaigns sending transactional (re-sendable) and marketing emails. Mautic is able to resend emails with the same Email ID to the same contact unlimited number of times.

Here are some hints for your list:

Learn to write code to modify the workflow to match our business model

I would keep an open mind about checking if there are any plugins supporting a certain business model. Mautic has a bunch of well maintained plugins, that help you to achieve your goals.

Simulate email delivery failure and resend functionality

In my opinion your goal should be to avoid delivery failure because it really hurts deliverability. If you are building a tool, that is expecially targeting cold campaigns, then a totally different approach is needed. I suggest to use Multi SMTP plugin, Multi Domain plugin and use a lot of email cleaning via Webhook + API.

Determine if it will scale to 100,000 contacts and 500 segments and determine extra hardware requirements

You probably don’t need 500 segments to achieve your business goals. Campaign coniditions, dynamic content can help you to cut down the number of segments. 500 segments are really hard to manage, keep updated in a prompt way. You will face the decision: would I create segments by filters or by using manual segment memberships. Or mixed. Its managable.

Look at any reporting features that are available

If you have specific reporting requirements, I suggest to add PowerBI or Metabase.

Recommendation:
Don’t forget knowledge base for your team, where you capture how campaigns work, how your custom fields are used and what assets you.

Joey

Sending multiple marketing emails to the same contact can lead to email fatigue, lower engagement, and increased unsubscribe rates. Repetitive messages may frustrate recipients, damage brand trust, and reduce your sender reputation—leading to deliverability issues. Many regions also have privacy laws (like GDPR or CAN-SPAM) that discourage excessive outreach. Instead, focus on targeted, personalized campaigns using segmentation and behavior-based triggers. This approach increases relevance, improves open and click rates, and respects your audience’s time. In short, quality over quantity is key. Thoughtful, well-timed emails build long-term engagement and keep your brand in good standing with both users and email platforms.

I have another use case. I have plugin that pulls dynamic content, what is new on my blog.. and I want to send that every week.

I have switched marketing email to transactional and removing opt outs before they enter email activity.

That is a good example.

Using the same email won’t disort your stats?

Email stats chart is okey as I can see each wave. Only thing which is compounding is the links as every week I have different links it is just adding them up. So I can imagine after while this will make a problem. Maybe if the filter also worked for the links that would solve this issue for which I will need to clone the templates

Hello,

Why Mautic Should Support Reusable Segment Emails with Built-In Scheduling and Retry Logic

Email marketing automation is most valuable when it reduces repetitive configuration work while remaining reliable at scale. In real-world usage, marketing and transactional-style campaigns are rarely single sends. They are time-based, recurring, and often require resilience in the face of delivery failures.

Within Mautic, many of these workflows are already possible using campaign emails. However, they require explicit orchestration and repetition that becomes difficult to maintain as complexity grows.

This post outlines a gap between what is possible today and what would make the system significantly more scalable and operationally efficient.

What Can Already Be Done with Campaign Emails

It is important to acknowledge that Mautic can already model many of these workflows using campaign emails.

For example, subscription or billing reminders can be built using campaign logic like:

  • Entry based on a lifecycle event (e.g. subscription expiry date)

  • Delay steps:

    • Wait until 90 days before expiry → send email

    • Wait until 60 days → send email

    • Wait until 30 days → send email

    • Wait until 7 days → send final reminder

Each step is implemented as a campaign action node, and the same email asset can be reused across multiple steps.

Similarly, overdue billing reminders such as:

  • 1 week overdue

  • 1 month overdue

  • 3 months overdue

can also be implemented using scheduled delays and branching logic inside a campaign.

So at a functional level, these use cases are already achievable.

Where the Current Approach Becomes Limiting

While campaign emails make these scenarios possible, they also introduce significant operational overhead:

1. Repetition of campaign structure

Each time-based reminder must be explicitly defined as a separate campaign node. Even when the same email is reused, the scheduling logic is duplicated across multiple steps.

2. No concept of reusable scheduling patterns

There is no way to define:

  • “Send this email at -90, -60, -30, and -7 days”
    as a reusable rule set.

Instead, each schedule point must be manually constructed.

3. Lack of native retry logic per email action

If an email fails to send due to a temporary issue:

  • there is no built-in retry mechanism tied to that specific send action

  • retries are typically handled indirectly through SMTP, bounce processing, or re-entry logic

This means retries are not deterministic, configurable, or campaign-aware.

4. Scaling complexity across use cases

Once you introduce multiple lifecycle flows (subscription, billing, compliance, onboarding), you quickly end up duplicating:

  • campaigns

  • timing logic

  • message flows

This increases maintenance cost and risk of inconsistency.

The Core Idea: Move from Campaign Logic to Messaging Rules

The underlying improvement is not about whether Mautic can send these emails—it clearly can—but about how the logic is expressed.

Instead of building multiple campaign nodes for every reminder stage, a more scalable model would allow:

  • One email definition

  • Multiple scheduled execution rules

  • Built-in retry behavior per scheduled send

  • Reuse of scheduling patterns across campaigns

For example:

  • Send Email A at:

    • -90 days

    • -60 days

    • -30 days

    • -7 days

With:

  • automatic retry attempts (configurable max retry count)

  • consistent logging per attempt

  • unified configuration instead of repeated campaign nodes

Why This Matters for Real Marketing Operations

These patterns are not edge cases—they are core operational workflows used in:

  • subscription renewals

  • billing reminders

  • overdue payment notices

  • compliance notifications

  • onboarding and lifecycle messaging

In all of these cases, the business requirement is the same:

“Send the same message logic repeatedly over time, reliably, with minimal manual intervention.”

Today, Mautic can achieve this—but only through manual campaign construction and repeated configuration, rather than reusable messaging rules.


The Opportunity for Mautic Core

The value of enhancing this capability would be:

  • reduced campaign duplication

  • lower maintenance overhead

  • fewer configuration errors

  • improved consistency across lifecycle messaging

  • better resilience for failed email deliveries

It would also reduce reliance on complex campaign graphs for what is essentially a scheduling and delivery concern.

Closing Thought

Campaign emails in Mautic already provide the foundation for lifecycle messaging. However, they model it as a sequence of explicit steps rather than reusable scheduling and delivery rules.

Evolving toward a model where emails can be:

  • scheduled declaratively

  • reused across multiple time points

  • and retried intelligently per execution

would significantly improve how teams manage large-scale lifecycle communication inside Mautic.

Hi,

Why would you resend the same email over and over again?

If so - what about a plugin, that schedules the duplication of your segment email?

Joey

One more thing:

Why This Matters for Real Marketing Operations

  • subscription renewals → typical template email since its action based

  • billing reminders → typical template email since its action based

  • overdue payment notices → typical template email since its action based

  • compliance notifications → typical template email since its action based

  • onboarding and lifecycle messaging → typical template email since its action based

Hi joeyk,

We purchase services from large multi-million and billion-pound/dollar/euro companies, and it’s common to receive marketing emails from them regarding subscriptions, reminders, and occasional follow-ups or retries. In many cases, these communications are sent multiple times as part of their automated customer engagement processes.

Through conversations with partners at some of these organisations, I’ve learned more about how these systems operate, and they’ve been very open in sharing their approach. It’s clear that repeated and scheduled email attempts are a deliberate part of their customer communication strategy.

My goal is to implement a similar approach for our own customers and clients—those who ultimately purchase these services—using Mautic as our primary marketing automation platform. While I understand that other systems already support these kinds of workflows, I believe there is value in bringing this capability into Mautic more directly.

I’m aware there are differing opinions on the practice of sending repeated emails or implementing automated retry mechanisms. I respect concerns around over-communication and user experience. However, in many commercial contexts, these strategies are already proven to support engagement and revenue generation. Given that, I think it’s reasonable to explore their use in our own environment.

If Mautic included a native feature to support controlled email re-sending and automated retry logic, I and others in similar positions would likely adopt it. Of course, it should remain optional and configurable so teams can choose whether or not to use it based on their own policies and customer experience standards.

My intention is not to dismiss existing design principles, but to highlight a practical use case that aligns with how many modern marketing systems already operate. If the gap between current capabilities and business needs becomes too significant, I would consider extending Mautic ourselves to implement this functionality.

Thanks.

@andrew_c3 you should be able to use a template email with unsubscribe link and custom header. At least that’s how I handle such emails. Would there be a benefit of using “enhanced” marketing mails?

Hi dband,

Thank you for your effort in responding with a genuine suggestion. I will take a look at your idea and give it some consideration.

Thanks

Hello,

Recently we upgraded our email platform and, during the migration, some emails bounced back as undeliverable. The new platform went live shortly afterwards.

A few weeks later, several partners contacted us asking whether we had received their offer emails. I explained that we had been changing email platforms at the time. The partners checked their marketing platforms, saw the failed emails, clicked a single button, and within seconds the original email was resent to my inbox while speaking to them on the phone. They could repeat the action and resend the same email again immediately until I had one in my inbox.

The same scenario occurred with multiple partners. I did get their original sometimes but they were happy to send a duplicate so it was on the top of my email list.

In Mautic, this process is much more manual. You have to create a segment for the failed email addresses, wait for the segment to rebuild, then create and send another segment email, even if it is only for one contact. Rinse, wash and repeat.

I would like Mautic to support re-sending the original segment email to one, multiple, or all failed contacts with a single button click, similar to the functionality available in other marketing platforms available to larger companies.

When you are on the phone to a marketing person and they can resend lost or missing emails it is an impressive feature and I would like Mautic to be able to do the same.

Marketeers who choose not to resend duplicates should not press the resend button. However I’m sure may marketers would like the option to do so.

Thanks.