Spa
rkline
Ana
lytics
Vinoaj Vijeyakumaar
@vinoaj
vnjv.co/vvgplus
vnjv.co/vvlinkedin
Measuring Your Way Towards a Successful Application
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
About this presentation
• Presented at Google Developer Group DevFest 2012. • Presented on Thu 4 Oct 2012 at Berjaya Times Square
(Kuala Lumpur). • PDF copy available at http://vnjv.co/devfestkl
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Are you a Growth Hacker?
• Recommended reading: http://vnjv.co/Sjbjjq
• Scale for growth
• Part developer / part marketer
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Measurement framework for growth
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Today
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
• Vinny • 2012 - Chief Consultant /
Founder – Sparkline Analytics
• 2007-12 – Senior
Conversion Specialist, Google Southeast Asia
Sparkline Analytics
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Measurement framework for growth
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
How it’s usually done
Do nothing (inertia)
Try and find some meaning in the data
Read all reports
Learn to use measurement tool
Implement measurement tool
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
How it’s usually done
Do nothing (inertia)
Try and find some meaning in the data
Read all reports
Learn to use measurement tool
Implement measurement tool
Spa
rkline
Ana
lytics
Vinoaj Vijeyakumaar
@vinoaj
vnjv.co/vvgplus
vnjv.co/vvlinkedin
Why Goals?
… you won't go far unless you know where the goal posts are. Arnold H. Glasgow
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
4 Google Analytics Goal Types
11
Event … a dynamic event (e.g. clicked on a video play button) on a page
Pages/Visit … number of pages visited in a session
Time on Site … time spent on the site during a session
URL Destination … page visitor lands on (e.g. /thankyou.html)
Goal Type Goal Triggered By …
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Setting Meaningful Goals Awareness Free
Users Paid
Users Loyalty /
WOM
KPIs
Goa
ls
# paid users # sales # in-app purchases
User upgraded Product purchased In-app purchase made
Macro ($)
# impressions # new visits # mentions
Time on site (new visitors) Pages / session (new visitors)
# signups # referrals
User signs up Referral made Referral signup
Return visits # mentions # referrals
Referral made Referral signup
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Other Uses for Goals
• Flow Visualization
• Multi-Channel Funnels • Intelligence Events
• Advanced Segments
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Measurement framework for growth
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Google Analytics
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Track Behaviour
16
Entry Exit
Behaviour
Engagement
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
The GA Async Tracking Code
17
Dynamically load the ga.js tracking library
HTML5: Execute script asynchronously
Look for _gaq stack and execute queued commands
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Customizing Your Tracking Code • Tracking across
multiple domains or subdomains.
• Setting/reading/deleting custom variables.
• Other customizations. See API docs at http://vnjv.co/gamethods
<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-23181160-1']);
_gaq.push(['_setDomainName', 'conversionplaybook.com']); _gaq.push(['_setAllowLinker', true]); _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>
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
The __utm.gif hit __utm.gif?utmwv=6.3&utmn=101027544&utmsr=1280x854&utmsc=32-bit&utmul=en&utmje=1&utmjv=1.5&utmfl=7.0 r24&utmdt=My%20Website&utmhn=www.site.com&utmp=/index.html&utmac=UA-51244-4&utmcc=__utma%3D117945243.823564440.1131054947.1131080858.1133834608.4%3B+__utmb%3D117945243%3B+__utmc%3D117945243%3B+__utmz%3D117945243.1131054947.3.2.utmccn%3D%28Spring%20Sale%29%7Cutmcsr%3D%28google%29%7Cutmcmd%3D%28ppc%29% %7Cutmtm%3D%28shoes%29%3B
Screen Resolution: 1280x854 Screen Colors: 32-bit Browser Language: English(en) Java Enabled? Yes (1) Java Version: 1.5 Flash Version: 7.0r24
Page Title: My Website Hostname: www.site.com Filename: /index.html Google Analytics Account: UA-51244-4 Visits: 4 Campaign: Spring Sale | Google(PPC) | shoes
http://vnjv.co/gagifparams
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
What about the 1-page App/Site?
20
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Enter Event Tracking • Track events on your site • Detect events and trigger
tracking call
21
_gaq.push(['_trackEvent', category, action, opt_label, opt_value]);
Purpose Example
Group of objects being tracked
'Rating Buttons'
Type of user interaction with the object
'Click'
Additional info about the event
'Thumbs down'
Numerical data about the event
-1
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
YouTube Video Tracking Example
http://vnjv.co/ytgaevts
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
How did visitors interact with my videos? (Action)
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Which videos were played? (Label)
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Custom Variables: Extended Measurement Model
25
125+ Metrics and Dimensions + X Custom Variables = Custom Measurement Platform
Entry Exit
Behaviour
Engagement
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Custom Variables • _setCustomVar(index, name, value, opt_scope);
• index – position to store and transmit the variable (1 to 5)
• name – variable name (e.g. “member-type”) (case sensitive)
• value – variable value (e.g. “premium”) (case sensitive) • opt_scope – 1:visitor-level; 2:session-level; 3:page-
level (default: 3)
• _setCustomVar(1, ‘foo’, ‘bar’, 2);
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Visitor Level Custom Variables • Stays with the visitor across multiple
visits to the site. • Cannot store personally identifiable
information.
_setCustomVar( 1, ‘MembershipLevel’, ‘Platinum’, 1);
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Session Level Custom Variables • Labels a session. • Variable is discarded once session ends.
_setCustomVar( 3, ‘UsedChatWidget’, ‘true’, 2);
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Page Level Custom Variables • Useful for content grouping. • Identify groups of pages according to
attributes other than the page URL.
_setCustomVar( 5, ‘Author’, ‘John Jane Doe’, 3);
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Measure social interactions
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Setup for +1 button
• Setup for the button: None
• The +1 button on your website is already tracked.
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Setup for other networks
_trackSocial(network, action, target_url);
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Copy & paste Twitter & Facebook code
http://code.google.com/apis/analytics/docs/tracking/gaTrackingSocial.html
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
MilkADeal.com
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
<!– Email share button: --> <a onclick="showMailer('Check out MilkADeal for huge discounts in Malaysia! Here is my referral link: http://milkadeal.com/r/');return false;" href="#"><div id="lnkMail"></div></a> <!– Functions to track email share button usage: --> <script> function showMailer(myBody){ _gaTrack(); $(".winMessage").html(myBody); $("#mailer").modal(); } function _gaTrack() { _gaq.push(['_trackSocial', 'email', 'share']); } </script>
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
What value do socially-engaged visitors hold?
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Socially-Engaged Conversions
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Encourage email sharing
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Social Listening
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Social Sources
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Social Sources
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Social Sources
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Social Sources
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Social Conversations
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Mobile Tracking
46
HTML & Applications WAP
iPhone
Windows
Mobile
Android
Blackberry
Pearl & Curve
http://code.google.com/apis/analytics/docs/tracking/mobileAppsTracking.html
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Tracking Feature Phones
47
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Tracking Your Mobile Site
• Provided with server-side code to generate the calls to Google Analytics
• Will track all web-enabled devices, not just JS- and cookie-capable devices
• Currently provide code snippets for PHP, Perl, JSP, and ASPX platforms
48
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Server-to-Server Communications
49
Secure Google Servers Website Server
Request pixel: /ga.php?....
Send request to GA servers
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Google Analytics Mobile SDK
• Native App Tracking • Unique Users • Pageviews • Events • Ecommerce • Custom Variables • Android Market Referrals
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Setting Up A Tracker Object In An Activity
import com.google.android.apps.analytics.GoogleAnalyticsTracker;public class UserActivity extends Activity { GoogleAnalyticsTracker tracker;protected void onCreate(Bundle savedInstanceState) { ... tracker = GoogleAnalyticsTracker.getInstance(); tracker.startNewSession("UA-xxx-y", this); ...}
51
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Pageviews & Event Tracking
tracker.trackPageView('/homeScreen');
tracker.trackEvent( 'HomeScreenButtons',
'Rate App', 'Click'
);
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Dispatching Events • Tracked data is queued and dispatched in bundles • Saves battery life • Can track while users are offline
tracker.dispatch(); - or -
tracker.start("UA-xxx-y", 20, this);
53
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Tracking In-App Purchases • How much revenue does my application generate? • Which products are most popular?
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Reporting In App Purchases
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Measurement framework for growth
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
View your Data in Context
• Goal conversion rates • Ecommerce values
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
The default view is OK …
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
But conversion context is much more powerful …
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus 60
Advanced Segments
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
MY vs non-MY Visits
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Traffic Segmented
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Insights through Segments
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Advanced Segments: The Choice is Yours
64
Visitor Profile New vs. Returning Geographic Distribution Language Mobile vs. Desktop Browsers
Behaviour Engagement (Time-on-Site, Pageviews) Became a Member Requested a Trial
Channels Brand vs non-Brand Keywords Paid vs non-Paid Search Paid vs Organic Direct vs Referral
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Intelligence Events Speaker Notes • Google Analytics (GA) Intelligence Events aim to
surface the unknown unknowns for your business through your web analytics data.
• Constantly monitors your data and alerts you whenever there are any significant changes (+ve or –ve).
• Highlights specific areas to focus on and investigate.
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Intelligence Events & Shoes of Prey Speaker Notes • Case Study: Shoes of Prey • Download full case study at http://vnjv.co/sopgaia
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Speaker Notes • A spike in intelligence alerts with an unexpected
surge in traffic from referrals.
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Speaker Notes • Analyzing the referrals, Shoes of Prey saw a surge in
traffic from polkadotbride.com • Engagement from that source is also pretty healthy.
High time on site and pages/visit.
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
10% increase in sales
Speaker Notes “We knew that their [Polka Dot Bride’s] audience would be receptive and it was a natural choice to partner with them,” he says. “Together we ran a competition for their readers to design and win a pair of wedding shoes on Shoes of Prey. This helped kick-start the launch of our range of wedding shoes, and we’re seeing great sales as a result.” Michael credits the 10% uplift in sales following the release of the new wedding shoe range to this intelligent approach.
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
“So much happens around us that we don’t always know, and Intelligence Alerts allows us to become aware of these ‘unknown unknowns’ and make sure we’re responding effectively.” Michael Fox, Co-Founder & Director of
Operations, Shoes of Prey
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Measurement framework for growth
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
A/B/Multivariate Testing
• Democratize creativity • Take the HiPPO out of the equation
Speaker Notes • HiPPO = Highest Paid Person’s Opinion
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Google Content Experiments
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Things to do Tomorrow
Spa
rkline
Ana
lytics
@vinoaj | vnjv.co/vvgplus
Measurement framework for growth
Define your micro- and macro-conversions
• Mobile • Event Tracking • Custom
Variables • Social
Interactions • View data in context • Segment • Review Intelligence
Events
Spa
rkline
Ana
lytics
Vinoaj Vijeyakumaar
@vinoaj
vnjv.co/vvgplus
vnjv.co/vvlinkedin
Q&A @vinoaj