How to Build a Successful Marketing Automation App? Features, Issues and GDPR

Every software development project starts from an idea and market demand. To build a marketing automation tool, you need to start with market insight to find out what features your app should have.

In this article, I’ll guide you through the most common uses of marketing automation tools from the perspective of a marketer who has been working with such systems for more than five years. I’ll also share my impressions with you on how to deal with the most common problems marketers face using such a tool and how to make your app GDPR-ready.

Overall, this text will help you to prepare for your marketing automation application development to make the best app on the market by targeting the precise needs of the target group (including me :)).

What is a marketing automation platform, and why do we need it?

Thinking about marketing automation tools, many people usually think about the ones that are sending emails. It’s just partially true, as a marketing automation tool is much more than that.

Let’s start by saying that marketing automation software is meant to automate processes (repetitive tasks). Although it sounds like a truism, it’s not obvious, even for marketers. The truth is that you need clearly described processes to automate in order to start using such a platform.

What processes, you may ask. That’s the most problematic aspect, but defining them should be the first step to the implementation of marketing automation tools. Thanks to such a system, you can:

  • manage your database of contacts, companies & deals
  • take actions in response to users’ activity
  • provide users with the right content at the right time
  • engage your sales team exactly when needed

To fulfil the goals mentioned above, every marketing automation tool must have certain features. It’s up to you what will be the priority of your company to develop, however, below, you’ll find the marketer’s impressions on what are the most crucial ones.

If you’re about to develop your marketing automation app, you need to define the features clearly. You might need to talk with marketing automation specialists to define the needs of your potential customers.

Purpose 1: take actions in response to users’ activity

The main goal of a marketing automation platform is to automatically react to customer behaviours without people’s engagement.

There are many activities that can be used as a trigger by marketing teams. Just look at the list below:

  • page visit
  • event (such as external form submission, a custom event defined in a tag manager)
  • message sent or received (chat, email, SMS)
  • contact details change
  • adding or removing from a list
  • mobile activity
  • occurring on a certain date and time
  • filling a form
  • creating a new user
  • discount is given or used
  • deal attributes or stage changed
  • note added
  • ticket created
  • activity created
  • consent expressed/withdrawn

Those are the most common examples of what kind of triggers might be available in your system. Each trigger might have built-in conditions like what page the user visits, which details changed or which form was filled out. Of course, you should also provide your users with a solution for conditional logic like:

  • filtering by attributes and segmentation
  • A/B testing
  • filling different kinds of forms
  • emails openings and link clicks
  • page visited
  • receiving or responding to messages (email, SMS, chat, chatbot)
  • comparing attributes values
  • campaigns they were engaged into
  • limiting the time when the action will be triggered

Finally, when requirements are met, you can take some actions like:

  • send a campaign to the contact (personal email or newsletter, web push, mobile notification, in-app message, SMS, chat message from person or chatbot, phone)
  • assign a task of a particular kind to a person or team
  • notify your sales team that their activity is needed (via email, web or mobile notification)
  • create an event
  • delay executing the next steps
  • change score
  • change content on the website
  • add or remove from a list or segment
  • change user’s attribute or calculate data from attributes
  • add or remove tags
  • add a note
  • change deal or company attributes
  • create a deal and change the deal stage
  • API call or webhook
  • give, remove or check coupons
  • recommend some products
  • create or update a ticket
  • turn on/off user tracking (and define the amount of customer data to collect)

Below you’ll find the most common automation rules that are widely used:

  • sending confirmation email as a response to signing in to the newsletter
  • sending a lead nurturing campaign (series of emails) after receiving marketing content
  • confirmation, reminder and follow-up after a webinar or conference

However, those are just simple examples, and your app users may need to build more sophisticated rules like sending a different chatbot campaign depending on the page visited, user attributes and time stamp (or sales team availability) or different lead nurturing emails based on many contact details. The sky is the limit. Your goal is to provide them with the tools to do that.

Purpose 2: provide users with the right content at the right time

This aspect is connected with the previous one. In many cases taking action is aimed at providing the user with the right content at the right time using multiple channels. The more we know about the user and their buying process, the more adjusted and personalized content we can provide.

Marketers can communicate with users through email marketing campaigns, web pushes, in-app messages or notifications, text messages, phone campaigns and changing the website content. A marketing automation app is a tool where they can create all those resources and use them when needed.

