This was a presentation given to 650+ developers at GDG DevFest Kuala Lumpur (Malaysia) 2012. The event was organised by the Google Developer Group (GDG) Kuala Lumpur chapter and supported by Google Southeast Asia.
This talk covers the ways developers and product managers can leverage measurement practices to grow their user base. We look at identifying and tracking the right KPIs and goals. Then we explore implementing advanced Google Analytics features to track meaningful goals. We conclude with best practices for analyzing Google Analytics reports for actionable insights.
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Measuring Your Way Towards a Successful Application
1. Sparkline Analytics
Measuring
Your Way
Towards a
aar
Successful
ey a kum Application
Vino
a j Vij
arklin
ea naly
tics.
c om
a j@sp
vino
oaj
@vin
plus
.co /vvg
vnjv din
vv linke
.co/
vnjv
2. Sparkline Analytics 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
@vinoaj | vnjv.co/vvgplus
3. Are you a Growth Hacker?
• Recommended
reading:
http://vnjv.co/Sjbjjq
Sparkline Analytics
• Scale for growth
• Part developer / part
marketer
@vinoaj | vnjv.co/vvgplus
8. How it’s usually done
Implement measurement tool
Learn to use measurement tool
Sparkline Analytics
Read all reports
Try and find some meaning in the data
Do nothing (inertia)
@vinoaj | vnjv.co/vvgplus
9. How it’s usually done
Implement measurement tool
Learn to use measurement tool
Sparkline Analytics
Read all reports
Try and find some meaning in the data
Do nothing (inertia)
@vinoaj | vnjv.co/vvgplus
10. … you won't go far unless you
Sparkline Analytics
know where the goal posts are.
Arnold H. Glasgow
Why
Goals?
aar
a kum
ey
a j Vij tics.
c om
Vino arklin
ea naly
a j@sp
vino
oaj
@vin
plus
.co /vvg
vnjv din
vv linke
.co/
vnjv
11. 4 Google Analytics Goal Types
Goal Type
Goal Triggered By …
… page visitor lands on
URL Destination
(e.g. /thankyou.html)
Sparkline Analytics
… time spent on the site
Time on Site
during a session
… number of pages visited
Pages/Visit
in a session
… a dynamic event (e.g.
Event
clicked on a video play
button) on a page
@vinoaj | vnjv.co/vvgplus
11
12. Setting Meaningful Goals
Free Paid Loyalty /
Awareness
Users
Users
WOM
# impressions
# signups
# paid users
Return visits
# new visits
# referrals
# sales
# mentions
Sparkline Analytics
KPIs
# mentions
# in-app # referrals
purchases
Time on site User signs up
User upgraded
Referral made
(new visitors)
Referral made
Product Referral signup
Pages /
purchased
Goals
session (new Referral signup
visitors)
In-app
purchase
made
Macro ($)
@vinoaj | vnjv.co/vvgplus
17. The GA Async Tracking Code
Look for _gaq
stack and execute
queued HTML5: Execute
commands
script
asynchronously
Sparkline Analytics
Dynamically load
the ga.js tracking
library
@vinoaj | vnjv.co/vvgplus
1
7
18. Customizing Your Tracking Code
<script type="text/javascript">
• Tracking across
var _gaq = _gaq || []; multiple domains or
_gaq.push(['_setAccount', 'UA-23181160-1']);
_gaq.push(['_setDomainName', 'conversionplaybook.com']); subdomains.
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
• Setting/reading/
Sparkline Analytics
deleting custom
(function() {
var ga = document.createElement('script'); ga.type = 'text/ variables.
javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https:// • Other
ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
customizations.
s.parentNode.insertBefore(ga, s); See API docs at
})();
http://vnjv.co/
</script>
gamethods
@vinoaj | vnjv.co/vvgplus
19. 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%
Sparkline Analytics
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 Page Title: My Website
Screen Colors: 32-bit Hostname: www.site.com
Browser Language: English(en) Filename: /index.html
Java Enabled? Yes (1) Google Analytics Account: UA-51244-4
Java Version: 1.5 Visits: 4
Flash Version: 7.0r24 Campaign: Spring Sale | Google(PPC) | shoes
http://vnjv.co/gagifparams
@vinoaj | vnjv.co/vvgplus
20. Sparkline Analytics What about the 1-page App/Site?
@vinoaj | vnjv.co/vvgplus
2
0
21. Enter Event Tracking
• Track events on your site
• Detect events and trigger
tracking call
Sparkline Analytics
_gaq.push(['_trackEvent', Purpose Example
category, Group of objects being 'Rating Buttons'
action, tracked
Type of user interaction 'Click'
opt_label, with the object
opt_value]); Additional info about 'Thumbs down'
the event
Numerical data about -1
the event
@vinoaj | vnjv.co/vvgplus
2
1
22. Sparkline Analytics YouTube Video Tracking Example
http://vnjv.co/ytgaevts
@vinoaj | vnjv.co/vvgplus
23. How did visitors interact with my videos? (Action)
Sparkline Analytics
@vinoaj | vnjv.co/vvgplus
24. Sparkline Analytics Which videos were played? (Label)
@vinoaj | vnjv.co/vvgplus
25. Custom Variables: Extended Measurement Model
Behaviour
Sparkline Analytics
Entry Exit
Engagement
125+ Metrics and Dimensions + X Custom Variables = Custom Measurement
Platform
@vinoaj | vnjv.co/vvgplus
2
5
26. Custom Variables
• _setCustomVar(index, name, value, opt_scope);
• index – position to store and transmit the variable (1 to
5)
Sparkline Analytics
• 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);
@vinoaj | vnjv.co/vvgplus
27. Visitor Level Custom Variables
• Stays with the visitor across multiple
visits to the site.
• Cannot store personally identifiable
information.
Sparkline Analytics
_setCustomVar(
1,
‘MembershipLevel’,
‘Platinum’,
1);
@vinoaj | vnjv.co/vvgplus
28. Session Level Custom Variables
• Labels a session.
• Variable is discarded once session ends.
_setCustomVar(
Sparkline Analytics
3,
‘UsedChatWidget’,
‘true’,
2);
@vinoaj | vnjv.co/vvgplus
29. Page Level Custom Variables
• Useful for content grouping.
• Identify groups of pages according to
attributes other than the page URL.
Sparkline Analytics
_setCustomVar(
5,
‘Author’,
‘John Jane Doe’,
3);
@vinoaj | vnjv.co/vvgplus
46. Mobile Tracking
HTML & Applications
WAP
iPhone
Sparkline Analytics
Windows
Mobile
Pearl
&
Curve
Android
Blackberry
http://code.google.com/apis/analytics/docs/tracking/mobileAppsTracking.html
@vinoaj | vnjv.co/vvgplus
4
6
48. 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
Sparkline Analytics
cookie-capable devices
• Currently provide code snippets for PHP, Perl, JSP, and
ASPX platforms
@vinoaj | vnjv.co/vvgplus
4
8
49. Sparkline Analytics Server-to-Server Communications
Secure Google Servers
Website Server
Request pixel: Send
/ga.php?.... request to
GA servers
@vinoaj | vnjv.co/vvgplus
4
9
53. Dispatching Events
• Tracked data is queued and dispatched in bundles
• Saves battery life
• Can track while users are offline
Sparkline Analytics
tracker.dispatch();
- or -
tracker.start("UA-xxx-y", 20, this);
@vinoaj | vnjv.co/vvgplus
5
54. Tracking In-App Purchases
• How much revenue does my application generate?
• Which products are most popular?
Sparkline Analytics
@vinoaj | vnjv.co/vvgplus
64. Advanced Segments: The Choice is Yours
Visitor Profile New vs. Returning
Geographic Distribution
Language
Mobile vs. Desktop Browsers
Sparkline Analytics
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
@vinoaj | vnjv.co/vvgplus
6
4
65. 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.
Sparkline Analytics
@vinoaj | vnjv.co/vvgplus
66. Intelligence Events & Shoes of Prey
Speaker Notes
• Case Study: Shoes of Prey
• Download full case study at http://vnjv.co/sopgaia
Sparkline Analytics
@vinoaj | vnjv.co/vvgplus
67. Speaker Notes
• A spike in intelligence alerts with an unexpected
surge in traffic from referrals.
Sparkline Analytics
@vinoaj | vnjv.co/vvgplus
68. 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.
Sparkline Analytics
@vinoaj | vnjv.co/vvgplus
69. 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
Sparkline Analytics
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.
@vinoaj | vnjv.co/vvgplus
70. “So much happens around
us that we don’t always
know, and Intelligence
Alerts allows us to become
Sparkline Analytics
aware of these ‘unknown
unknowns’ and make sure
we’re responding
effectively.”
Michael Fox, Co-Founder & Director of
Operations, Shoes of Prey
@vinoaj | vnjv.co/vvgplus