Pulsate Academy

Get the top mobile marketing
webisodes straight to your inbox!

Real-Time Event Processing: How to be the Smartest App in Town

Hello and welcome to the next episode in the real time marketing series. In our last episode at a high level we looked at real time marketing software and four of the key elements that you must consider. Which included real time event processing, real time segmentation, real time personalization and real time messaging. In today’s video we’re just going to concentrate on real time event processing and the implications that it has for real-time marketing. So let’s get started.

Here’s a still of this week’s Academy whiteboard. Right click and save to download!


So what does real time mean? Real time means different things to different people and depending on what type of app you have you might want to process information and data quite quickly within milliseconds, it could be seconds, it could be hours, it could be days. So it all depends on the type of app you have and the type of users and how time sensitive your information is. So if we take for example a banking app. With some banks maybe they’d want to take 24 hours before they update information for you. But others might want to do it quite quickly and if you go to the bank, you go to an ATM you withdraw cash and if you open up your app and then you check your bank balance. Pretty much it will update in a couple of seconds.

So that’s quite a good user experience where you can see that your transaction has happened. Whereas some banks, if they leave it for 24 hours. You might make three or four transactions that day and your balance isn’t updating so you’re not too sure how much has been taken out during the day. So it could be an issue for some people. So that is up to the organization how quickly they want to process that kind of information.

So what is real time event processing? So it’s taking data from different sources. It could be location data, transactional data, CRM data, and social data. So with social it could be from Facebook, Twitter or Klout that have public API’s where you can query data that way and extract it. With transactional data you can use Webhooks to bring data in for example from sources like Paydiant, Stripe, PayPal, so you’re able to bring information like that and bring it into your real time marketing vendors database. So that would pull in information there and we’ll go into that in a minute. Where we talk about the different sources and the problem where you have information siloed. So a lot of the time you’re going to have probably SQL and NoSQL databases with different silos of information and you need to bring all that information together.

So some of the things with SQL databases, why people have moved away to NoSQL is because of scalability issues and maybe there not as agile and they can be quite expensive. Whereas NoSQL, the frequency of queries that you can make and the volume of queries that you can make is far greater and much cheaper. So what happens is you’re ingesting, you’re matching, you’re extracting, you’re processing all this different information and what you’re doing is you’re creating this unified customer profile. Which will be sitting in the vendor’s database.

So if you just have a quick look at the diagram here. What happens is, when your mobile app is on somebody’s device and they open it, location information, event information, they are all sent then to the vendor’s database. Now if you have your own CRM that is hosted onsite or you’re using cloud base CRM, this information then is going to go into your vendors database using an API and this means you’re able to create content, you’re able to segment users in your real time marketing platform. Where it’s taking information from the database, it’s processing it and then you’re able to send it through push notifications using the APNS and Google Cloud messaging and back down to the user’s device.

So when they open that push notification again the same events location data and the user record is continuously updating here with information from location, from social, and then from what’s happening then in the CRM database. So they might make purchases, their attributes might be updated. So it’s very important for this information to be constantly flowing and updating. So that’s just kind of a brief overview of how some of the real time event processing works. So let’s quickly at a very high level just look at some of the event processing and capabilities and first of all an event has to be identified and to identify an event you can say that it’s a significant change in state and what I mean by that, you could be in your app and there’s an item that is for sale you click a button and it’s bought.

So going from that state of being for sale to being bought is an event. So you would record that as an event. So basically it’s correlating information then to understand the true value. If it’s going to be reactive or proactive type of events that you’re processing and some of the information then when you look at beacons, you’re going to be looking at temperature. You could be looking at then the distance of a user away from a beacon and it’s continuously getting the signal strength and recording data. So it’s processing data quite quickly and quite regularly and so then you just have to examine the frequency of how this is being processed.

Some of the complex decisions then that you might have to make if say you’re a fitness app that you don’t want to disturb your users when they’re running or when they’re jogging or maybe you actually do want to send them a notification when they are doing these things. Basically when you look at this you’re recording lat and longs and then the frequency of change then for the latitude and longitude. You’re going to be able to determine the activity that that user is doing. So if they’re slowly moving along you know that they’re probably walking. If they’re going at a faster pace they’re probably jogging. So you can decide then, do I really want to interrupt this user at this stage or not? So that’s kind of some of the complex decision making and intelligent decisions that having the correct information and very fast information at your fingertips and the benefits that it can do for your app.

So three things to avoid before I go. First thing is copies of data, so that’s having multiple databases with some of the same criteria for users. So you don’t have, your user record is getting updated but it doesn’t know which information to put in there. So what I mean by that is you could have an email address for a user that is different on this database to this one and then you have to decide is that information coming from this database, is that overriding obsolete information or vice versa.

So having copies of data can be dangerous and you need to make sure that you clean your data to avoid this, and that’s like multiple databases as well and if information is siloed in different databases, you want to make sure that you can extract from where you need to get it and that the information is up-to-date and then finally cache data. That’s when data errors can happen with this. When data is cached for periods of time because the data could be obsolete and you’re using that information then to create campaigns and send creative to your users. So that is something very important that you should try and avoid.

So that pretty much wraps up this episode of Pulsate Academy and our next video we’ll be looking at real time segmentation. If you have any comments you can leave them below or you can get us at @pulsatehq on Twitter. So I look forward to seeing you next time.




Request Demo