To make that happen and send marketing campaigns, you should provide your users with creators of:

  • emails (drag & drop and code)
  • SMSs
  • pop-ups
  • web pushes
  • chatbots
  • mobile notifications
  • in-app messages
  • phone campaigns
  • web content
  • recommendations

If you’re about to develop an MVP, you certainly won’t add all those features and multiple channels at the beginning. You need to prioritise which ones are crucial for the marketing purposes of your target audience. You can extend functionality when the app provides profits to your company.

Personalized content

Keep in mind that you have to provide your app users with the possibility to personalise the content they send to the contacts using contact attributes. The era of “Hi John” personalisation is long gone (and might cause concern if we use their names in the wrong context – on your website, let’s say). Now, people expect you to know not only their names but preferences and provide them with content that is interesting for them.

It’s common practice to use code elements like {{}} or $attribute_name$ (to use two examples only) to insert variables into texts. Users might also need more complicated codes for different variants of texts (many use cases are language-specific) or conditional logic (if … else …), and you should prepare a solution for that.

Lead nurturing

Communicating with leads has one main goal: to make them customers. To do that, digital marketing experts plan to lead nurturing campaigns.

Such campaigns don’t differ from regular automation campaigns but are aimed at a particular case: educate the leads to transform them into customers.

If your software is planned to allow the creation of complicated chains of rules, there’s no need to build another module for this purpose.

However, if your app won’t be optimised enough to handle that, you might instruct your users to divide the whole campaign into simpler paths and provide a tutorial to avoid getting lost. You can use such solutions as tagging, naming policy, visual map based on connections of automation rules, etc. The point is, your users need to easily navigate and see the paths they created, otherwise, they won’t recall how the process works after a few weeks or months after the creation.

Loyalty programs

Building a loyalty management feature might be a good idea, depending on your target market. It can consist of dedicated scoring, coupon management, magnetic cards management (if they have an offline store) and so on.

Purpose 3: engage your sales team exactly when needed

There are many situations when automated activities are not enough, and personal contact is required. Let’s take a look at some examples:

  • The repertoire of chatbot answers is limited, and the chatbot has no response
  • Someone requested a direct contact
  • A meeting has been scheduled
  • A follow-up is required
  • The sales team didn’t contact a particular person for some period of time
  • Someone is talking with a chatbot and can be taken over by the salesperson

There might be many similar examples showing when we should engage our sales team to take action. The point is, what kind of actions are needed to make that happen? We can:

  • notify the sales team that their engagement is required right now
  • postpone their activity for later

If we need to engage someone right now, we might need:

  • mobile notifications or in-app messages
  • web notifications
  • push messages
  • email notifications

The point is that the salesperson needs to be assigned to the contact and see the notification to be aware that an immediate reaction is needed.

In both cases, when we need to engage someone now or later, we can schedule some tasks for them. It’s extremely useful for users of marketing automation solutions to be able to define activity types by themselves. The most common are email, call, meeting (in person or online) and task, but someone might need a demo presentation or deadline. Each company has its own specifics and needs, so marketing automation managers should be able to define those types by themselves.

Purpose 4: manage your database of contacts, companies & deals

Finally, we need marketing automation tools to manage the contacts, companies and deals database. None of the above would be possible without reliable and detailed information about each contact in the database.

You need to take care of some aspects of database management in your app. You need to make sure your clients can:

  • manage administrators’ and salespeople’s accounts
  • track users
  • generate leads
  • manage deals
  • manage support tickets
  • manage integrations
  • make analysis and display data on dashboards

Now, when you know what a marketing automation platform’s main goals are, let’s look at particular features connected with them.


Manage administrators’ and salespeople’s accounts

Your marketing automation tool should allow one to create accounts for salespeople. Every one of them should be able to add some details like a photo, job title, and link to their LinkedIn profile, email and phone. However, sometimes it’s not enough, so you should consider whether to provide custom managers’ attributes as well.

You should also consider the permission rules, as there might be a lot of access levels (it’s enough to say that you have to meet the GDPR regulations). Not every person should have access to all leads or settings.

Managers, however, should be able to customise the system and add custom attributes for salespeople, contacts, companies and deals.

Very important from a manager’s point of view are tasks. The users should be able to define, customise, and assign them manually and automatically.

Useful, but in most cases omitted feature is deals prediction. You should consider whether you want to provide your users with such a function as it might require AI/ML knowledge to work as planned, but you will certainly gain a competitive advantage if you develop that.

