0
Engage Your Customers
with SNS Mobile Push
and Amazon Analytics
March 18, 2014
Jon Turow
Michael Pesce
65% of mobile apps are abandoned
within 90 days.
http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded
“…understanding and improving user
engagement is the new currency of doing
business in the new digital world.”
–Peter Fara...
Mobile push notifications engage customers when your app
is not currently active.
Mobile push notifications engage customers when your app
is not currently active.
• Right message
• Right user
• Right time
Discussion Topics
• Engaging Your Users with Push Notifications
• Quick Intro to Mobile Push and Simple Notification Servi...
Mobile push notifications engage customers when your app
is not currently active.
• Users opt-in to receive them
• Deliver...
Push notifications drive user engagement
“Some of us have very busy lives and can’t
be checking the game 24/7. It would be...
Some Use Cases
Broadcast Direct Closed Loop
Identical messages to
many players at once
Unique messages to
individual playe...
Some Use Cases
Broadcast Direct Closed Loop
Identical messages to
many players at once
Unique messages to
individual playe...
Broadcast Push Notification Use Cases
• New features/content/games
• Promotion start/ends/redemption
• Active players (act...
Broadcast Push Notification Use Cases
• “New episode available now!”
• “Halloween challenge starts today.”
• “Keep the str...
Some Use Cases
Broadcast Closed Loop
Identical messages to
many players at once
Targeted and optimized
with analytics
Dire...
Direct Push Notification Use Cases
• Messaging
• Turn-based activities
• Events
• User lifecycle
• Administrative
Direct Push Notification Use Cases
• “Jon invited you to a game.”
• “It’s your turn to play.”
• “You now have full lives.”...
Some Use Cases
Broadcast
Identical messages to
many players at once
Direct
Unique messages to
individual players
Closed Lo...
Closed Loop Push Notification Use Cases
• Broadcast push notifications
• Direct push notifications
Closed Loop Push Notification Use Cases
• Different messages
• Different frequencies
• Different segments
• Different time...
Some Use Cases
Broadcast Direct Closed Loop
Identical messages to
many players at once
Unique messages to
individual playe...
Consider push notifications as calls-to-action: what
messages will most effectively reengage your players?
Mirrorball Slots - Mobile
Mirrorball Slots - Challenges
Mirrorball Slots - Challenges
Push 1:
Initial Offer
Push 2:
Final Offer
Push 3:
Offer Redemption
Push notifications drive user engagement
Without Push With Push
Real User Engagement Comparison
Initial Offer
Final Offer
...
Discussion Topics
• Engaging Your Users with Push Notifications
• Quick Intro to Mobile Push and Simple Notification Servi...
Your cloud application directs mobile push notifications to
a specific app on a specific device
Cloud App Mobile Apps
Notifications are delivered via platform-specific push
services, which keep connections with their devices.
Cloud App Mobi...
Developers manage tokens for each device, and must
proactively swap or disable them based on feedback.
Platform
Service
To...
Each platform-specific push service works differently.
Apple APNS
Google GCM
Amazon ADM
• Different APIs
• Different Featu...
Push notifications get even more complex as you scale to
support millions of devices.
Cloud App
Platform Services Mobile A...
Developers build custom intermediaries to abstract platform-
specific APIs and manage tokens for millions of apps.
Mobile ...
Developers build custom intermediaries to abstract platform-
specific APIs and manage tokens for millions of apps.
 Abstr...
Amazon SNS Mobile Push is a managed, scalable, cross-
platform push intermediary service.
Amazon SNS
Mobile Push
Apple Dev...
SNS offers easy scalability, so you can just start sending
more messages as your app achieves scale.
• Go from a few messa...
You can get started for free.
1 Million Free per Month
• 1 million publishes + 1 million mobile push notifications
$1.00 p...
Discussion Topics
• Engaging Your Users with Push Notifications
• Quick Intro to Mobile Push and Simple Notification Servi...
SNS publishes notifications on your behalf using the
credentials you obtain from each push service.
Apple APNS
Google GCM
...
SNS encapsulates each device token inside an Amazon
Resource Name (ARN) endpoint.
Apple APNS
Google GCM
Amazon ADM
Amazon ...
Once you register a device with SNS, SNS proactively consumes
feedback about the corresponding token from the push service...
ARN endpoints remain stable, even if the underlying token
is swapped or disabled.
Apple APNS
Google GCM
Amazon ADM
Amazon ...
ARN endpoints behave the same no matter which mobile
platform they address.
Amazon SNS
Mobile Push
ARN 1
Token A
ARN 2
Tok...
You can publish unique messages to individual devices, or
broadcast identical messages to many devices at once.
Publish
Pu...
Grouping users by SNS Topic
Geography Activity Product
US – West Coast Daily Actives Flapping Bird Rio
Interest Tier Segme...
Apple
Kindle
Fire
Kindle
Fire
Google
Publish
Apple
Kindle
Fire
Kindle
Fire
Google
Publish
SNS can reformat your message fo...
So let’s get started.
Step 1: Write your mobile app
• Use the mobile app platform’s
push notification libraries as you
normally would.
Step 2: Obtain Application Prerequisites
• APNs:
• Apple Push Notification service SSL certificate
• Application Private K...
Step 3: Register Your Mobile App with AWS
Amazon SNS
Mobile Push
Step 4: Obtain a Token/Registration ID from the device
• APNs:
• Device Token
• GCM:
• Registration ID
• ADM:
• Registrati...
Step 5: Add Token/Registration ID to Amazon SNS
• For existing devices
• Use the console for .csv import
• Or use CreatePl...
private String getArnForDeviceEndpoint(
String platformApplicationArn,
String deviceToken) {
CreatePlatformEndpointRequest...
Step 6a: Send Push Notifications via the Console
Hello world!
Step 6b: Send Push Notifications via the API
MyMac:~ glez$ python
Python 2.7.2 (default, Oct 11 2012, 20:14:37)
[GCC 4.2.1...
Step 7: Receive and Close the Loop
Demo
Discussion Topics
• Engaging Your Users with Push Notifications
• Quick Intro to Mobile Push and Simple Notification Servi...
Amazon offers mobile Analytics and A/B Testing
services.
• Amazon Analytics
– Simple, free, cross-platform mobile analytic...
Analytics
Analytics - Tabs
Analytics – Dashboard
Analytics – Details
Analytics – Custom Events
A/B Testing Experiment Dashboard
A/B Testing Experiment Dashboard
A/B Testing Experiment Dashboard
What are some questions to ask about Push
Notifications?
• How many of my push notifications result in app
opens?
• Are us...
Example 1: How many of my push notifications
result in app opens?
• Simple!
• Two Steps
1. Create custom event that is rec...
Example 1: Sample Analytics code (iOS)
• Import SDK
#import <AmazonInsightsSDK/AmazonInsightsSDK.h>
• Initialize
AIAmazonI...
Example 1: Sample Analytics results
Demo
Example 2: Are there differences between users that
receive push notifications and those that don’t?
• A bit more involved...
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Sample A/B Test setup
Example 2: Event Code
• Create 2 custom events to support the A/B Test
1. “appLaunched”
2. “IAPEvent”
• Send notifications...
Example 2: A/B Test results
More Advanced Targeting and Analytics
Amazon
Redshift
Amazon
DynamoDB
Amazon
S3
Simply and cost
effectively analyze all
yo...
Amazon SNS
Mobile Push
Quick Review:
• Cross-platform push to Apple, Google and Amazon
• 1m free per month, and $1.00 per ...
Engaging Your Audience with Mobile Push Notifications - GDC 2014
Upcoming SlideShare
Loading in...5
×

Engaging Your Audience with Mobile Push Notifications - GDC 2014

3,222

Published on

Mobile push notifications are a fast and universal way to engage and retain players. Amazon Simple Notification Service (SNS) provides one simple API for fast, reliable, scalable, inexpensive push notifications to Apple, Google, and FireOS devices. Customers have seen up to a 100% increase in player engagement, and have reduced cost by 60%, with Amazon SNS. In this session we'll cover how to use Amazon SNS to publish cross-platform notifications and then, architectures and techniques for utilizing game data to send the right message, to the right player, at the right time.

Published in: Technology, Business

Transcript of "Engaging Your Audience with Mobile Push Notifications - GDC 2014"

  1. 1. Engage Your Customers with SNS Mobile Push and Amazon Analytics March 18, 2014 Jon Turow Michael Pesce
  2. 2. 65% of mobile apps are abandoned within 90 days. http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded
  3. 3. “…understanding and improving user engagement is the new currency of doing business in the new digital world.” –Peter Farago, Flurry.com http://blog.flurry.com/bid/90743/App-Engagement-The-Matrix-Reloaded
  4. 4. Mobile push notifications engage customers when your app is not currently active.
  5. 5. Mobile push notifications engage customers when your app is not currently active. • Right message • Right user • Right time
  6. 6. Discussion Topics • Engaging Your Users with Push Notifications • Quick Intro to Mobile Push and Simple Notification Service (SNS) • Getting Started with SNS • Analytics and Targeting for Better Customer Engagement
  7. 7. Mobile push notifications engage customers when your app is not currently active. • Users opt-in to receive them • Delivered to a specific app on a specific device • Short messages: read, ignore, or acknowledge to launch the app
  8. 8. Push notifications drive user engagement “Some of us have very busy lives and can’t be checking the game 24/7. It would be great to get a notification when a challenge starts.” - Plumbee gaming customer
  9. 9. Some Use Cases Broadcast Direct Closed Loop Identical messages to many players at once Unique messages to individual players Targeted and optimized with analytics
  10. 10. Some Use Cases Broadcast Direct Closed Loop Identical messages to many players at once Unique messages to individual players Targeted and optimized with analytics
  11. 11. Broadcast Push Notification Use Cases • New features/content/games • Promotion start/ends/redemption • Active players (active in 7 days) • Newly inactive players • Segmentation (geo, spend, others..)
  12. 12. Broadcast Push Notification Use Cases • “New episode available now!” • “Halloween challenge starts today.” • “Keep the streak going.” • “Smokey the bear misses you!” • “New Jetpack, on sale today!”
  13. 13. Some Use Cases Broadcast Closed Loop Identical messages to many players at once Targeted and optimized with analytics Direct Unique messages to individual players
  14. 14. Direct Push Notification Use Cases • Messaging • Turn-based activities • Events • User lifecycle • Administrative
  15. 15. Direct Push Notification Use Cases • “Jon invited you to a game.” • “It’s your turn to play.” • “You now have full lives.” • “Welcome to the game!” • “Your subscription is ending.”
  16. 16. Some Use Cases Broadcast Identical messages to many players at once Direct Unique messages to individual players Closed Loop Targeted and optimized with analytics
  17. 17. Closed Loop Push Notification Use Cases • Broadcast push notifications • Direct push notifications
  18. 18. Closed Loop Push Notification Use Cases • Different messages • Different frequencies • Different segments • Different times of day • Different points in the lifecycle
  19. 19. Some Use Cases Broadcast Direct Closed Loop Identical messages to many players at once Unique messages to individual players Targeted and optimized with analytics
  20. 20. Consider push notifications as calls-to-action: what messages will most effectively reengage your players?
  21. 21. Mirrorball Slots - Mobile
  22. 22. Mirrorball Slots - Challenges
  23. 23. Mirrorball Slots - Challenges Push 1: Initial Offer Push 2: Final Offer Push 3: Offer Redemption
  24. 24. Push notifications drive user engagement Without Push With Push Real User Engagement Comparison Initial Offer Final Offer Offer Redemption Day
  25. 25. Discussion Topics • Engaging Your Users with Push Notifications • Quick Intro to Mobile Push and Simple Notification Service (SNS) • Getting Started with SNS • Analytics and Targeting for Better Customer Engagement
  26. 26. Your cloud application directs mobile push notifications to a specific app on a specific device Cloud App Mobile Apps
  27. 27. Notifications are delivered via platform-specific push services, which keep connections with their devices. Cloud App Mobile Apps Platform Service
  28. 28. Developers manage tokens for each device, and must proactively swap or disable them based on feedback. Platform Service Token Registration Token Feedback
  29. 29. Each platform-specific push service works differently. Apple APNS Google GCM Amazon ADM • Different APIs • Different Features • Different Feedback
  30. 30. Push notifications get even more complex as you scale to support millions of devices. Cloud App Platform Services Mobile Apps
  31. 31. Developers build custom intermediaries to abstract platform- specific APIs and manage tokens for millions of apps. Mobile AppsPush Intermediary
  32. 32. Developers build custom intermediaries to abstract platform- specific APIs and manage tokens for millions of apps.  Abstraction so your app can engage users on any platform  Manage tokens to ensure messages are delivered reliably  Operational complexity  Scalability takes work  Cost – even though the platform services themselves are free
  33. 33. Amazon SNS Mobile Push is a managed, scalable, cross- platform push intermediary service. Amazon SNS Mobile Push Apple Devices Google Devices Amazon Kindle Fire Devices
  34. 34. SNS offers easy scalability, so you can just start sending more messages as your app achieves scale. • Go from a few messages to hundreds of millions • Go from a few devices to hundreds of millions ...without provisioning, configuring or managing ...without sacrificing reliable, durable delivery
  35. 35. You can get started for free. 1 Million Free per Month • 1 million publishes + 1 million mobile push notifications $1.00 per Million Thereafter • $0.50 per million publishes + $0.50 per million mobile push deliveries • When you broadcast with SNS Topics, your effective price can be lower
  36. 36. Discussion Topics • Engaging Your Users with Push Notifications • Quick Intro to Mobile Push and Simple Notification Service (SNS) • Getting Started with SNS • Analytics and Targeting for Better Customer Engagement
  37. 37. SNS publishes notifications on your behalf using the credentials you obtain from each push service. Apple APNS Google GCM Amazon ADM Amazon SNS Mobile Push
  38. 38. SNS encapsulates each device token inside an Amazon Resource Name (ARN) endpoint. Apple APNS Google GCM Amazon ADM Amazon SNS Mobile Push ARN 1 Token A ARN 2 Token B ARN 3 Token C
  39. 39. Once you register a device with SNS, SNS proactively consumes feedback about the corresponding token from the push service. Amazon SNS Mobile Push Token Registration Token Feedback Cloud App You can access the underlying tokens and feedback, but you don’t have to do so in order to use SNS.
  40. 40. ARN endpoints remain stable, even if the underlying token is swapped or disabled. Apple APNS Google GCM Amazon ADM Amazon SNS Mobile Push ARN 1 Token A ARN 2 Token B ARN 3 Token C Token X Token Y
  41. 41. ARN endpoints behave the same no matter which mobile platform they address. Amazon SNS Mobile Push ARN 1 Token A ARN 2 Token B ARN 3 Token C
  42. 42. You can publish unique messages to individual devices, or broadcast identical messages to many devices at once. Publish Publish Publish Publish Direct Publishing Broadcast with SNS Topics
  43. 43. Grouping users by SNS Topic Geography Activity Product US – West Coast Daily Actives Flapping Bird Rio Interest Tier Segment 49ers Premium Top 100 Players
  44. 44. Apple Kindle Fire Kindle Fire Google Publish Apple Kindle Fire Kindle Fire Google Publish SNS can reformat your message for each mobile platform, or you can specify platform-specific payloads. Publish Once, Deliver Anywhere Specify Platform-Specific Payloads
  45. 45. So let’s get started.
  46. 46. Step 1: Write your mobile app • Use the mobile app platform’s push notification libraries as you normally would.
  47. 47. Step 2: Obtain Application Prerequisites • APNs: • Apple Push Notification service SSL certificate • Application Private Key • GCM: • API Key (Sender Auth Token) • ADM: • Client ID • Client secret
  48. 48. Step 3: Register Your Mobile App with AWS Amazon SNS Mobile Push
  49. 49. Step 4: Obtain a Token/Registration ID from the device • APNs: • Device Token • GCM: • Registration ID • ADM: • Registration ID Cloud App <e960d9b1…de43f6c0>
  50. 50. Step 5: Add Token/Registration ID to Amazon SNS • For existing devices • Use the console for .csv import • Or use CreatePlatformEndpoint API • For future devices • Use a proxy server and the CreatePlatformEndpoint API • Or use the AWS token vending service and let devices register themselves • Receive an ARN back Amazon SNS Mobile Push Cloud App <e960d9b1…de43f6c0> arn:aws:sns:eu-west-1:12…1f
  51. 51. private String getArnForDeviceEndpoint( String platformApplicationArn, String deviceToken) { CreatePlatformEndpointRequest request = new CreatePlatformEndpointRequest() .withPlatformApplicationArn(platformApplicationArn) .withToken(deviceToken); CreatePlatformEndpointResult result = snsClient.createPlatformEndpoint(request); return result.getEndpointArn(); } Device Registration – Code example
  52. 52. Step 6a: Send Push Notifications via the Console Hello world!
  53. 53. Step 6b: Send Push Notifications via the API MyMac:~ glez$ python Python 2.7.2 (default, Oct 11 2012, 20:14:37) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import boto >>> import boto.sns >>> boto.sns.connect_to_region("eu-west-1").publish( ... message="Hello world!", ... target_arn="arn:aws:sns:eu-west- 1:979463966312:endpoint/APNS_SANDBOX/Push2reInvent/fc1234a1-67ef-4f62-b31a- ac320bf7631f") {u'PublishResponse': {u'PublishResult': {u'MessageId': u'1893fa9d-7478-5137-be1d- b06928d999d0'}, u'ResponseMetadata': {u'RequestId': u'c3c26267-92af-50b3-b529- 2893ce0e4854'}}} >>>
  54. 54. Step 7: Receive and Close the Loop
  55. 55. Demo
  56. 56. Discussion Topics • Engaging Your Users with Push Notifications • Quick Intro to Mobile Push and Simple Notification Service (SNS) • Getting Started with SNS • Analytics and Targeting for Better Customer Engagement
  57. 57. Amazon offers mobile Analytics and A/B Testing services. • Amazon Analytics – Simple, free, cross-platform mobile analytics • Amazon A/B Testing – A free, cross-platform way to run in-game experiments
  58. 58. Analytics
  59. 59. Analytics - Tabs
  60. 60. Analytics – Dashboard
  61. 61. Analytics – Details
  62. 62. Analytics – Custom Events
  63. 63. A/B Testing Experiment Dashboard
  64. 64. A/B Testing Experiment Dashboard
  65. 65. A/B Testing Experiment Dashboard
  66. 66. What are some questions to ask about Push Notifications? • How many of my push notifications result in app opens? • Are users who I send push notifications doing X more often? • Are there differences between users that opt in or out of push notifications?
  67. 67. Example 1: How many of my push notifications result in app opens? • Simple! • Two Steps 1. Create custom event that is recorded any time your game is opened from a push notification 2. Check dashboard for rolled up data
  68. 68. Example 1: Sample Analytics code (iOS) • Import SDK #import <AmazonInsightsSDK/AmazonInsightsSDK.h> • Initialize AIAmazonInsights* insights = [AIAmazonInsights insightsWithCredentials: credentials]; • Record a custom event when app is launched from a push notification id<AIEventClient> eventClient = insights.eventClient; id<AIEvent> appLaunchFromPush = [eventClient createEventWithEventType:@"appLaunchFromPush"]; [eventClient recordEvent: appLaunchFromPush];
  69. 69. Example 1: Sample Analytics results
  70. 70. Demo
  71. 71. Example 2: Are there differences between users that receive push notifications and those that don’t? • A bit more involved • 6 Steps: 1. Create an A/B Test and a target Segment 2. Create custom events to support the test and deploy game 3. Start the A/B test 4. Filter push notifications to those in the test group 5. Send push notifications 6. Check dashboard for results
  72. 72. Example 2: Sample A/B Test setup
  73. 73. Example 2: Sample A/B Test setup
  74. 74. Example 2: Sample A/B Test setup
  75. 75. Example 2: Sample A/B Test setup
  76. 76. Example 2: Sample A/B Test setup
  77. 77. Example 2: Sample A/B Test setup
  78. 78. Example 2: Sample A/B Test setup
  79. 79. Example 2: Sample A/B Test setup
  80. 80. Example 2: Sample A/B Test setup
  81. 81. Example 2: Event Code • Create 2 custom events to support the A/B Test 1. “appLaunched” 2. “IAPEvent” • Send notifications to the variation group – Flag the endpoint for each player that receives the “sendPushNotifications”=“true” variation – Send push notifications to this group
  82. 82. Example 2: A/B Test results
  83. 83. More Advanced Targeting and Analytics Amazon Redshift Amazon DynamoDB Amazon S3 Simply and cost effectively analyze all your data for <$1k/TB/yr Serve any level of traffic with single-digit millisecond latency Store and retrieve any amount of data, at any time, from any device
  84. 84. Amazon SNS Mobile Push Quick Review: • Cross-platform push to Apple, Google and Amazon • 1m free per month, and $1.00 per million thereafter • Seamless scalability with durable, reliable deliveries • Easy token management For More Information: • SNS Detail Page and Docs: http://amzn.to/179ee7r • Getting Started + Sample Apps: http://amzn.to/15rs1DV • Email: aws-sns-mobile-push@amazon.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×