Skip to main content

Notification management - Don’t underestimate its importance and complexity


With the rise of digital platforms and marketplaces and the gig-economy as a whole, applications send more and more notifications to their users. These notifications can be a very helpful tool for calling users to action and driving engagement on the platform but can also lead to notification fatigue (especially as all digital platforms send dozens of notifications). A good notification strategy is therefore essential.
At the same time, setting up the tooling to support this notification strategy is also of upmost importance. Such tooling should be able to implement the different features of a good notification manager at a low cost.
Unfortunately most firms still build such a notification manager from scratch, resulting in a poor result (in terms of configurability, intelligence and usability) and hundreds of mandays spent on it.
It is therefore better to work with a tool which manages all aspects of such a notification manager. Unfortunately, in the world of operational messaging (contrary to the world of marketing related messaging, i.e. campaigns) there are very few players offering such a tool (even though every application and digital platform needs to handle this). Although there are many SaaS platforms (like SendGrid, Twilio, Amazon SNS…​) offering part of the required features, it is hard to find a tool that provides all required functionalities (one example is Courier - https://www.trycourier.com/, but this is quite unique in its segment).
But before diving into the features of such a tool, it is important to define what we mean with a notification. A notification is any message to a user (independent of the type of message), which informs the user about a specific event and ideally calls him to action (to do something on the digital platform).
In order to determine the required features of a good notification manager, it is best to describe the lifecycle of a smart notification in a notification manager:
  • Step 1: called the notification manager with a user identifier, event type and potentially variables (content) to be included in the notification messages
  • Step 2: try to map the event type to a notification template
  • Step 3: retrieve the user details for the provided user identifier. This consists of the user’s language, email address, phone number…​, but also of the specific notification configuration of the user (i.e. user might have disabled specific notifications or enabled/disabled certain notification output types).
  • Step 4: determine based on a set of rules if a notification should be sent out or not
  • Step 5: determine based on a set of rules which output channel(s) should be used to send the notification to the user. This step is very important to avoid notification fatigue and maximize user engagement.
  • Step 6: retrieve for each output channel the required API tokens to call the output channel
  • Step 7: select the right template based on the language and output channel and replace the variables in the template (with the provided data in step 1).
  • Step 8: call the output channel with the enriched template, API tokens and user address. Different output channels should be supported, like SMS, mail, internal notifications, mobile push notifications (i.e. notification showed on mobile dashboard even if application is not open) and a chat-messenger tool (such as Slack, Microsoft Teams, Mattermost and Facebook Messenger),
  • Step 9: check the reply of the output generation. If the output failed, execute a failure-process (e.g. retry or divert to another output channel)
  • Step 10: track the response to the call to action in the output message sent to the user (in order to monitor the effectiveness of the notification).
All those steps should be supported in an easy, flexible and intelligent way by the notification manager tool. This results in following functional features:
  • Expose an easy and well-documented API to trigger the notification manager. Note that in above flow the selection of which user(s) should be triggered is done outside the notification manager, but we could consider this also part of the notification manager tool.
  • Manage a look-up table between event types and notification templates.
  • Keep track of event types, which cannot be mapped to notification templates, so that missing notification templates can be easily added and associated events can still be recovered when notification template is created.
  • Integration with different user management tools, in order to query all important user data. A good notification manager should also be able to cope with different output addresses per user (e.g. different mail addresses), the possibility to work with back-ups and work with group boxes (e.g. group email address).
  • Management of notification preferences, i.e. enable/disable notification types, manage allowed output types per notification type, manage specific restrictions and filters per notification type…​ This feature should also manage the default values for these preferences in case of a new user.
  • Management of inter-dependencies between notification types, e.g. only send out notification type as soon as other notification type has been sent out (guarantee order), don’t send out a notification type if other notification type already sent out to user, allow to filter out a notification if time to previous notification too short…​
  • Determine notification output types via available output types, user’s notification preferences, user’s current state (e.g. when user logged in, better to send notification only via internal messaging box in the platform and not via email, SMS…​), user’s engagement history for different output types…​
  • Selection of right notification template and replacing variables in it. This can be a simple textual find/replace, but also more complex rule-based substitutions can be envisaged.
  • Standard integrations with different output generation applications and SaaS platforms (such as SendGrid, Twilio, MailGun, MailChimp, CM Telecom, Slack, Microsoft Teams, Facebook Messenger, Firebase…​)
  • Tracking and monitoring of engagement for different output types (read/unread, call to action executed or not…​)
  • Reverting unread notifications, which are no longer relevant, e.g. when read via other channel, when already notification generated which makes the previous one obsolete (e.g. because further in workflow process) or when expired (it should be possible to set an expiration time per notification).
  • Tool for managing notification templates, with possibility to manage different languages, different output types, include variables, possibility to define certain rules (e.g. certain blocks of text to appear or not or change, depending on variable value) and add call to action buttons/links.
  • Tool for managing all rules for accepting/rejecting notification and selecting output type(s)
  • Tool for managing notifications, e.g. bulk updates to mark as read or remove
  • Tool for sending out ad-hoc notifications, allowing to send a custom message to a specific audience.
  • Tool for searching historical notifications (i.e. per user and per output type) and tool for searching ad-hoc notifications (overview independent of user and output type).
  • Tool for managing API keys for integration with different platform to generating outputs. These APIs keys will be environment specific and also tenant specific (if multi-tenant platform).
Apart from these functional features, a good notification management tool should also support multiple non-functional features, such as
  • Security: as the notification manager handles important communication with users, it should be very well protected as when hacked, it can expose confidential information, but also allow hackers to send all kind of messages to users (as if the platform would send them).
  • Scalability: a notification manager should be extremely scalable, i.e. not only to support fluctuations and growth in the business and new platform features (resulting in new notifications), but even on a stable platform with a stable business, the notification manager will be confronted with very spiky loads (e.g. a batch processing resulting in the creation of thousands of notifications in parallel).
  • Performance: a notification manager should have a very low latency, especially the handling of the API call to generate a notification (as the calling process will probably make a synchronous call for this). To keep the latency low, the notification manager will typically work asynchronous internally, i.e. queue the API call for asynchronous further processing and immediately reply to the API call.
    Furthermore for internal notifications, a mechanism of web-sockets and/or web-hooks will need to be foreseen to rapidly inform the platform that a new notification is available for an active user. This avoids the platform message box to poll on regular intervals, which results in higher latencies and lots of unnecessary calls.
  • Auditability: every notification and even every step in the notification manager (see above) should be audited, so that easy debugging and auditing of issues with notifications can be done. Note that the notification messages will typically contain personal information, meaning that special measures should be taken not to expose this logging and audit information without proper security.
  • Environment management: as DevOps results more and more in large sets of automated tests executed continuously, it is important to avoid sending out automatically emails/sms’es from test environments. The notification manager tool should therefore support options like disabled/enabling specific output types per environment, managing white and blacklisting for specific output types per environment, automatically adding an indication of environment in output messages, when not generated in production environment…​
  • Resilience: the notification manager should be highly resilient. This means it should be able to queue notification requests in case of unavailability, support retries for output generation and support switching to other output types, when a specific output type is not available.
The above shows that managing notifications smartly is a considerable effort and should therefore not be underestimated. It is therefore recommended to make a maximum use of different tooling available in the market (both open-source and proprietary), rather than reinventing the wheel again in your organization.
Good notification management will however become crucial, when static overviews on different websites (e.g. financial overviews in banks and insurance companies or invoice overviews on telecom-websites) are gradually replaced by feeds (cfr. social media feeds), which provide you with an actionable insights on a continuous basis and are driven by notifications.

Comments

Popular posts from this blog

Transforming the insurance sector to an Open API Ecosystem

1. Introduction "Open" has recently become a new buzzword in the financial services industry, i.e.   open data, open APIs, Open Banking, Open Insurance …​, but what does this new buzzword really mean? "Open" refers to the capability of companies to expose their services to the outside world, so that   external partners or even competitors   can use these services to bring added value to their customers. This trend is made possible by the technological evolution of   open APIs (Application Programming Interfaces), which are the   digital ports making this communication possible. Together companies, interconnected through open APIs, form a true   API ecosystem , offering best-of-breed customer experience, by combining the digital services offered by multiple companies. In the   technology sector   this evolution has been ongoing for multiple years (think about the travelling sector, allowing you to book any hotel online). An excellent example of this

Are product silos in a bank inevitable?

Silo thinking   is often frowned upon in the industry. It is often a synonym for bureaucratic processes and politics and in almost every article describing the threats of new innovative Fintech players on the banking industry, the strong bank product silos are put forward as one of the main blockages why incumbent banks are not able to (quickly) react to the changing customer expectations. Customers want solutions to their problems   and do not want to be bothered about the internal organisation of their bank. Most banks are however organized by product domain (daily banking, investments and lending) and by customer segmentation (retail banking, private banking, SMEs and corporates). This division is reflected both at business and IT side and almost automatically leads to the creation of silos. It is however difficult to reorganize a bank without creating new silos or introducing other types of issues and inefficiencies. An organization is never ideal and needs to take a number of cons

RPA - The miracle solution for incumbent banks to bridge the automation gap with neo-banks?

Hypes and marketing buzz words are strongly present in the IT landscape. Often these are existing concepts, which have evolved technologically and are then renamed to a new term, as if it were a brand new technology or concept. If you want to understand and assess these new trends, it is important to   reduce the concepts to their essence and compare them with existing technologies , e.g. Integration (middleware) software   ensures that 2 separate applications or components can be integrated in an easy way. Of course, there is a huge evolution in the protocols, volumes of exchanged data, scalability, performance…​, but in essence the problem remains the same. Nonetheless, there have been multiple terms for integration software such as ETL, ESB, EAI, SOA, Service Mesh…​ Data storage software   ensures that data is stored in such a way that data is not lost and that there is some kind guaranteed consistency, maximum availability and scalability, easy retrieval and searching

IoT - Revolution or Evolution in the Financial Services Industry

1. The IoT hype We have all heard about the   "Internet of Things" (IoT)   as this revolutionary new technology, which will radically change our lives. But is it really such a revolution and will it really have an impact on the Financial Services Industry? To refresh our memory, the Internet of Things (IoT) refers to any   object , which is able to   collect data and communicate and share this information (like condition, geolocation…​)   over the internet . This communication will often occur between 2 objects (i.e. not involving any human), which is often referred to as Machine-to-Machine (M2M) communication. Well known examples are home thermostats, home security systems, fitness and health monitors, wearables…​ This all seems futuristic, but   smartphones, tablets and smartwatches   can also be considered as IoT devices. More importantly, beside these futuristic visions of IoT, the smartphone will most likely continue to be the center of the connected devi

Neobanks should find their niche to improve their profitability

The last 5 years dozens of so-called   neo- or challenger banks  (according to Exton Consulting 256 neobanks are in circulation today) have disrupted the banking landscape, by offering a fully digitized (cfr. "tech companies with a banking license"), very customer-centric, simple and fluent (e.g. possibility to become client and open an account in a few clicks) and low-cost product and service offering. While several of them are already valued at billions of euros (like Revolut, Monzo, Chime, N26, NuBank…​), very few of them are expected to be profitable in the coming years and even less are already profitable today (Accenture research shows that the average UK neobank loses $11 per user yearly). These challenger banks are typically confronted with increasing costs, while the margins generated per customer remain low (e.g. due to the offering of free products and services or above market-level saving account interest rates). While it’s obvious that disrupting the financial ma

PFM, BFM, Financial Butler, Financial Cockpit, Account Aggregator…​ - Will the cumbersome administrative tasks on your financials finally be taken over by your financial institution?

1. Introduction Personal Financial Management   (PFM) refers to the software that helps users manage their money (budget, save and spend money). Therefore, it is often also called   Digital Money Management . In other words, PFM tools   help customers make sense of their money , i.e. they help customers follow, classify, remain informed and manage their Personal Finances. Personal Finance   used to be (or still is) a time-consuming effort , where people would manually input all their income and expenses in a self-developed spreadsheet, which would gradually be extended with additional calculations. Already for more than 20 years,   several software vendors aim to give a solution to this , by providing applications, websites and/or apps. These tools were never massively adopted, since they still required a lot of manual interventions (manual input of income and expense transaction, manual mapping transactions to categories…​) and lacked an integration in the day-to-da

Beyond Imagination: The Rise and Evolution of Generative AI Tools

Generative AI   has revolutionized the way we create and interact with digital content. Since the launch of Dall-E in July 2022 and ChatGPT in November 2022, the field has seen unprecedented growth. This technology, initially popularized by OpenAI’s ChatGPT, has now been embraced by major tech players like Microsoft and Google, as well as a plethora of innovative startups. These advancements offer solutions for generating a diverse range of outputs including text, images, video, audio, and other media from simple prompts. The consumer now has a vast array of options based on their specific   output needs and use cases . From generic, large-scale, multi-modal models like OpenAI’s ChatGPT and Google’s Bard to specialized solutions tailored for specific use cases and sectors like finance and legal advice, the choices are vast and varied. For instance, in the financial sector, tools like BloombergGPT ( https://www.bloomberg.com/ ), FinGPT ( https://fin-gpt.org/ ), StockGPT ( https://www.as

Eco-systems - Welcome to a new cooperating world

Last week I attended the Digital Finance Summit conference in Brussels, organized by Fintech Belgium, B-Hive, Febelfin and EBF. A central theme of the summit was the cooperation between banks and Fintechs and more in general the rise of ecosystems. In the past I have written already about this topic in my blogs about "Transforming the bank to an Open API Ecosystem ( https://www.linkedin.com/pulse/transforming-bank-open-api-ecosystem-joris-lochy/ ) and "The war for direct customer contact - Banks should fight along!" ( https://www.linkedin.com/pulse/war-direct-customer-contact-banks-should-fight-along-joris-lochy/ ), but still I was surprised about the number of initiatives taken in this domain. In my last job at The Glue, I already had the pleasure to work on several interesting cases: TOCO   ( https://www.toco.eu ): bringing entrepreneurs, accountants and banks closer together, by supporting entrepreneurs and accountants in their daily admin (and in the f

Low- and No-code platforms - Will IT developers soon be out of a job?

“ The future of coding is no coding at all ” - Chris Wanstrath (CEO at GitHub). Mid May I posted a blog on RPA (Robotic Process Automation -   https://bankloch.blogspot.com/2020/05/rpa-miracle-solution-for-incumbent.html ) on how this technology, promises the world to companies. A very similar story is found with low- and no-code platforms, which also promise that business people, with limited to no knowledge of IT, can create complex business applications. These   platforms originate , just as RPA tools,   from the growing demand for IT developments , while IT cannot keep up with the available capacity. As a result, an enormous gap between IT teams and business demands is created, which is often filled by shadow-IT departments, which extend the IT workforce and create business tools in Excel, Access, WordPress…​ Unfortunately these tools built in shadow-IT departments arrive very soon at their limits, as they don’t support the required non-functional requirements (like high availabili

Can Augmented Reality make daily banking a more pleasant experience?

With the   increased competition in the financial services landscape (between banks/insurers, but also of new entrants like FinTechs and Telcos), customers are demanding and expecting a more innovative and fluent digital user experience. Unfortunately, most banks and insurers, with their product-oriented online and mobile platforms, are not known for their pleasant and fluent user experience. The   trend towards customer oriented services , like personal financial management (with functions like budget management, expense categorization, saving goals…​) and robo-advise, is already a big step in the right direction, but even then, managing financials is still considered to be a boring intangible and complex task for most people. Virtual (VR) and augmented reality (AR)   could bring a solution. These technologies provide a user experience which is   more intuitive, personalised and pleasant , as they introduce an element of   gamification   to the experience. Both VR and AR