AWS for Industries

Geo-based real time marketing for Financial Services on AWS

Financial Services Institutions (FSIs) are looking for opportunities to exploit interoperability across a collaborative ecosystem to boost transactions through their channels, partners’ channels, and payment methods. From this post: “Forrester asserts that aggregators and intermediaries that create value across industries will become important agents in a diverse collaborative ecosystem. However, not all organizations have the tools to decipher and understand what this data means”. Therefore, to reach the right audiences at the right time, wherever they are, it’s relevant to have rich data in near real-time, allowing us to deliver effective and relevant marketing campaigns.

As mentioned previously, FSIs are looking for mechanisms/technologies like Location-Based Advertising (LBA) to bring their customers closer to the value that their ecosystem of allies could provide. LBA is a strategy for marketing that combines mobile ads with location tracking to show consumers content that is relevant to their physical location. For example, if a client is part of a banking loyalty program that has special offers from an ecosystem of allies, they might be open to receiving the offers that suit their context (i.e., place, date, time, desires) after having opted-in to share their location safely, and accepted to receive offers from their favorite brands.

This post describes a reference architecture for an application that sends near real-time notifications based on users’ locations. This application enables marketing areas to release segmented marketing campaigns based on customer locations, with the option to extend it to include data such as customer preferences or needs, demographic information, finance status, among others. With the prior client’s approval to know their locations, the solution validates in real-time if this customer is a potential buyer sending them a time-bound offer based on their preferences, location, and the bank’s merchant partnership.

In the end, the marketing users can see how many notifications they send through different channels (SMS, Voice channel, push notifications, email, etc.). Furthermore, they can check the effectiveness of their campaign based on the analytics of their bank transactions. This will help manage the lifecycle of a marketing campaign, going beyond the channel effectiveness measurement and understanding the market impact.

Overview of reference architecture

This reference architecture combines multiple technologies, such as location-based services, real-time and batch data analysis, event buses, and a multichannel notification platform to enable FSI to send offers to customers via SMS, Voice channel, push notifications, and email.

Which services are we leveraging?

Amazon Location Service is a fully-managed service that allows developers to add location functionality, such as maps, points of interest, geocoding, routing, tracking, and geofencing, to their applications. This is done without sacrificing data security, user privacy, data quality, or cost.

Amazon EventBridge is a service that provides real-time access to changes in data in AWS services, their applications, and software as a service (SaaS) applications without writing code.

Amazon Simple Notification Service (Amazon SNS) is a web service that makes it easy to set up, operate, and send notifications from the cloud.

Amazon Managed Streaming for Apache Kafka (Amazon MSK) is an AWS streaming data service that manages Kafka infrastructure and operations. This makes it easy for customers to run Kafka applications and Kafka Connect connectors on AWS without becoming experts in operating Apache Kafka.

Amazon Kinesis Data Analytics is the easiest way to transform and analyze streaming data in real-time with Apache Flink. It lets you quickly build end-to-end stream processing applications for log analytics, clickstream analytics, Internet of Things (IoT), ad tech, gaming, and more.