The system should:

  • be ready for detailed access management with different levels of access for different users groups
  • allow creating custom attributes for salespeople
  • offer the possibility to create tasks for salespeople manually and automatically
  • provide an option to customise those tasks and create new ones
  • allow predicting deals amount and value based on leads and trends


Track users and collect data

User tracking is a must for every marketing automation tool, as its main purpose is to gather as much information about every contact as possible.

The better you know your audience, the better marketing campaigns you can run and the higher ROI you can receive. Based on information about users, marketing managers can segment the contact base and plan different activities depending on the values of their attributes.

The system should:

  • be able to handle users from more than one website
  • record history of visits to every website and key events performed on them (it would be best to enable connection of your app with Google Tag Manager)
  • track sent emails and note if those were opened
  • record consents history with no changes possible for both given and withdrawn consents
  • present the data in a clear and intuitive way (as an easy-to-understand table)
  • track sources of referrals to allow to create of a multi-channel customer journey path
  • build clients’ profiles and allow segmenting them
  • define custom attributes and events (it’s best to integrate your app with Google Tag Manager or some other tools of this kind).


Lead generation

Lead generation is one of the ultimate goals of digital marketing campaigns. To run such a campaign, marketers might need:

  • using built-in forms from your app
  • integrate your app with their CMS’
  • collecting data from 3rd party solutions (social media, meeting schedulers)

Even if your marketing automation app is a CRM at the same time, it’s important to allow users to use forms created in their CMSs. It’s up to you how you’ll do that: by coding if you’re targeting middle-sized companies with IT departments or pre-built solutions and plugins for popular content management systems like WordPress if you’re open to non-technical users.

To make lead generation possible, your users might need to build a landing page – your app should allow that feature, too. Actually, it’s one of the basic features of similar systems provided in free or low-paid plans.


Deals management

Marketing automation software that is a CRM simultaneously should allow the managing of deals. Here’s what you can offer to your clients:

  • changing a deal stage manually and automatically
  • add custom deal attributes
  • pass attributes values from contacts to deals
  • show contact activities and schedule tasks on the deal page


Support tickets management

A ticket management system is one of the nice-to-have features (but not a must). Having such, users don’t need to invest in task management systems for this purpose and are able to collect data about users’ problems (even from external software, if they have one). Marketing managers also can trigger campaigns targeted at people who submitted a ticket.

If you have such a module, your users don’t need any integrations to gather information about complaints.



Although you might build an all-in-one app, there will still be people who will use other solutions for particular purposes. For this reason, you need to remember to integrate your app with them (at least the most popular ones, at the beginning).

You may integrate your app with:

  • CRMs
  • email accounts (the most popular are Gmail & Exchange)
  • communication channels (like Slack, Microsoft Teams)
  • task management solutions (Jira, Trello, ClickUp etc.)
  • lead generation solutions (social media like Facebook, Calendly)
  • and many more, depending on your audiences’ needs

You may also integrate your app with offline data sources, but it’s not the common case when SaaS solutions are concerned.


Dashboard and analytics

It’s extremely important for users of marketing automation tools to follow changes in the lead amount, deals in the sales funnel or closed-won ones.

Marketing automation tools might have revenue and marketing campaign analysis (with KPIs and ROMI). However, the most common are stats that refers to the:

  • number of new leads
  • chat messages and response time
  • emails
  • page visits and unique users
  • segments and tags

Providing more advanced analytics might be your competitive advantage. If your app allows one to check whether KPIs were reached or calculate revenue, managers might be more willing to switch to it. It’s about business intelligence and big data, so it might need integrations with external systems.


Additional features (complimentary, nice-to-have ones)

There are also some features that are nice to have in digital marketing, but they are not the core of the app. For that reason, it’s good to postpone the development until you have some revenue. We can mention here:

  • heatmaps
  • brand monitoring
  • NLP analysis for automatic motivation and problems discovery
  • social media publication & campaigns management
  • webinars
  • meeting scheduling

Some of those features are provided by solutions that are quite young on the marketing automation market (like the webinar module in GetResponse) or in well-known and renowned systems (like HubSpot). It’s all about your goals and strategy.

Before you’ll decide to build one of them, think about your users. Who are they? What do they really need? And finally – what will build your competitive advantage? If you want to need more how to prepare for development, check my go-to-market guide.

