Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Twilio Signal 2016 Taking Your SMS App Global

319 views

Published on

How to use Twilio to reach a global audience via SMS
The most common issues when sending SMS globally
The cause of these issues
How we can detect these issues
What Twilio does to correct these issues
What you can do to ensure your messages get through

Learn more about best practices for building an SMS app here: https://www.twilio.com/learn/messaging/checklist-for-mobile-messaging-framework

Published in: Software
  • Be the first to comment

  • Be the first to like this

Twilio Signal 2016 Taking Your SMS App Global

  1. 1. a TAKING YOUR SMS APP GLOBAL TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER DON'T PANIC
  2. 2. GLOBAL SMS Global SMS is awesome. •Billions of people. •Thousands of carriers. •Hundreds of countries. •One Twilio API But... • Not exactly that simple. • There are issues. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  3. 3. WHAT WE HOPE YOU'LL LEARN The most commonly encountered issues when sending SMS globally. The cause of these issues. How we can detect these issues. What Twilio does to prevent or correct these issues. What you can do in order to ensure your message gets through. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  4. 4. MESSAGE DELIVERY PATH App Twilio Network Device User TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  5. 5. APP TO TWILIO ISSUES Issues: • International permissions • Queuing • Invalid 'To' phone numbers App Twilio Network Device User TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER X
  6. 6. PHONE NUMBER VALIDATION • Validates every REST request you make and responds with a 21211 error if you attempt to send to a non-mobile number. • Validate with the user's help. • Don't try to write your own validation. A. Twilio Lookups API: Carrier Info. No updates necessary. B. Google Libphonenumber: "as you type" validation and example numbers. What you can doWhat Twilio does TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  7. 7. PHONE NUMBER VALIDATION: INSIDIOUS QUIRKS Mexico •Special prefix needed when dialing or texting a mobile number •Required format: +5215512345678, +525512345678 •Users might enter: 0445512345678 or 15512345678. Suggestions: • Don't rely on homegrown validation TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  8. 8. PHONE NUMBER VALIDATION: INSIDIOUS QUIRKS Argentina •When calling a mobile phone number within Argentina, users add a "15" after the area code. When calling from outside of Argentina, users add a "9" after the country code. Neither of these should be included when sending an SMS over Twilio. •Users might enter: 0296615123456, +54296615123456, +5492966123456 •Required format: +542966123456 Suggestions: • Display example phone numbers to users TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  9. 9. PHONE NUMBER VALIDATION: INSIDIOUS QUIRKS http://www.anatel.gov.br/setorregulado/index.php/nono-digito Brazil •In the middle of a multi year renumbering project. •On May 29th, 2016 Mobiles in the light blue area codes will get a 9 after the area code. Suggestions: • If you do use Libphonenumber, update it regularly. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  10. 10. NETWORK LEVEL ISSUES Issues: • Filtering • Service disruptions TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER App Twilio Network Device User X
  11. 11. NETWORK LEVEL ISSUES: FILTERING Why: Carriers are trying to protect users. Detection: •Rarely possible. Very few carriers will let anyone know when or how they are filtering. They don't want unsavory types probing their filters. Types of filters: •Content - phishy, spammy, controversial, complaints •Volume - blasts, traffic imbalances •Sender - phone numbers, alpha sender ids TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  12. 12. NETWORK LEVEL ISSUES: FILTERING • Preregisters traffic with carriers. • Has per-number rate limits. • Works with networks to try to reduce the impact of filtering on legitimate traffic. • Create a good user experience. • Test your body content if possible. • Avoid sending "blasts" of messages. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT What you can doWhat Twilio does
  13. 13. NETWORK LEVEL ISSUES: PREREGISTRATION What is "preregistration": • Conveniently, does precisely as its name suggests. • An SMS may be able to bypass filters if content is preregistered with carriers. • Only for particular use cases, and process is very manual. Supported countries: •Short codes: United States, Canada, United Kingdom •Japan, China, Philippines, Thailand, India, Oman, Saudi Arabia, Egypt How do I start: • Email trenton@twilio.com to learn more. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  14. 14. NETWORK LEVEL ISSUES: SERVICE DISRUPTIONS Why: •Machines break •People make mistakes •The market changes Detection: • Active Testing • Monitoring delivery statuses • Feedback API TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  15. 15. NETWORK LEVEL ISSUES: DELIVERY STATUSES What are "delivery statuses"? • Twilio normalizes carrier DLRs, which may contain some helpful info. • Sends this to your app a via web hook. How is this useful? • Anomaly detection on aggregated data can detect some service disruptions. • Statuses other than "Delivered" may assist in troubleshooting. However... • #$*@%*^&$@%! TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  16. 16. FEEDBACK API TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER App Twilio Network Device User
  17. 17. FEEDBACK API App Twilio Carrier Device User Route Network Route 94% 85% 77% Route 92% UserAction Feedback API TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  18. 18. FEEDBACK API TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER * FUTURE LOCATION OF HYPERSPACE BYPASS *
  19. 19. FEEDBACK API Who should participate: • Applications which have a trackable user action. Why should you participate: • Better deliverability. Allows us to customize your routing to meet your needs. • Better support. Data from the Feedback API helps us resolve your issues faster. How can I participate: • In developer preview. Email trenton@twilio.com for early access. • Generally available after helper library update. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  20. 20. # Send a message with the new parameter provider_feedback set as true message = client.messages.create( to="+18085551234", from_="+14155559876", body="Verification Code: 314-159", provide_feedback="true" ) Tell Twilio you expect a customer to enter a code FEEDBACK API STEP #1 TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  21. 21. # Update the Message Instance with the outcome set as confirmed message.feedback.update(outcome="confirmed") Tell Twilio when the customer actually enters the code FEEDBACK API STEP #2 TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  22. 22. NETWORK LEVEL ISSUES • Active testing in major markets • Monitors delivery statuses • Monitors Feedback API • Adjusts routing when service disruptions are detected • Participate in the Feedback API TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER What you can do What Twilio does
  23. 23. DEVICE ISSUES App Twilio Network Device User Issues: • Phone turned off • Unable to receive SMS • Still a lot of feature phones in the world TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER X
  24. 24. USER EXPERIENCE App Twilio Network Device User Issues: User doesn't read or act on the message • Appropriate Sender ID • Message content • Time and frequency TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER X
  25. 25. SENDER ID Mobile number: +18085551234 or Short code (12345) or Alphanumeric Sender ID (“BobsBurgers”) TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER •One vs. two-way •Local expectations •Branding/familiarity CONSIDERATIONS TWILIO HAS •Mobile numbers in 22 countries •The ability to set Alphanumeric Sender IDs in 151 countries •Short codes in the US, Canada and the UK
  26. 26. SENDER ID: COPILOT Guten Tag! +49 731 xxxx Hello there! 408 384 1111 408 384 1111Hello again! TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER Use local phone numbers when sending messages globally to automatically create a local experience for your users. GEOMATCH Send messages with the same recognizable phone number to create a consistent experience and maintain conversation history. STICKY SENDER
  27. 27. YOUR NAME | TWITTER CONSIDERATIONS • Use local language when possible. MESSAGE CONTENT: Tíngzhǐ suǒyǒu de shízhōng, qiē duàn diànhuà, yīkuài nóng zhī de gǔtou fèi jiào, àn yǎle gāngqín, suízhe dīchén de gǔ fángzhǐ gǒu
  28. 28. CONSIDERATIONS • Use local language when possible. • KISS (Keep It Short. Seriously.) YOUR NAME | TWITTER Join us this Thursday, April 15th for our yearly Toyota SALE OF THE CENTURY. THAT’S RIGHT, EVERYTHING MUST GO from our inventory. This special one time anniversary sale won’t come again. Ever. Camry, Avalon, Highlander, Tundra, Tacoma, and even the world-renowned Prius. It’s all yours for the taking at this clearance event. If you think our prices are crazy, you should see our 0.0595% APR financing. All cars are either new or Certified MESSAGE CONTENT:
  29. 29. CONSIDERATIONS • Use local language when possible. • KISS (Keep It Short. Seriously.) • Watch for message concatenation. YOUR NAME | TWITTER Good news regarding your delivery. It will arrive tomorrow between the hours of 10am PST technician will be onsite to install your appliance. and 3pm PST. Because you signed up for our Signature White Glove Delivery Service, a MESSAGE CONTENT:
  30. 30. CONSIDERATIONS • Use local language when possible. • KISS (Keep It Short. Seriously.) • Watch for message concatenation. • Make message intent clear. Did you hear the news? It is open to us that the landmark is the river above the Ozark farm. The depts number is 415-909-1281 MESSAGE CONTENT:
  31. 31. CONSIDERATIONS • Use local language when possible. • KISS (Keep It Short. Seriously.) • Watch for message concatenation. • Make message intent clear. • Use short-hand and CAPS sparingly. OMG. IDK HOW WE”RE GOING TO MOVE ALL THESE HIGH- END SPEAKERS. ICYMI, SALE ENDS FRIDAY @ crazyeddies.com/now MESSAGE CONTENT:
  32. 32. USING TWILIO • Unicode • Concatenation - in & outbound MESSAGE CONTENT: CONSIDERATIONS • Use local language when possible. • KISS (Keep It Short. Seriously.) • Watch for message concatenation. • Make message intent clear. • Use short-hand and CAPS sparingly. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  33. 33. MESSAGE CONTENT: NO SHENANIGANS CONSIDERATIONS • Avoid looking phishy. • Set expectations for content. • Make content relevant to opt-in. • Offer clear opt-out instructions Alert: your account password was changed. BTW: Check out our latest 30yr mortgage rates at cbank.com Go ahead. click.me/6b5t9rr32 USING TWILIO • Automatic opt-out response and blacklist for long-codes TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  34. 34. TIME OF DAY…AND FREQUENCY • Complaints = carrier filtering • R.e.s.p.e.c.t • Know your time zones • Review local restrictions • Avoid weekends & holidays Received 2:31 AM Hi! Your dentist appointment is at 4:30pm today. TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT FENSTERMACHER | @RFENSTERMACHER
  35. 35. RECAP TRENTON MCMANUS | TRENTON@TWILIO.COM ROBERT App Twilio Network Device User • Validate 'to' phone numbers with user help • Preregister content • Implement the Feedback API • Remember the feature phones • Good content • Short messages • Which users expect • From a trusted Sender ID
  36. 36. GO TO IT, AND GOOD LUCK.
  37. 37. ROBERT @RFENSTERMACHER *FOR ALL THE FISH TRENTON MCMANUS TRENTON@TWILIO.COM SO LONG AND *

×