Solution architecture: Personalised marketing solutions

Personalised marketing is essential for building customer loyalty and remaining profitable. Reaching customers and getting them to engage is harder than ever and generic offers are easily missed or ignored. Current marketing systems fail to take advantage of data which can help solve this problem.

Marketers using intelligent systems and analysing massive amounts of data can deliver highly relevant and personalised offers to each user, cutting through the clutter and driving engagement. For example, retailers can provide offers and content based on each customer’s unique interests and preferences, putting products in front of the people most likely to buy them.

By personalising your offers, you will deliver an individualised experience for every current or prospective customer, boosting engagement and improving customer conversion, lifetime value and retention.

Deploy to Azure

Use the following pre-built template to deploy this architecture to Azure

Deploy to Azure

View deployed solution

Browse on GitHub

Cosmos DB (Azu r e Se r vices) Dashb o a r d B r owser Azu r e S t r eam Anal y tics (Near R eal-Time Agg r ega t es) Input E v ents E v ent Hub Cold S ta r t P r oduct Affinity Maching Lea r ning (P r oduct Affinity) Raw S t r eam Data P e r sonalized Offer Logic

Implementation guidance

Products/Description Documentation

Event Hubs

Event Hubs ingests raw click-stream data from Functions and passes it on to Stream Analytics.

Stream Analytics

Stream Analytics aggregates clicks in near real-time by product, offer and user to write to Azure Cosmos DB and also archives raw click-stream data to Azure Storage.

Azure Cosmos DB

Azure Cosmos DB stores aggregated data of clicks by user, product and offer as well as user-profile information.


Azure Storage stores archived raw click-stream data from Stream Analytics.


Azure Functions takes in user clickstream data from website and reads existing user history from Azure Cosmos DB. These data are then run through the Machine Learning web service or used along with the cold-start data in Redis Cache to obtain product-affinity scores. Product-affinity scores are used with the personalised-offer logic to determine the most relevant offer to present to the user.

Machine Learning Studio

Machine Learning helps you easily design, test, operationalise and manage predictive analytics solutions in the cloud.

Redis Cache

Redis Cache stores pre-computed cold-start product affinity scores for users without history.

Power BI

Power BI Visualises user activity data as well as offers presented by reading in data from Cosmos DB.

Related solution architectures

Browser Application Insights CDN SQL Database Redis Cache CMS on Web App

Simple digital marketing website

Start simple with the content management system that enables you to easily maintain the messaging on your website in real-time, from a browser, with no coding skills.

Learn more
Application Insights App Service Phone & Tablet Offline sync HockeyApp Continuous integrationand deployment SQL Database Identity provider Blob Storage

Task-based consumer mobile app

A mobile backend that is used by iOS, Android and Windows client apps. Use Xamarin or native client SDKs to build a mobile client app with offline sync support, including offline sync of image files. App Service Authentication is used to connect to an identity provider and Azure Blob storage is used to store images in a cost-effective and scalable way.

Learn more