for$developers$ - chris le · pdf filemixpanel$ • see&what •...

Post on 06-Feb-2018

217 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

For  Developers  Google  Analy1cs  

•  Google  Analy+cs  vs  Mixpanel  [new]  •  Simple  Funnel  analysis  of  users  •  Advanced  Funnel  analysis  w/  segmenta+on  •  JS  Events  w/  forms  •  Anomoly  detec+on  [new]  

TOPICS  

Google  Analy1cs  vs  Mixpanel  $  diff  googleAnaly1cs  mixpanel    

URLs    vs    

JavaScript  events  

A   B   C  

Who  watched  the  video?  

/   /b.html   Video  Home  page  

w/  link  to  b.html  Page  with  video  

on  it  BuPon  to  start  

playback  

Both:  Before  the  </head>  

Google  Analy1cs  

_gaq.push([‘_trackEvent’, ‘videos played’, // category ‘free video’, // label 300 // value (duration) ]);

C  

MixPanel  

mixpanel.track( "Video Played", // Event { "gender": "male", // Property "source": "google", "keyword": "free video", "duration": 300 } );

C  

MixPanel:  Define  Each  Step  Explicitly  

Quick  Comparison  Google  Analy1cs  

•  See  where  •  More  integrated  •  More  data  •  Complex  reports  •  Segments  via  custom  

variables  or  regex  •  DIY  Cohort  analysis  •  No  ID  allowed  •  Free  

MixPanel  •  See  what  •  Just  the  app  itself  •  Less  data  •  Simpler  reports  •  Segments  via  via  hashes  

•  Cohort  analysis  built-­‐in  •  ID  is  OK  •  Not  free  •  Pay  for  data  points  

✗ Harder  to  setup  ✗ Less  data  

✔ Easy  to  customize  ✔ Reports  are  simple  

MixPanel  

✔ Easy  to  setup  ✔ More  data  

✗  Harder  to  customize  ✗ Reports  are  harder  

Google  Analy1cs  

Simple  Funnel  Analysis  Measuring  User  Flow  

A   B   C  

Example:  

/   /b.html   Video  Home  page  

w/  link  to  b.html  Page  with  video  

on  it  BuPon  to  start  

playback  

A   B   C  /   /b.html   Video  

100  Users  

Where  are  they  coming  from?  

Google?  Direct?  

Blogs?   TwiPer?  

A   B   C  

Where  are  they  falling  off?  

/   /b.html   Video  

100  Users   62  Users   21  Users  

A   B   C  

Looking  for  big  drops  

/   /b.html   Video  

100  Users   62  Users   21  Users  

A   B   C  

Why  are  they  dropping?  

/   /b.html   Video  

100  Users   62  Users   21  Users  

A   B   C  /   /b.html   Video  

100  Users  

Where  are  they  coming  from?  

Google?  Direct?  

Blogs?   TwiPer?  

Basic  inbound  metrics  

Types  Incoming  of  Traffic  

Organic  (algorithmically  chosen)   Paid  (pay  to  play)  

Types  Incoming  of  Traffic  

Organic  (algorithmically  chosen)   Paid  (pay  to  play)  

Branded  traffic  (calling  “Ticketleap”  by  name)  Non-­‐branded  traffic  (“free  event  +cke+ng  soVware”)  

General  Terms  

•  Visits:  User  +meout  is  30  min  or  12am  – Timeout  means  idle  for  >  30  min  – Or  midnight  for  +mezone  set  in  GA  

•  Exit:  User  leV  the  site  – May  have  visited  more  than  one  page  

•  Bounce:  Technically  a  subset  of  “exit”  – Only  visited  one  page  

•  Bounce  rate  =  (Visits  /  Bounces)  

General  Terms  Interpreta1ons  

•  Visits:  More  visits  =  good.  •  Exit:  Exits  are  normal.  •  Bounce:  High  bounce  rate  doesn’t  necessarily  mean  bad!  – Consider  the  context  of  the  page  

MixPanel  lacks  Inbound  data  :(  

(Google  Analy1cs  vs  MixPanel)  

How  do  I  get    that  data?  

Both:  Before  the  </head>  

a/v/layouts/applica1on.html.erb  

<html> <head> ... <%= render “google_analytics” %> </head> ...

a/v/layouts/_google_analy1cs.html.erb  

<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-xxxx-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script>

Funnel  Setup  and  visualiza1on  

A   B   C  

Where  are  they  falling  off?  

/   /b.html   Video  

100  Users   62  Users   21  Users  

Go  to:  Admin  >  Goals  >      Create  a  Goal  

Choose:  -­‐  Based  on  URL  -­‐  Dura1on  of  Visit  -­‐  JS  Event  firing  

URLs:  -­‐  Define  URLs  (regex  or  strings)  

vs.  MixPanel:  Only  by  JS  Events  

(Old)  Funnel  Visualiza1on  Google  Analy1cs  

(New)  Funnel  Visualiza1on  Google  Analy1cs  

JS  Events  

Using  exit  rate  to  see  Drop  off  over  1me  

(Yet  Another  Way)  

1.  Go  to  Exit  pages  

2.  Add  “vs.  Pageviews”  

3.  (op1onal)  Filter  by  URL  

Two-­‐step  sign  up  to  single-­‐step  sign  up  

Lower  exit  rate  is  bePer  62%  

Two-­‐step  sign  up  to  single-­‐step  sign  up  

No  code  was  wriPen  (Did  you  no1ce?)  

Advanced  Funnel  Analysis  (using  segmenta1on)  

Measuring  User  Flow  

Who’s  being  a  quiPer?!  •  First  +me  users?  •  Returning  users?  •  High  rollers?  

a/v/login/create.html.erb  

_gaq.push([‘_setCustomVar’, 1, // a slot number ‘User type’, // String: user type ‘New user’, // String: value 2 // Enum: scope ]);

a/v/login/index.html.erb  

_gaq.push([‘_setCustomVar’, 1, // a slot number ‘User type’, // String: user type ‘Money bags’, // String: value 2 // Enum: scope ]);

The  last  value  set  wins.  

1.  Go  to  Exit  pages  2.  Type  in  the  URL  

3.  Advanced  Segments  >    “New  poten1al  sellers  who  …”  

Fewer  high  rollers  are  leaving!  Yay!  

Oh,  hey.  Cool  stuff  down  here!!  

Source:  Which  sites  referred  us  bePer  customers?    Medium:  Which  marke+ng  campaigns  are  sending  us  bePer  customers?    Keyword:  What  were  they  originally  searching  for?    Landing  Page:  What  page  did  they  land  on  first?  Which  pages  give  you  engaging  customers?    Ci1es?      Browsers?      Screen  resolu1ons???    

City,  sorted  by  %  Exit  

People  in  Rockland  Leave  less  than  others  Are  LA  customers  bePer  than  London  customers?  

JS  Events  with  Forms  Measuring  Engagement  

Why  are  they  dropping?  Analyzing  events  by  page  in  Google  Analy1cs  

a/v/login/_form.html.erb  

<%= form_for (@something … %> <%f.text_field :name, :class => ‘track_event’ %> <% end %> <script> // capture event here

</script>

a/v/login/_form.html.erb  

$(‘.track_event’).on(‘blur’, function(evt) { _gaq.push([‘_trackEvent’, ‘Interactions’, ‘Interacted with’, ‘login_textbox’]); });

1.  Event  >  Pages  

2.  Only  new  users  please.  

3.  Find  4.  Click  on  /account/signup  

5.  Event  Ac1on  

6.  Choose  event  label  

7.  Bar  graph  buPon  

8.  Sort  by  Unique  events  

Why  is  next  event  a  valida1on  error?  

Requirements  too  strict?  

Maybe.  

1.6x    1.6  users  will  try  a  new  password  again.  

Everyone  else…  went  away  :(  

Analyze  Event  Flows  Digging  further  

Issues  with  “Event  flows”  

•  The  “Spaghee”  problem  •  Impossible  routes  caused  by  tabs  •  BePer  for  small  flows  with  few  branches  

Anomoly  Detec1on!  New  on  Google  Analy1cs  

hPp://bit.ly/TxdOwg  

More  than  just  pageviews  Google  Analy1cs  

Ask  me  more  ques1ons  @iamchrisle  

top related