GeezerVison is showing www.fullstackpython.com — Web Analytics
Web analytics involves collecting, processing, visualizing web data to enable
critical thinking about how users interact with a web application.
Why is web analytics important?
User clients, especially web browsers, generate significant data while users
read and interact with webpages. The data provides insight into
how visitors use the site and why they stay or leave. The key concept to
analytics is learning about your users so you can improve your web
application to better suit their needs.
Web analytics concepts
It's easy to get overwhelmed at both the number of analytics services and
the numerous types of data points collected. Focus on just a handful of
metrics when you're just starting out. As your application scales and you
understand more about your users add additional analytics services
to gain further insight into their behavior with advanced visualizations such
as heatmaps and action funnels.
User funnels
If your application is
selling a product or service you can ultimately build a
user funnel (often called "sales funnel" prior to a user becoming a customer)
to better understand why people buy or don't buy what you're selling. With
a funnel you can visualize drop-off points where visitors leave your
application before taking some action, such as purchasing your service.
Open source web analytics projects
-
Matoma (formerly Piwik), is a web analytics
platform that you can host yourself. Matoma is a solid choice if you
cannot use Google Analytics or want to customize your own web analytics
software.
-
Shynet is a lightweight, privacy-friendly
cookie-free web analytics application written in Python.
-
Open Web Analytics is another
self-hosted platform that integrates through a JavaScript snippet that
tracks users' interactions with the webpage.
Hosted web analytics services
-
Google Analytics is a widely used
free analytics tool for website traffic.
-
Clicky provides real-time analytics comparable to
Google Analytics' real-time dashboard.
-
MixPanel's analytics platform focuses on mobile
and sales funnel metrics. A developer builds what data points need to be
collected into the server side or client side code. MixPanel captures that
data and provides metrics and visualizations based on the data.
-
Heap is a recently founded analytics service
with a free introductory tier to get started.
-
CrazyEgg is tool for understanding a
user's focus while using a website based on heatmaps generated from mouse
movements.
Python-specific web analytics resources
General web analytics resources
-
The Google Analytics Setup I Use on Every Site I Build
is a tutorial written for developers to better understand the scope
of what Google Analytics can tell you about your site and how
to configure it for better output.
-
Roll your own analytics
shows you how to use AWS Lambda and some custom
JavaScript to create your own replacement for Google Analytics. This route
is not for everyone but it is really useful if you want to avoid the Google
data trap.
-
An Analytics Primer for Developers
by Mozilla explains what to track, choosing an analytics platform and how
to serve up the analytics JavaScript asynchronously.
-
Options for Hosting Your Own Non-JavaScript-Based Analytics
has a few non-Google Analytics web analytics tools that mostly rely
on server-side rather than client-side tracking.
-
This post provides context for determining if a given metric is
"vanity" or actionable.
-
This series on measuring your technical content has a bunch of advice
for figuring out why you want to gather metrics, how to do the
instrumentation and determining your success factors.
-
awesome-analytics
aggregates analytics tools for both web and mobile applications.
-
10 red flags signaling your analytics program will fail
is a more business-focused piece but it has sosme good information and
visualization on broader themes that developers who work in larger
organizations should think about when it comes to analytics.
Web analytics learning checklist
-
Add Google Analytics or Matoma to your application. Both are free and while
Matoma is not as powerful as Google Analytics you can self-host the
application which is the only option in many environments.
-
Think critically about the factors that will make your application
successful. These factors will vary based on whether it's an internal
enterprise app, an e-commerce site or an
information-based application.
-
Add metrics generated from your web traffic based on the factors that
drive your application's success. You can add these metrics with either
some custom code or with a hosted web analytics service.
-
Continuously reevaluate whether the metrics you've chosen are still the
appropriate ones defining your application's success. Improve and refine
the metrics generated by the web analytics as necessary.
What do you want to learn about next?
What tools exist for monitoring a deployed web app?
What is Docker and how does it fit with Python deployments?
What can I do to mitigate security vulnerability in my web app?