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
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. 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
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
10. Board meeting
28 August 2014
1010
// quantum physics and analytics
Measuring is the new seeing #Segment101
@GuillaumeCabane
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
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. User centric vs. session centric
Aliasing anonymous visitors
#Segment101
@GuillaumeCabane
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. Board meeting
28 August 2014
1818
There is a better way.
Replace your tracking with a single, simple API.
#Segment101
@GuillaumeCabane
19. Board meeting
28 August 2014
1919
There is a better way.
Install new tools with the flip of a switch.
#Segment101
@GuillaumeCabane
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. 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
26. Board meeting
28 August 2014
2626
What does it cover?
Analytics
#Segment101
@GuillaumeCabane
27. Board meeting
28 August 2014
2727
What does it cover?
Advertising
#Segment101
@GuillaumeCabane
28. Board meeting
28 August 2014
2828
What does it cover?
Customer Support
#Segment101
@GuillaumeCabane
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. 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. 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. 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. 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. Board meeting
28 August 2014
3434
Event properties
Don’t do this :
#Segment101
@GuillaumeCabane
35. Board meeting
28 August 2014
3535
Event properties
It will be (almost) impossible to analyze in analytics tools
#Segment101
@GuillaumeCabane
36. Board meeting
28 August 2014
3636
Event properties
Use a single event with multiple properties
#Segment101
@GuillaumeCabane
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. Board meeting
28 August 2014
4444
Are there competitors ?
There’s an opensource version of segment : analytics.js
But also :
#Segment101
@GuillaumeCabane
46. It’s KPIs you want, not events
It’s people you want, not hits
#Segment101
@GuillaumeCabane
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. 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. 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. 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.
52. Board meeting
28 August 2014
5252
Next : naming convention
Don’t do this
Looking for the right Email sent event?
#Segment101
@GuillaumeCabane
53. Board meeting
28 August 2014
5353
Naming convention : share the rules
#Segment101
@GuillaumeCabane
57. 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
58. Tracking plan : The Segment feature
#Segment101
@GuillaumeCabane
59. Tracking plan : The Segment feature
#Segment101
@GuillaumeCabane
60. 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
61. 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
62. 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
63. 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
64. 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
65. 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
66. 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
67. Getting nerdy with Segment : GrowthHacks
As a marketer, Segment is my ultimate GrowthHack
#Segment101
@GuillaumeCabane
68. 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
69. Segment helps you capture
tons of data on your customer
#Segment101
@GuillaumeCabane
70. What can a growth hacker do
with such data ?
#Segment101
@GuillaumeCabane
71. Measure the ROI per property
Move from immediate measurement of CAC to a cohort based analysis
NPS Score
72. 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
73. Third party tool
API call
Webhook
Capture third party data
Webhook listener
#Segment101
@GuillaumeCabane
75. Third party tool
Webhook
Native API integration
Capture third party data
Webhook listener
API call
#Segment101
@GuillaumeCabane
76. 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
77. Reminder E-mails
Display survey in-app for 5 days
Full Integration Full Integration
Full Integration
Send survey data
Get customer data
#Segment101
@GuillaumeCabane
78. 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
81. 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
82. Thanks !
My name is Guillaume Cabane
@guillaumecabane OR guillaumecabane@mention.com
JOBS
> mention.workable.com
Backend Developer
UI Designer