How do address the most common problems users have with marketing automation tools?

There are some issues marketers face when using marketing automation platforms. Now, we’ll face them.

Problem 1: There are not only subscribers in the database

First of all, the database probably consists of not only subscribers but people without marketing consent, too (actually, most of the contacts in a CRM might not have marketing consent). It’s obvious when you think of a marketing automation tool as a CRM simultaneously, but it might be forgotten when it’s a separate tool for sending marketing emails only (it’s an email automation, actually).

Keep in mind that marketing automation software is perfect if marketers don’t want to use additional webinar solutions. Many companies already have a tool like Microsoft Teams or Google Meet. Sometimes, YouTube can be used as well. They need to build the list of a webinar attendees and not every attendee of such an event expresses marketing consent.

Here’s what you should think about or remember:

  • How to differentiate subscribers from non-subscribers (for example, a predefined attribute for email marketing consent).
  • Allow sending single emails (even automated) to contacts with no consent. Otherwise, marketers need to assign to them consent they did not express to send information about webinars they signed up for or automatic replies on a website inquiry.
  • Allow not to add any “unsubscribe” links to messages as those might be sent from personal accounts (even when automated). It’s useful when we want to send a message from a “salesperson” automatically or send an email manually to one person directly from the system. Many systems enforce marketers to place such a link and won’t send a single message otherwise. That makes “personal emails” look like newsletters. Keep in mind, that some emails might not be marketing ones (see above).

Problem 2: Email tracking

Email tracking is a core feature, but you should remember that not everyone will send emails directly from your system. For this reason, consider providing a feature for:

  • email openings tracking when those are sent from personal accounts (Gmail, Exchange),
  • attachments openings tracking (sent from personal accounts and your marketing automation system). Consider the possibility to add attachments (limited in size) instead of just adding links to external resources only,
  • rules for creating contacts from new emails,
  • excluding some emails from being sent to the system (don’t rely on mailbox filters only).


Problem 3: Scheduling campaigns

Although automatic email sending is a game-changer, it must be well-planned. When you want to plan a digital marketing campaign for a particular date, some problems might appear. You should think about solutions for:

Scheduling campaigns

In many cases, marketers are unable to plan the campaign in advance for people with tag X or being on a list Y (for example) because systems wouldn’t include contacts that were tagged this way or added to the list after scheduling the campaign. That means only a part of the group will receive an email.

The point is that your system should have two options to plan email campaigns: close the group at the moment of scheduling or send to every contact that will meet the requirements the day the campaign is scheduled to be sent.

You can address that by triggering automation on a particular day and time and selecting the group after triggering the rule. Keep in mind, however, that your system should be intuitive and straightforward, so email marketers should be able to define that right from the campaign scheduler.


Marketing teams should be able to apply complicated filtering when sending email campaigns – using lists, tags, consents, previous messages (received or opened) or even attributes.

Sending emails to contacts that didn’t open/opened a particular email

Your system should allow choosing recipients also by excluding contacts that opened or didn’t open a particular email campaign. That should be easy and intuitive, like in SalesManago – you can simply choose the “exclude” option, define the exclusion type (contacts that opened/did not open an email) and select a particular email from the drop-down list of emails that were sent.

Users shouldn’t be forced to add tags when an email is opened (or not) and build automation to send a campaign with exclusion. The more actions we need to take, the higher the probability that something will go wrong. It also requires additional competencies for email marketing experts.

The more complicated the system is (in the terms of understanding how it works and how to use it), the more probable that you’ll loose customers.

High email delivery rate

The problem is that emails are often stuck in the SPAM folder even after successful mailbox integration. You should do whatever you can to prevent that. You can check our development guide for apps with this feature.

Problem 4: Consent management

According to GDPR, companies are obligated to prove that every single consent was expressed willingly and freely. They have to keep all the customer data about expressed and withdrawn consent, including the content of the consent. For this reason, your app should:

  • provide the consent module where marketers can define a consent text and assign them to forms. The point is this feature mustn’t have any bugs and is obligated to record the text of expressed and withdrawn consents.
  • record expressed and withdrawn consents with no possibility of changing them – as an event attribute, non-editable note, or consent attribute. When expressed, the consent content should be recorded and not changed, even if the consent will be changed or withdrawn. You should register every change with no interference with the previous ones. You need to keep all records of consent changes.
  • provide separate consent for emails, web pushes and text messages. Marketing specialists should also be able to define their types of consent.