Architecture and components

  1. Mobile app: The app tracks the client’s location after their approval. The app sends location data to Amazon Location based on the frequency defined in the mobile app.
  2. Geofencing and tracking: Amazon Location contains the geofences to determine the action range of the allies’ stores. When a client is near a geofence, it represents a coincidence between the client and the ally locations. Therefore, EventBridge triggers an event in which an AWS Lambda function sends both the client and ally identification numbers to Amazon MSK with a previous validation in Amazon DynamoDB that previous notifications haven’t been sent to the same client in a pre-defined period of time. This is to avoid clients being overwhelmed with too many notifications in a short time.
  3. Real time analysis: Amazon MSK receives and temporarily stores the clients’ and allies’ identification numbers as well as the event timestamp coming from Lambda. A Kinesis Data Analytics application for Apache Flink then consumes this data in real-time to subsequently enrich it with customer and ally information that is stored in the slow changing data sources in Amazon Aurora. This comprises the necessary information to later send the notification, such as the client’s phone number, or email, and the offer details. Then, the result written to a different MSK topic where another Lambda function takes it and forwards it to both the real-time notification phase and the data lake through Amazon Kinesis Data Firehose.Additionally, a parallel real-time process runs in Kinesis Data Analytics. It processes transactions data coming from another topic of Amazon MSK and identifies coincidences with the previously sent notifications within a pre-defined period of time. For example, if a notification with some offer details is sent to a client at a specific point in time, and this customer later utilizes this offer and thus generates a corresponding purchase and transaction within 15 minutes of the notification reception, it is identified by the Flink process as an effective notification as it resulted in a purchase. This result is also stored in the “Effective Notifications” bucket of Amazon Simple Storage Service (Amazon S3).
  4. Slow changing data sources: The slow changing data sources are datasets in relational databases, such as Aurora, that include information about customers and the banks’ allies. These can be used during the real-time analysis to obtain the relevant data about the client to send notifications, such as phone number, email, names, and customer preferences. These datasets can be found in customer databases in company applications such as CRM, CCM, or e-commerce.
  5. Real time notifications: Whenever there is a coincidence between the client’s location and the ally’s store, and this coincidence data contains all of the necessary information to send the notification, Amazon Simple Notification Service (Amazon SNS) sends a message to the client through SMS or push notification to their mobile phone.
  6. Data Lake: The data lake located in Amazon S3 will host both the entire sent notifications in the “All Notifications” bucket, and the effective ones that resulted in transactions in the “Effective notifications” bucket. Financial institutions can later generate reports about the performance of marketing campaigns using this data.
  7. Data analytics and reporting: The financial company wants to know the results and effectiveness of the campaigns and provide results to their allies. Therefore, they can use Amazon Athena to analyze the data stored on the Data Lake and easily calculate the rate of effective notifications that resulted in transactions. Amazon QuickSight would simplify campaign analysis using rich dashboards and visualizations.


We have created a demo where you can simulate the movement of a client within a city and check the notifications generated once the client is close to any of the allies. You can access the demo here and follow the next steps to get new offers:

  1. Initial location: define the initial location – for this, you can place the car in the location you prefer.
  2. Destination: define the final destination – for this, you can place the finish mark in the location you prefer.
  3. Draw the route: you can know the route from the initial location to the destination using the Draw button.
  4. Travel: and finally, you can use the travel button to start moving between the initial location and the destination. You get offers every time you are near a store.

Geo-based real time marketing for Financial Services on AWS_figure 2

In the near future, we will provide a AWS CloudFormation that can be used to deploy the baseline architecture in your own account.


The geo-based real-time marketing solution for financial services explained in this post defines a reference architecture for sending real-time marketing notifications based on the location of both clients and commercial allies. Additionally, the effectiveness of these campaigns can be measured by the marketing department. This baseline solution leverages several AWS services that can be integrated with existing systems, and customized to meet specific business needs.

Diego Ortiz

Diego Ortiz

Diego is a Senior Data Strategy Solutions Architect for Latin America based in Bogotá, Colombia with +12 years of experience in technology roles. He supports customers from various industries to develop data analytics solutions on AWS and thus accelerate their data journeys to higher maturity levels. He also leads the AWS analytics technical community in the Spanish speaking countries in Latin America.

Daniel Ayala

Daniel Ayala

Daniel is a Senior Solutions Architect based in Colombia. He has been in the field of software development and architecture for more than 12 years. He has worked in AWS for South America helping Enterprise customers to accelerate their journey to the cloud. In his current role, he worked on help the main financial service companies in their cloud adoption working with AWS partners and customers to provide them with architectural guidance for building scalable architecture and execute strategies to drive adoption of AWS services

Javier Cristancho

Javier Cristancho

Javier Cristancho is a Sr. Solutions Architect Manager in Colombia with +15 years of experience in technical roles at various technology companies throughout LatAm. Throughout his career, he has been dedicated to driving digital transformation in diverse industries, such as Financial Services, Retail, Telco, and CPG. Javier is ambassador for Amazon's culture of innovation, leveraging his expertise to help drive customer success. He is also co-founder of the Serverless community in LatAm.

Luis Eduardo Torres

Luis Eduardo Torres

Luis Eduardo Torres is a Senior Solutions Architect based in Bogotá, Colombia. He has more than 12 years of experience working in different industries and for the last 8 years he has focused on the Financial Services industry. He helps companies to build their business using AWS. IT architectures and analytics are some of his passions and he is always open to start a conversation on these topics.