Basically sending through a mail queue makes a whole lotta sense. Unfortunately, this also delays emails that should better go out immediately like for example double opt-in emails. Especially when offering lead magnets like free ebook downloads or similar stuff people are waiting for the confirmation email to get to their downloads as quickly as possible.
It would be good to have an option for some emails to go out immediately instead of waiting in the queue until the next cron run.
Wanted to go into a bit more detail here in hopes that folks will revisit this idea.
Iām sure I donāt have to explain the value of email marketing here, but I want to stress that as a content marketer, email marketing is by far the most powerful communications channel i have with my prospects and existing users. Apart from my own experience, study after study has shown that email marketing is the most performant marketing channel.
I am new to Mautic but I will assume the Mautic userbase shares the rest of the marketing universeās long ago established truth that inbound marketing is the only viable marketing option left.
So assuming weāre all on board with inbound marketing strategy using email as the primary communications channel, the need for us to begin communicating with our customers in the email channel immediately upon converting anonymous contacts to known leads is paramount. The reason I stress this point here is that one of the single most impactful applications of marketing automation is that it is the best way to open the email marketing channel. We do all the heavy lifting to create content that attracts and engages our prospects and we spend significant budget putting that content in front of our audiences, so when it finally comes to the opportunity to convert those anonymous prospects into known contacts, it is absolutely critical that we immediately establish the email marketing channel as the primary means of communication.
Naturally, it seems obvious then that Mautic should help us do that. And the simplest most straightforward way to make this possible is to enable a feature that lets us immediately send an email to our prospects who fill out forms.
Firstly, the frequency of your campaigns getting built and triggered is entirely in your control. You can determine how often those fire, and if you need them to be happening within a few minutes, you could achieve that with a performant server and properly optimised cron jobs (as mentioned in the original GitHub issue).
Maybe that would help you to at least get the delay you suggest is unacceptable down to something which is workable.
Secondly, you do not actually have to use the queue. You could choose to send emails immediately. This would negate the need to queue any emails, and may be a workaround if this is a big problem for you.
You could also use a different approach and send an email directly from the form, drop the user into a segment (eg based on a tag), and then kick off any campaign actions later, rather than using a campaign form approach - also mentioned in the GitHub issue.
In terms of the wider picture, if you are running a large instance and you want to send something instantly rather than using the queue, that has implications for performance which may not be desirable (millions of emails all getting immediately spooled would cause a significant performance issue). Thatās the reason why the majority of people use the queue. So while this might work in your situation, itās something that may not work for the wider user base.
I hope this gives you a few options to explore, it might be that some of the work Acquia is doing in Q1 2022 around treating transactional/operational and marketing emails differently could result in some improvements in the areas youāre mentioning. The project brief for that is here, and weāre hoping that will come over to the community toward the end of Q1.
Thanks for your thoughts and feedback, @rcheesley. Definitely noodling how to have immediate sends while working in queue mode here.
Are there significant downsides to running crons every minute? Are they very resource intensive? The consensus bkm, including the guidelines in the mautic kb seems to be to keep them staggered at 15 mins apart.
Other question, do you know if Mautic built in such a way that it canāt handle having different approaches to email sending?
In other words, is there something about the engine that makes it impossible to run some email immediately and run others on queue? Could we write a plugin for immediate sends after form fills that makes use of the immediate sends architecture while still using queue or are they completely forked?
Seems like it would be possible given that transactional email is possible?
As far as I know, if you were to use a form and have the email sent from the form, that goes right away.
Itās absolutely possible to have things firing within seconds/minutes but you need to know what youāre doing on the server performance side of things to have that happen.
Some of the SaaS providers are doing this already - Acquia, Webmecanik, Friendly to name but a few, so itās most definitely possible if youāve got the technical chops and the right infrastructure setup
You may want to watch some of the talks from our recent World Conference, thereās a few on performance optimisation which you might find helpful:
I also came across this pull request which could possibly be of interest, but it needs some work as the tests appear to be failing: