Sending mass emails effortlessly

Email Marketing with SendGrid

Communicating about an offer or a contest is a great way to increase engagement on your platform. Email is a very common and effective medium for such communications.But here I am not going to talk about why sending marketing emails is good. In this article, I am going to talk about how we addressed a pain point – Sending mass email effortlessly.

If you are a visual learner, you can also watch this Youtube video showing how you can interact with the SendGrid API here.

The problem statement

Some time ago, I and my team received a requirement to send emails to a big user base for one of our clients. We wrote some custom code to send out mass emails.

Obviously, the entire process was not very smooth. It was taking time to send emails, we had to spin up multiple Laravel instances on a server to increase the number of processes to send emails. 

The realisation

After the task was finally complete, we asked ourselves a question — how can we improve ourselves. Yes, we all made the mistake of not asking the question to ourselves – is there a better way to do this? Sending mass emails is not a new thing. We are trying to create a solution for something which people have been doing since ages in an elegant way.

We decided to identify a proper solution. And, it didn’t take much time for us to understand what was required.

There are a lot of tools available which will allow us to send emails to a list of users without much effort. And, these services provide other niceties like unsubscribe links, analytics, to mention a few. And why not, this service is what they do day in day out.

It took more than 7 to 8 hours to process the entire list. If you do the per hour cost, you will see it’s quite expensive compared to sending it through a paid solution.

The solution

We decided to use Sendgrid as the platform of choice to send those mass emails. Based on the features available with Sendgrid, our flow was quite simple – create a contact list. We already had the user list who had subscribed for the service. All we had to do was add the user’s email address when he/she is subscribing to the service. And, remove it when the user unsubscribed.

For initial seeding, we took a csv dump from the database and imported the entire subscribed users. I must say, the ‘import contact user’ interface is so easy that you can’t go wrong with it.

Once we had the HTML for the mailer ready, we just created something called “Single send” on Sendgrid, selecting the contact list whom we want to send the email to. We can even schedule the sending time and we are done.

No more looking at the logs, no more spinning up multiple instances to speed up. The entire workload is managed by someone from Sendgrid. And, you would expect them to do the best job at it because it’s their core service.

Why did we choose Sendgrid?

We considered both paid and free solutions for the requirements. We have used Amazon’s Send Email Service in the past and are quite familiar. However, it just allows you to send emails. Stuff like contact list management, template, etc. is something which you will not be able to get with SES. And, these are very important. Products like Sendy were considered as well. You can use different email APIs as adapters to send email. And, Sendy itself will give you a lot of important reports. The cost per email was quite attractive. However, when you consider that you will have to host it yourself and manage that server, we felt for the current list of subscribers and the number of emails that we will send – it’s better to go with SendGrid.

And in terms of reports, SendGrid has important information available as reports which allows us to also measure the performance of the Mailer that was sent. For example, we had send 3 emails and based on the KPIs we were able to improve our open and click rates.

SendGrid mail report

And, each mail would give us some more information which then allowed us to change certain things and see if the thing is working for the client or not.

The verdict

Yes, I know it’s not rocket science. What we have done is something which people are already doing. But, what I and my team have learnt is that providing a solution doesn’t always mean you build it. There are solutions available (some paid and some free). Using them saves a lot of time and effort and in the end, becomes much more cost effective.

Image from Unsplash Stephen Phillips – Hostreviews.co.uk

You may also like

Headless ecommerce

Going Headless to Solve Custom E-Commerce Requirements with Laravel

Headless is the new buzzword that you must have come across in E-Commerece. Headless solutions have been getting quite popular because of the increase in the number of digital platforms that are used to communicate with users. Right from tiny smart bands to large plasma screens, content can be consumed in so many ways. And, each medium has its own set of unique features and challenges. Hence, a headless content source means it’s easy to decouple the content layer from the view layer.

Read More »