Use your enterprise data to personalise App user engagement

Jul 16

Use your enterprise data to personalise App user engagement

Simple and Secure Integrations

Some sectors (such as banking) are extremely sensitive to customer data outside their own firewall or cloud. We totally get this – previously founding ThreatMetrix to fraud detection for customers makes me pretty aware of what our customers want to share. With StreetHawk we want App developers to be able to automate engagement easily and quickly without having to overthink the data integration component, so this post explains:

  1. the simplest integration
  2. additional security integration

This diagram shows how you can liberate data in backend systems to make it relevant for Mobile Engagement Automation. Its slightly geeky so if you are a marketer or product manager you might like to forward to your favourite developer.

Make Enterprise backend data actionable

Make Enterprise backend data actionable

Let me explain…. 🙂

Step 1: As you know StreetHawk plugs into iOS and Android in about 15 minutes. This gets you started with segmentation, reporting and campaigns for App user engagement. So this is “YOUR APP” with the StreetHawk SDK integrated. Step 2: App users can be “tagged” from the App side. This can be when the user clicks a button or registers etc. This is client-side tagging and a very simple and quick way to segment users based on their interaction with the application. The SDK API describes this here (for iOS). The most important “tag” you can tell StreetHawk is “sh_cuid” – this is your user’s ID (from your system). The reason why this is important is that it helps you in Step 3! Step 3: App users can be “tagged” from your Backend or Enterprise system. So it doesn’t matter whether you have a Ruby on Rails custom App or a SalesForce CRM or a Customer Loyalty System – you can now start to liberate that data to make more segmented, personalised interaction with your mobile users. The tagging API you call from the backend is here. Using the “sh_cuid” defined in Step 2 that is the “primary key” that you can tag users from the backend. In this example we can see that “VIP” and “gender”**.

More security

In the diagram it says “sh_cuid” is a primary key – (anonymized if you wish):

  • often a sh_cuid might be a magic number (or GUID) from your backend system
  • for some Apps it is the email address of the user
  • it might be a public id (for the sake of this example, lets say its a bank account ID)

Some App developers might be sensitive to sharing the customer’s email address or a “bank account ID) – so this is an example about how iOS Apps could use the Objective C

"#import <CommonCrypto/CommonDigest.h>"

to generate an anonymised email address. For a few extra lines you get this capability. See the Stackoverflow helper code here.

NSString *sha1Email = [utility sha1:<your_app_user_email_ID>];
[StreetHawk tagString:sha1Email forKey:@"sh_cuid"];


Cool! – So What’s the catch?

What you win on the swings you lose on the roundabout – StreetHawk supports (on some plans) ability to send triggered email, so you’ll need to share the correct email address with us (using the “sh_email” tag) if you want us to do that. So sometimes more security results in reduced functionality – but its your call! At StreetHawk we don’t really mind what you do, the platform has a huge set of features that you might want to use. In the case of triggered emails – you can reach these people if they have push notifications disabled by sending them an email – otherwise they are “unreachable”.

Summary and Suggestion

With StreetHawk, the more you tag (from within the App or from your backend) the more capability  you have for mobile engagement automation or mobile marketing automation – so its a balance of what you want to share and what value you deliver to the user. So consider the example above where “VIP”: true. If this was a loyalty application and the user has a particular points balance – you may not wish to tag those points in StreetHawk, so you can tag just a flag “VIP”. This is simple and allows you to segment VIP users from normal users. A more sophisticated example might be Bronze, Silver, Gold, Platinum for different bands of loyalty points. Its your call! Drop me a note if you want more explanation.

Curl & Python examples to tag a user from your backend

curl -X POST -d "app_key= APP_KEY" 
   -d "sh_cuid=<your user's id>" 
   -d "key=myNewKey" 
   -d "string=myNewStringValue" 
   -b ~/cookies 
params = dict(app_key=APP_KEY, 
   sh_cuid=<your user's id>,
r =', params, cookies=COOKIES)

** actually we have a reserved tag “sh_gender” which is more powerful.

  Get our Referral Program Guide