Problem 5: Deleting data

In digital marketing, it’s crucial to keep as much customer data as possible. Test your app and make sure that users won’t erase the history associated when they e.g. remove a tag. Otherwise, they can lose the history of the source of the contact or what activities the contact took.

Deleting tag history when the tag is removed is an important problem. Imagine you don’t have a precise consent management solution, and you require that all emails should be sent to contacts with marketing consent. The best option is to record the marketing consent content as a note (or event details) and assign a tag when it’s expressed. The problem appears when you remove tag history when the tag itself is removed. In this case, marketers are not capable to prove that the contact has ever given marketing consent or when that happens.

You should record when the tag was added – the date and time. If marketers create tags based on stored event details (e.g. form submission), it’s not that crucial. If your app doesn’t store event details, they need to record not only when the contact was created but what was the source, too. They might use tagging. Removing tag history means removing the knowledge about the source of the contact (and all information they store by tagging).


Problem 6: Chat

Chat is popular but it requires constant attention. I bet almost no company can afford to be ready to chat all day long. To make marketers’ lives easier, consider joining your app with a calendar service (Google, Exchange) and offering the possibility to chat only when salespeople are logged in to the system. Your system should also allow to assign a particular person to chatting and show visitors with whom they will be talking to.

It’s up to you to do that – by chat settings or automation rules. It should be simple and clearly explained.

How to build a GDPR-compliant digital marketing automation tool?

If your clients are operating in European Union or have at least one user there, you need to provide them with compliance-ready solutions like:

  • possibility to easily create different consents for different purposes,
  • prevent users from making changes to the consent content. The consent text (and informational clause, too) should be unchangeable for any reason and be stored in some way (event details, notes – it’s up to you),
  • the consent attribute that stores information about the current consent status,
  • manual consent assigning, but it would be best if they have to add a note with the base for such an activity,
  • to allow marketing teams to switch on/off tracking users that have met some conditions. They should be able to define those in automation rules. Remember that tracking is illegal if the user doesn’t agree to that,
  • it’s not enough to switch on/off tracking – marketing teams should be able to adjust the range of tracked data,
  • the system might have a feature to automatically collect only the customer data for which we have consent granted (the consent must be assigned to an attribute in this case),
  • provide marketers with user and access management solutions,
  • follow privacy by design and privacy by default rules.

To read more about how to design a GDPR-compliant app, check my development guide to the GDPR-compliant app.

How to test your app idea with the least marketing effort?

There are more and more marketing automation solutions on the market, so how to check whether your app will be successful?

Well, you don’t need to develop it at all. In the beginning, you might check the market in many ways, like recording videos or creating a landing page with a subscription option and check how the audience resonates with that.

I suggest you check Gabriela Jarzębska’s article about what the MVP is to get inspired on what you can actually do to research the market without starting the development process.

How to start marketing automation app development?

If you’re sure it’s worth starting marketing automation application development, the first step is to prepare a go-to-market strategy and gather requirements (Gabriela’s article on requirements gathering might help you to do that). Software requirement specification will not only help you to prepare for the project but gives you an opportunity to collect comparable development offers from the market.

The next step is to find some companies that will estimate the project for you based on the requirements you gathered. You can check where to look for outsourcing companies and how to choose the best one in the articles of Mike Popov, our project manager.

Feel free to ask us for estimation, as well. We’ll be happy to help 🙂

The further development steps are another story. I hope we’ll be the company you choose, but if not, let me know on LinkedIn how your app works. Who knows, maybe it will be my favourite one? 🙂

Good luck!

Head of Marketing at TeaCode

Marketing is about research and communication. As a social scientist and marketer with many years of experience, Kasia combines knowledge and crafting to help design the app and plan and execute marketing strategies for TeaCode and our clients.

Even the best app can fail if no one uses it. How do we reach them with our messages in a world saturated with communication? That's why she helps clients spread the news about their apps worldwide.

Katarzyna Sobczak-Rosochacka
Katarzyna Sobczak-Rosochacka

Marketing is about research and communication. As a social scientist and marketer with many years of experience, Kasia combines knowledge and crafting to help design the app and plan and execute marketing strategies for TeaCode and our clients. Even the best app can fail if no one uses it. How do we reach them with our messages in a world saturated with communication? That's why she helps clients spread the news about their apps worldwide.