Campaign with relative dates - what are best practices?


I want to create a campaign with different sending steps relative to a date field in mautic.

One example use case is to introduce new users. So for example a new user should be in a campaign an get a welcome-email directly. After this there should be an automatic email on the next three days and another email seven days after the registration (= some date field in mautic).

Another use case is to send an automatic email to users which haven’t logged in for a while, for example 30 days and 90 days after the last logged in. So let’s assume that we also have a last_login date field in mautic.

Because I read about different bugs handling relativ times in campaigns: We are using mautic in version 3.3.3 (and I think these problems are solved with this version?).

So what is the right (and recommended) way to realize this with mautic?

I think there are different ways to solve this in mautic:

1.) Work with a campaign which has relative time periods for sending different emails

In this campaign I would create different steps.

First steps sends an emails immediately to welcome the new users.

But from the second email the emails (or events) would be executed at a relative time period of 1 day. Because I wand that the email is send around the lunchtime I also set the send time to 12:00. I would define the emails for the other days like this.

So my questions for this type of campaign-model are:

  • Will this work? :wink:
  • What does “wait X days mean”? What date is the starting point for this time period? The time when the contact was added to the campaign? Or to the segment? Or my contact date field?
  • Does it makes a difference if I place the email steps in the campaign side by side (like on my screenshot) or if these steps follow each other?

2.) Use relative dates as conditions in the campaign

In this case the campaign could have different condition-steps. In this conditions I can check the date-field in a relative way, for example “created equals -1 day”. For each condition I could send an email immediately.

I’m this using relative dates in the campaign conditions is more tricky so this would not be my favorite.

3.) Work with a campaign with steps based on different segments

Another way to solve this is to create diffrent segments which contain the relative time check. This is also the approach in topic Campaign action isn't triggered.

In the campaign could be different steps for checking the contact segments and sending the emails for these steps.

I think it’s important to also have a “combined” segment for the campaign because we don’t have it it seems that the contact is droped and added to the campaign every night while mautic changes the segments of the contact.

This type needs to create a lot of segments because they contain the date checks.

What do you think about this? From my side it seems that the first campaign-model-type looks as the best.

Or are there other and better alternatives?

Thanks for some help with this - especially with my questions about the first type.

Best regards,


Yes the first scenario is pretty straightforward. A new user signs up, you add him to a campaign, and can send timed messages from there on. The wait x days is relative to the last action taken. So if you want to send an email sequence for 3 days, you set it to wait for 1 day for every new email going out. I did never try to send it to a specific time, but I think you are on the right track.

Now the last log in scenario is a bit more difficult. I guess you are speaking about a WordPress login or something similar. In this case you need to find a way to update the last_login_date via an API call every time the user makes the login. After that, I guess the easiest way would be to create a segment with last_login_date more than the 30 days you want to wait, and whoever gets into the segment will be added to a campaign that sends the email. Now if you want to send the reminder email on a regular basis, you can trigger the campaign to remove from the segment after so many days, the user gets added to the segment again, and the campaign will start all over.