Rock Your Analytics and Tracking with Segment.io

2,167 views

Published on

By Guillaume Cabane, CMO at Mention (https://twitter.com/guillaumecabane)

Inscrivez-vous au prochain meetup! — http://www.meetup.com/StartupWorkshop

Pour ne pas rater les prochains évènements, c'est ici : http://www.thefamily.co/education/

Entreprendre n’est pas inné et 80% des erreurs peuvent être évitées. Ne perds pas de temps, offre-toi Koudetat : http://bit.ly/koudetat-youtube

Published in: Technology

Rock Your Analytics and Tracking with Segment.io

  1. 1. Rock your analytics and tracking with Segment Guillaume Cabane - Head of Marketing @ Mention @guillaumecabane #Segment101
  2. 2. Board meeting 28 August 2014 22 What were you doing yesterday? We did a team building
  3. 3. Board meeting 28 August 2014 33 What were you doing yesterday? We did a team building
  4. 4. Board meeting 28 August 2014 44 What were you doing yesterday? We did a team building
  5. 5. 5 1 A bit about analytics 2 What’s that Segment thing ? 3 Tracking with Segment 101 4 Getting nerdy with Segment data and other GrowthHacks PITCH Rock your analytics and tracking with Segment #Segment101 @GuillaumeCabane
  6. 6. Board meeting 28 August 2014 66 Head of Growth Marketing @Mention | Ex-Apple | Mentor at @numaparis. Doing Internet stuff since 97', still not billionaire but working on it! #Pastafarian Who am I ? #Segment101 @GuillaumeCabane
  7. 7. 7 1 Not a freelance or agency = Nothing to sell 2 But passionate about analytics 3 Not a dev but a marketer = everything shown afterwards is understandable by anyone #Segment101 @GuillaumeCabane
  8. 8. 8 Missing a mention logo on this slide
  9. 9. 9 A bit about analytics #Segment101 @GuillaumeCabane
  10. 10. Board meeting 28 August 2014 1010 // quantum physics and analytics Measuring is the new seeing #Segment101 @GuillaumeCabane
  11. 11. Board meeting 28 August 2014 1111 Your business is the same : as long as you can’t measure it, it may very well not exist #Segment101 @GuillaumeCabane
  12. 12. Board meeting 28 August 2014 1212 I hope that was clear. #Segment101 @GuillaumeCabane
  13. 13. 1313 Follow-up E-mails Display survey in-app for 5 days Full Integration Full Integration Full Integration Send survey data Get customer data #Segment101 @GuillaumeCabane
  14. 14. User centric vs. session centric Aliasing anonymous visitors #Segment101 @GuillaumeCabane
  15. 15. 1515
  16. 16. 16 What’s that segment thing ? #Segment101 @GuillaumeCabane
  17. 17. 1717 All of your tools run on the same data. So why would you track it over and over? _kmq.push([‘record’, ‘Purchased Item’, { revenue : 9.95 }]); _gaq.push([‘_trackEvent’, ‘All’, ‘Purchased Item’]); mixpanel.track(‘Purchased Item’, { revenue : 9.95 }); _cio.track(‘Purchased Item’, { revenue : 9.95 }); olark(‘api.chat.sendNotificationToOperator’, { body : ‘Visitor purchased an item.’ }); #Segment101 @GuillaumeCabane
  18. 18. Board meeting 28 August 2014 1818 There is a better way. Replace your tracking with a single, simple API. #Segment101 @GuillaumeCabane
  19. 19. Board meeting 28 August 2014 1919 There is a better way. Install new tools with the flip of a switch. #Segment101 @GuillaumeCabane
  20. 20. Board meeting 28 August 2014 2020 Activate any integration in seconds A single hub to collect, transform and route your data. #Segment101 @GuillaumeCabane
  21. 21. Board meeting 28 August 2014 2121 What is Segment? A single hub to collect, transform and route your data. Segment collects the master copy of data and transforms it for each app. 11 libraries : - Browser - Mobile - Server-side > 150 integrations, and counting #Segment101 @GuillaumeCabane
  22. 22. Board meeting 28 August 2014 2222 Server-side #Segment101 @GuillaumeCabane
  23. 23. Board meeting 28 August 2014 2323 Browser #Segment101 @GuillaumeCabane
  24. 24. Board meeting 28 August 2014 2424 Mobile #Segment101 @GuillaumeCabane
  25. 25. Board meeting 28 August 2014 2525 Plugins #Segment101 @GuillaumeCabane
  26. 26. Board meeting 28 August 2014 2626 What does it cover? Analytics #Segment101 @GuillaumeCabane
  27. 27. Board meeting 28 August 2014 2727 What does it cover? Advertising #Segment101 @GuillaumeCabane
  28. 28. Board meeting 28 August 2014 2828 What does it cover? Customer Support #Segment101 @GuillaumeCabane
  29. 29. 29 So what is it great at ? • Integrate once, ensure you can use any tool. • Activate one or multiple tools at no (dev) cost, trial it with actual data. • Go beyond analytics with other tools • Get homogenous data regardless of the app used • Bidirectional data flow • Debug your product • Identify potential Sales (quality) • Nurturing (quantity) • Support • Free to use for developers / small projects #Segment101 @GuillaumeCabane
  30. 30. Board meeting 28 August 2014 3030 What is it not ? An analytics tool A competitor of GA, Kiss or others There is no data analysis whatsoever It’s not a tag manager either #Segment101 @GuillaumeCabane
  31. 31. 3131 How does it work? All of your tools run on the same data. Identify Who are your users? Track What are they doing? Page Where are they doing it? #Segment101 @GuillaumeCabane
  32. 32. Board meeting 28 August 2014 3232 Event properties People complete events, and those events have properties : « Clicked signup ? » « Clicked red signup button ? » « Signed up with email on red signup button top of page » #Segment101 @GuillaumeCabane
  33. 33. Board meeting 28 August 2014 3333 Signed up : Signup button color : red Signup button location : top Event properties People do events, and those events have properties : Event name property name Event value #Segment101 @GuillaumeCabane
  34. 34. Board meeting 28 August 2014 3434 Event properties Don’t do this : #Segment101 @GuillaumeCabane
  35. 35. Board meeting 28 August 2014 3535 Event properties It will be (almost) impossible to analyze in analytics tools #Segment101 @GuillaumeCabane
  36. 36. Board meeting 28 August 2014 3636 Event properties Use a single event with multiple properties #Segment101 @GuillaumeCabane
  37. 37. 37 Segment features #Segment101 @GuillaumeCabane
  38. 38. Board meeting 28 August 2014 3838 Tracking plan #Segment101 @GuillaumeCabane
  39. 39. Board meeting 28 August 2014 3939 Tracking plan #Segment101 @GuillaumeCabane
  40. 40. Board meeting 28 August 2014 4040 Tracking plan #Segment101 @GuillaumeCabane
  41. 41. Board meeting 28 August 2014 4141 Debugger
  42. 42. Board meeting 28 August 2014 4242 Debugger #Segment101 @GuillaumeCabane
  43. 43. 43 1 Data storage and access is out of this league (>75K$ per year) for Amazon Redshift 2 Not all integrations are mapped in full, many have a partial mapping 3 Not all integration options are available 4 Specs / Mapping is being set, with no easy way to follow it Some issues however #Segment101 @GuillaumeCabane
  44. 44. Board meeting 28 August 2014 4444 Are there competitors ? There’s an opensource version of segment : analytics.js But also : #Segment101 @GuillaumeCabane
  45. 45. 45 Tracking with segment 101 #Segment101 @GuillaumeCabane
  46. 46. It’s KPIs you want, not events It’s people you want, not hits #Segment101 @GuillaumeCabane
  47. 47. Board meeting 28 August 2014 4747 KPI # Event A ÷ Event B Top to bottom implementation Start with the KPIs you want to track. Then find what events you need to calculate them. #Segment101 @GuillaumeCabane
  48. 48. Board meeting 28 August 2014 4848 Top to bottom implementation Start with the KPIs you want to track. Then find what events you need to calculate them. Signup rate # Signups ÷ # Visits #Segment101 @GuillaumeCabane
  49. 49. Board meeting 28 August 2014 4949 Start small Whatever your size, start with 3 to 5 KPIs. Make them work, then based on your specific needs, add KPIS. #Segment101 @GuillaumeCabane
  50. 50. Board meeting 28 August 2014 5050 Bootstrap Startup Growth Acquisition Signups Signup rate CAC Activation Activation rate Engagement score Retention - Retention rate NPS Score Referral - Viral coef Revenue Conversion Upgrade rate Time to upgrade, ARPA, CLTV, Churn >> Events Signed up, Converted Visits, Feature X used, Signed in, Invite sent Ad campaign hit, Feature X activated, NPS survey answered, Downgraded 3 step method : SaaS KPIs
  51. 51. Board meeting 28 August 2014 5252 Next : naming convention Don’t do this Looking for the right Email sent event? #Segment101 @GuillaumeCabane
  52. 52. Board meeting 28 August 2014 5353 Naming convention : share the rules #Segment101 @GuillaumeCabane
  53. 53. Object Action Naming convention : Best practices #Segment101 @GuillaumeCabane
  54. 54. Subscription Started Naming convention : Best practices #Segment101 @GuillaumeCabane
  55. 55. Tracking plan : Spreadsheet #Segment101 @GuillaumeCabane
  56. 56. Visited Site Viewed Success Stories Category Viewed Pricing Viewed Blog Category : tech | social | Viewed Features Viewed Signup Signup page version : XX Started SignUp Started Signup location : url Signup type : email | twitter | facebook | Clicked Signup Button Signup Button page : HomePage | pricing Signup button location : slider Signup Button Color : Red | Green Signup Button Message : "Sign Up" Viewed HomePage Clicked PremiumPlan Plan type : starter | growth | company | free Signed Up Signup type : email | twitter | fb ... Signup platform : IOS, Chrome... Started FreeTrial freetrial type : 14 Viewed welcome popup version : Invited who ? : Viewed Alert Creation version : Created Alert Query : text value Nb of KW : numerical value Used of boolean : yes | no Languages : FR | ES | EN Alert name Activation zone : Viewed social account Added a social account social account type : twitter | fb ... Viewed statistics Filtered statistics Time filter : yes | no Advanced filter : yes | no Exported Analytics Filtered view : analytics export type : pdf Exported Mentions Filtered view : mentions export type : csv | tsv | excel | pdf Retention zone : customer gets value Email Notification Sent number of mentions Opened Email notification number of mentions : open time : in seconds Viewed Redirector Viewed detailed Analytics location behavior Curated Mentions Number of mentions curated : Curation type : deleted | Spam ... mobile gesture: special | standard Curated Source Source curation action : blocked | priority | Follow | unfollow Revenue zone : we get value Acquisition zone : Ad Campaign hit Social hit Viewed Share Alert Shared an Alert Shared Alert with : test@test.com Shared Alert mode : team | email Viewed Referral Page Referred Refer type : email, twitter, linkedin Referral Accepted Mentions gained Referral email sent Mentions gained Viewed Referral Email Referral zone Viewed Shared Alert Email Accepted Shared Alert Share mode : in team | read only Shared Alert from : test@test.com Viewed Block Screen block screen type : Quota | Stats . ? overquota ratio ? Viewed Quota Page Over quota : Yes | No Quota exceeded : Mentions | Alerts | Users Clicked Change Plan Viewed Billing ALL fields required Push data as it arrives Selected a Plan Plan selected : Growth | Enterprise | Free Plan value : $$ Viewed Pricing Page (inApp) PricingPage location : inApp Quota exceeded : Mentions | Alerts | Users Should this be an event separated from the "public pricing" ? Selected a Payment Method Payment methode type : CreditCard | Wire Potential Revenue : $$ Changed plan duration Selected duration : Annual | Monthly Submitted Credit Card payment Credit Card type : Amex, Visa.. Credit Card processor : Stripe Upgraded Plan type : Starter | Growth | Plan Value : $$ Renewal type : yearly | Monthly Clicked Search bar Did Search Type : KW / Filtered Filtered : yes | no KW : yes | no Propreties to rework here Service side data (probably in identify) : Nb of alerts blocked Nb of alerts created Nb of alerts deleted Deleted account Downgraded to free usertype : admin | ... Customer Charged Revenue : $$ Green = user action on Page Use the track method Blue = Page view In segment this is the Page method Do not pass the "viewed" but name the page. For mobile use the screen method Red = server side event Logged In Sign in type : email | twitter | fb ... Viewed Alert number of mentions : Alert name : Alert ID Alert number Viewed Mention Mention type : twitter | facebook ... Reacted to Mention Reaction type : Reply | Retweet | Share | Email | Buffer Changed tonality Auto tonality : Neutral | Positive .. Manual tonality : Neutral | Positive .. Viewed Welcome Screen Last screen : 1 | 2 | 3 | 4 | 5 Signed In Signin type : email | twitter | fb ... Deleted account Signed in Signin type : email | twitter | fb ... Viewed my profile Viewed Manage my alerts Viewed settings Clicked edit alert parametersDeleted alert Viewed Alert settings Viewed manage notifications Page category : user settings User Settings Edited Alert Query : text value Nb of KW : numerical value Used of boolean : yes | no Languages : FR | ES | EN Frequency : daily | Weekly Viewed my team Mobile Desktop } When event is present on both platforms, no bullet is shown Shared Mention Share method : Deleted from team who ? Changed user rights who ? : rights change : Gived access to socal accounts who ? Viewed Billing Viewed Quota / Plan trigger n times the propriety Clicked email notification Received Shared Alert Viewed feature discovery completion ratio : Clicked on {{feature}} Viewed Build team Downgraded Viewed Downgrade popup Viewed tasks Created a task Task type : read Advanced filter : yes | no Tracking plan : Visual Layout
  57. 57. Tracking plan : The Segment feature #Segment101 @GuillaumeCabane
  58. 58. Tracking plan : The Segment feature #Segment101 @GuillaumeCabane
  59. 59. Mobile & Webapps Using identify correctly, you will have a cross-device view of your user. For that to work, it’s crucially important to have the same naming convention across all your apps #Segment101 @GuillaumeCabane
  60. 60. Mobile & Webapps Best practice : same naming, different projects Mobile Project Segment organization Webapp Project Backend Project Event name : « Signed up » Mobile integrations Webapp integrations Backend integrations This gives you the flexibility to separate OR regroup events at will, debug much easier, activate integrations per device #Segment101 @GuillaumeCabane
  61. 61. Server-side vs client-side tracking Server-side Data is always clean & complete Multiple routes to an event are easy to handle Not all events happen client-ide : billing Client-side Some actions are more easily tracked client-side (button clicks) #Segment101 @GuillaumeCabane
  62. 62. Standard traits & semantic events Segment is moving towards a larger and larger set of standard traits, events & properties. Using their naming schema for these elements means they will be correctly mapped in the integrations. • A/B Testing • Ecommerce • Email • Live Chat #Segment101 @GuillaumeCabane
  63. 63. Standard traits & semantic events The most important one is the transaction event, called « Completed order », with it’s « revenue » property. This will be recognized by Google Analytics, Kissmetrics and all other revenue tracking tools. #Segment101 @GuillaumeCabane
  64. 64. Usual Pitfalls • Start from your interface • Track everything • Bad or no naming convention • Using non standard events and properties • Aliasing issues Too often I see people doing bottom to top implementations, stop in the middle, and have nothing. #Segment101 @GuillaumeCabane
  65. 65. 66 Objections I don’t have the time to do this ! >> Data not captured is lost forever. Start now. Why not do it In-house ? >> OK if you are a genius or your time is worthless. In all other cases, rethink your priorities. #Segment101 @GuillaumeCabane
  66. 66. Getting nerdy with Segment : GrowthHacks As a marketer, Segment is my ultimate GrowthHack #Segment101 @GuillaumeCabane
  67. 67. 68 Old marketing is about creating a difference between real and perceived value of your product, the difference being your margin. Growth Marketing is about creating a difference between the real and perceived time spent on a customer’s account, the difference being your margin Automation and scalability is what defines Growth Marketing #Segment101 @GuillaumeCabane
  68. 68. Segment helps you capture tons of data on your customer #Segment101 @GuillaumeCabane
  69. 69. What can a growth hacker do with such data ? #Segment101 @GuillaumeCabane
  70. 70. Measure the ROI per property Move from immediate measurement of CAC to a cohort based analysis NPS Score
  71. 71. Capture third party data Segment is made to receive data from your app and send it to integrations. But some of your customer actions don’t happen in your app : Email actions, input in your CRM, Webinars… #Segment101 @GuillaumeCabane
  72. 72. Third party tool API call Webhook Capture third party data Webhook listener #Segment101 @GuillaumeCabane
  73. 73. API call Webhook Capture third party data Webhook listener #Segment101 @GuillaumeCabane
  74. 74. Third party tool Webhook Native API integration Capture third party data Webhook listener API call #Segment101 @GuillaumeCabane
  75. 75. Bidirectional data flow Spin the wheel of data ! Third party tool Webhook Native API integration Webhook listener API call Customer action synced back #Segment101 @GuillaumeCabane
  76. 76. Reminder E-mails Display survey in-app for 5 days Full Integration Full Integration Full Integration Send survey data Get customer data #Segment101 @GuillaumeCabane
  77. 77. Extremely targeted nurturing emails Signed up VIP = true Signed up = 2d Free = true Sessions ≥15 Vip = true Signed up = 9days freetrial= true last seen ≥ 16d No plan yet = true Signed up = 1d PAID Product improvements Solene Premium Stats upgraded > 10d Stats = 0 sessions >10 plan = company or growth Not emailed ≥1d created alert = 0 Last contacted > 2d plugin social ac =0 Last contacted > 2d Stats =0 Last contacted > 2d Share alert = 0 Free_trial end date ≤ 3d Consumed_quota >0 Signed up = 14d free_trial = false Referral Patricia sent invite = 0 NPS ≥9 User based event nurturing email sent French Spanish English German condition In app message Trial Churn Paid Free Complete signup Patricia Tip : Create Alerts sender language based NPS Survey #1 Guillaume NPS Score ≥9 reason = expensive Mobile Apps Nicolas Team & tasks sender language based Free_trial = true Last seen >4d last contacted >1d How is it going ? Jordan / Vincent Vertical success stories Decrease noise : block sources hit quota : 2x Last contacted ≥7d Tag based blog posts Last contacted >2d Mobile app = 0 Desktop Apps Nicolas Last contacted > 2d Desktop app = 0 Extend your free trial Jordan NPS Score ≥6≤8 reason = upgrade later Last contacted > 2d Created a team = 0 Last contacted > 2d Bulk edit = 0 Upgrade ? Last contacted ≥7d read blog post = false Last contacted ≥7d Read success story = false per job position Signed up ≥ 7d VIP = false Renew Failed Write a review Patricia Referral ≥2 NPS Score ≥9 You are missing out on paid features Vincent signed up > 30d used mention ≥15 Check out your mentions Trial expired =1d NPS score = false Trial expired = 5d NPS score ≤6 New feature : Analytics New feature : Reorder New feature : Bulk edit New feature : Geofiltering New feature : Zendesk Best practice : how "marketers" are using mention People have been talking about you Success Champion sender language based Welcome email Mat Tip: Social accounts sender language based Tip : Statistics sender language based Tip : Share an alert sender language based Bulk edit sender language based Trial expiring Jordan / Vincent Trial expired Mention VIP Welcome email Jordan / Vincent VIP checking again Jordan / Vincent Churn Prevention do you need help ? Last seen ≥1w last seen ≥1w per job position expired = 5d used feature = no Notification emails : Change frequency ratio read / time <1 Last contacted ≥7d Make the most Patricia Maximise you plan In-App NPS Last contacted ≥ 2d Consumed_quota = 0 Quota limit reached Horray ! First mention Patricia Consumed_quota >1 5/5, you’re the best ! Patricia Monitoring expert Patricia Alert ≥1 Shared alert = true social account >1 Team player Patricia alert company = true alert competitor = true alert name = true curated mention = true Crazy customer used ALL features upgraded from free >12500 mentions in one week Renew Failed Mat Too many mentions ? Patricia No mentions ? Patricia Created Alert Got Mentions Added Social Acct Invited team member Trial expired Answered NPS Survey NPS Survey #2 Guillaume #Segment101 @GuillaumeCabane
  78. 78. Extremely targeted nurturing emails The fake reply Create lead Data push via email Sync lead ownership
  79. 79. Extremely targeted nurturing emails I looked at your account
  80. 80. Dozen more ideas we are working on • Tie your Signup form into Augur, send the data back to segment. => more data, less required fields • Use Segment to measure and store the engagement on your email … measured in seconds • Build a retargeting campaign that starts when your users stop opening your emails • Handle A/B testing variations globally with a bucket trait ….. #Segment101 @GuillaumeCabane
  81. 81. Thanks ! My name is Guillaume Cabane @guillaumecabane OR guillaumecabane@mention.com JOBS > mention.workable.com Backend Developer UI Designer

×