In the age of industry 4.0 and digital transformation, the term digital marketing is not so strange to everybody. When more and more emerging marketing channels are introduced, brands find reaching customers on all platforms quite challenging and costly. One of the essential tools that help marketers greatly implement digital marketing is a marketing automation system.
As a software engineer of a successful marketing automation project for a few years, I have gone through different experiments, techniques, trials, and errors to figure out the way to build the system effectively. In this article, I’m happy to share with you how to build a typical marketing automation platform, its key features, and technologies you should consider. I hope it will give you several practical insights and put you on the right path from the early start.
What is marketing automation?
Marketing automation is the use of technologies to automate and streamline the process of converting the leads from marketing to sales and customer support. With the help of software, marketers can easily identify their potential customers, have detailed pictures of customer behaviors, and automate repetitive tasks like email marketing, social media posting, or even ad campaign running.
Given that, it helps businesses improve their productivity, offer their customers a more personalized experience, easily measure marketing ROI, and generate better leads. Lead generation is one of the critical steps in any business' growth, which translates to more revenue for the company.
Key features of a marketing automation system
While the term digital marketing or marketing automation is a broad business domain, the system we have built focuses on a smaller and specific one. It helps marketers to efficiently acquire customers, build loyalty, improve brand reputation, and communicate with customers in one place.
The system is a SaaS (Software as a Service), in which multiple companies that are doing marketing online can sign up their own accounts and have a private workspace to work on the system. Also, to deliver the software faster to the market, we chose to integrate third-party tools available instead of developing all the features from scratch.
Below are several features we used to build and their following technologies.
One of the key marketing software features is providing the ability to communicate with leads across various channels. The more communication channels you have, the more leads you can reach.
Text messages (SMS/MMS), phone calls, and email are the most popular channels out there. To build such multichannel communication, you should surround your platform with public APIs, making integration a lot easier.
- Text messages (SMS/MMS) and phone calls: You can apply Messaging and Voice services from Twilio. It allows you to buy phone numbers, send and receive text messages. You can make outgoing calls to leads, forward the incoming calls from the lead to your phone. An incoming call is also treated as a voice message and then saved to a voicemail box.
- Email: SendGrid and Mailgun are common mail services that you can use to develop an emailing feature.
If you are unfamiliar with the above brand names or those are unavailable at your target user’s location, you can consider alternatives providing the same services.
Besides, Social media and Live chat are also important that we can't ignore:
- Social media: As you know, this is an ever-expanding tool where marketers communicate with their leads and promote their products. Fortunately, most social providers provide the ability to integrate via webhook and open APIs.
- Live chat: This is also another critical communication channel that I will describe in detail in the next section.
The most exciting thing here is you can integrate all communications from all channels above into a single conversation. That means the marketers can engage with their leads across multiple channels (SMS, Phone calls, Email, Facebook Messenger, Live chat, etc.) in one conversation screen. I call it an all-in-one communication feature.
Live chat helps you connect with your customers seamlessly in real-time. Once a visitor is on your website, a live chat window is available there, and they can start a conversation anytime.
Although there are numerous live chat tools available in the market, helping you communicate efficiently, sometimes they can't be suitable for the specific needs of your system. As a result, it’s essential to build a new one where marketers can communicate with their leads across all channels, including live chat, without subscribing to different tools separately.
For more detail regarding the technical implementation of Live chat, you can read our previous article How to create real-time chat applications using WebSocket APIs in API Gateway written by Trong Pham.
It is the heart of a marketing automation platform. When a new lead joins a marketing campaign, the system will automatically send messages (SMS/Email/Voicemail) to the lead. Automation messages are generated and scheduled at different sending times based on the events definition and the campaign setting. Once a lead responds, the marketer will be notified in real-time, and the conversion appears on the system dashboard. Then they would take over the conversation with the lead or perform any actions like changing lead status, moving to another campaign, etc.
Technically, to build this feature, you need to implement a cron job utility to query scheduled messages and send them out to the lead every minute. It should be implemented and deployed as a separate service so that you can reduce the workload of your application and make it work stable. AWS Lambda service could be an excellent option to host this one.
Auto-response and booking
An advanced feature that we have built is auto-response and booking. It helps automate repetitive tasks like answering questions about product/service/pricing and more. Especially, it allows marketers to auto-schedule a call with their leads. For example, if your appointment is at 3 p.m, the system will automatically make a call to connect you (marketer) and your lead when the time arrives. Here the real-time response is the foremost important because a 5-minute delay can lead to a lost opportunity.
You can use Google Dialogflow combined back-end logic to implement the feature auto booking.
Connection to other applications via Zapier and webhook
Transferring data between applications is a common requirement of most modern web applications, particularly in marketing automation. Therefore, our platform is developed to easily transfer data to other systems, such as social media or a CRM. The connections are enabled via Zapier and webhook. For instance, when a new lead fills out the form via social media, like a Facebook page or a landing page, this information will be automatically transferred to your application. The important note here is all these actions should be automatically performed from the back-end.
Specifically, in our project, we applied both of them. We send out a webhook to any applications when some event is triggered, let's say, a new lead comes in, or a lead status is changed. We also implement integration to Zapier, so the user can create zaps to transfer data between our application and others automatically.
Customization and personalization
As a marketing automation platform, you have multiple customers from different industries. Following that, the information collected by different customers comes in different shapes and sizes. A real estate agent, for example, needs to know the address of their end customer's property as the essential information, while the insurance agent needs to collect their lead’s age or date of birth.
Therefore, in our application, we only define basic information, then business owners would add as many custom fields as they need based on their business. I believe that your customers would be happy to have this.
Users can execute customization such as settings for their own account/workspace. In addition, they can also implement personalization like the pagination, color of the calendar, to name a few. We have done both in our project.
Online payment is a must-have feature for all online services. As web developers, we used to implement different payment gateways and found them quite time-consuming and fiddly. Stripe is one of the most accessible tools to set up, integrate and maintain, due to its great API. It also allows our clients to define all types of products and prices, manage subscriptions, implement recurring payments, and much more. One of the critical benefits of Stripe is that it enables users to stay on your site when making a payment instead of navigating to another site. With no setup fees, no monthly fees, and no card storage details, Stripe makes everything easy. Therefore, it's considered a much more powerful alternative to PayPal.
So far, here are several experiences that we accumulated during our project. For more information, you can read the full case study here: Marketing Automation Platform
In sum, marketing automation has been, without a doubt, a powerful tool for businesses to streamline their digital marketing initiatives without the busy work. Depending on your specific needs, you can opt-in to the ready-made platforms available on the market or custom-made platforms like our clients. From the development side, this project is super interesting to my team and me. During project development, I realized that using cloud services and third-party-platform integration is the best way to build the marketing automation system in the shortest time without compromising the quality.
I want to thank our client, who gave our team a chance to build amazing software and trust us at all times. I also want to thank the team whom I work closely with to create working software products together. I am so proud to be a part of my team.
Thanks for reading the article.