Mautic 5.2.4 - Scheduled Campaign SMS repeatedly sent from the same campaign event

Your software
My Mautic version is: v5.2.4
My PHP version is:8.2
My Database type and version is: MySQL 8.0.46

Your problem
Environment

  • Mautic 5.2.4
  • Twilio SMS integration
  • Campaign-triggered SMS
  • Symfony Messenger enabled

Campaign Design

The campaign is relatively simple:

Decision (Email Clicked?)
        ↓
    Wait 2 days
        ↓
Send Text Message
        ↓
Continue campaign

The SMS action is configured to:

  • Execute 2 days after the previous event
  • Only send between 09:00 and 17:00
  • Weekdays only

The campaign contains:

  • no loops
  • no multiple paths back to the SMS action
  • no duplicate SMS actions

Problem

One contact received more than 20 duplicate SMS messages over several days from what appears to be the same campaign event.

The SMS seemed to be sent approximately every time mautic:campaigns:trigger executed.

The repeated sends only stopped after we manually enabled Do Not Contact (SMS) for that contact.

Cron Schedule

Our cron jobs are currently:

  • mautic:segments:update every 30 minutes
  • mautic:campaigns:update three times per hour
  • mautic:campaigns:trigger three times per hour
  • mautic:campaigns:rebuild three times per hour (I’ve since learned this may not be a recommended production schedule.)

Investigation

Twilio

Twilio confirms the SMS messages were actually sent.

This is not simply duplicated contact history.

SMS Statistics

The table mautic_sms_message_stats contains multiple successful SMS records (20+) for the same contact.

All rows have the same values:

sms_id      = 21
source      = campaign.event
source_id   = 7673
is_failed   = 0

This suggests every SMS originated from the same campaign event.

However, the campaign event log contains only one record for that event:

event_id         = 7673
campaign_id      = 228
lead_id          = (redacted)
date_triggered   = 2026-06-25 06:26:02
is_scheduled     = 0
system_triggered = 0

I also ran:

SELECT event_id, COUNT(*)
FROM mautic_campaign_lead_event_log
WHERE lead_id = ?
GROUP BY event_id;

Every event returned a count of 1, so I couldn’t find evidence that the campaign event itself was repeatedly logged.

What I’ve Ruled Out

Based on the investigation so far:

  • Twilio is not independently duplicating messages.
  • The campaign does not contain loops or duplicate SMS actions.
  • The contact does not appear to have repeatedly re-entered the campaign.
  • The SMS statistics clearly show Mautic generated each SMS (source = campaign.event).
  • Enabling Do Not Contact (SMS) immediately stopped any further sends.

Questions

  1. Has anyone experienced a scheduled campaign SMS repeatedly sending from the same campaign event?

  2. Is this a known issue in Mautic 5.2.x?

  3. Could running mautic:campaigns:rebuild on a recurring cron schedule contribute to this behaviour?

  4. Is there a known workaround that does not require upgrading Mautic immediately? Unfortunately, upgrading isn’t feasible for us in the short term due to resource constraints.

  5. Is there another database table, log, or debugging approach that could help explain why one campaign.event (source_id = 7673) generated multiple successful SMS records while the campaign event log only shows a single execution?

    I’d appreciate any suggestions, similar experiences, or recommendations on additional troubleshooting steps.

Hi, the Mautic 5 version isn’t getting more bug fixes anymore. See

There were some changes regarding SMS and campaigns in Mautic 7 and more are coming in 7.2 that should be released next week including MMS support.

Thanks for the reply @escopecz

Unfortunately, upgrading isn’t something we can do in the short term due to resource constraints, so I’m trying to determine whether there’s a safe workaround for Mautic 5.2.4.

Is it expected that campaign_lead_event_log only records one execution while mautic_sms_message_stats contains multiple successful sends for the same campaign.event? Which table is considered the authoritative source for campaign action execution?

Is the campaign configured to be repeatable? That would mean the campaign event can be executed multiple times for a contact.