Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Is there a good analytics tool for single page web apps?
8 points by monvural on July 11, 2012 | hide | past | web | favorite | 7 comments
I was going to use Google Analytics, but it's driven by page views, and there is only 1 page in my app. Everything else is dynamic.

Is there another solution?

Using something like Mixpanel, you should be able to track anything that happens in your JavaScript code. However, it's not just a insert-a-script-and-sit-back solution; you have to be diligent about the actions you want to track and actually add code to track them as they happen.

I find mixpanel to be really good here also. Unfortunately, I quickly surpassed Mixpanel's 500 user free tier and it's been less useful ever since, but it still tracks events and has a lot of really helpful views on your data.

Recently, I've started homebrewing my own solution using Firebase (www.firebase.com). I've found it extremely straightforward and am enjoying having more control over my analytics data.

Cool. Let me check Mixpanel out.

Google Analytics might meet your needs if you script Events into your app.


This is what we do with rootbuzz, and it works well.

You'll want to acquaint yourself with custom segments if you take this approach too.

custom segments (from the google knowledge base):


this blog post does a better job of explaining how to use them though imho:


This is a hard question to answer in the abstract. What are the top 2-3 questions you want to answer?

If it's about understanding the users of your app and what they look like, GA probably wouldn't be a good choice even if you didn't have a single page app because it's tailored for tracking activity across all users, not activity broken down by user. (For instance, it's good at answering the question, "Which feature gets the most usage?" not, "Which feature is used by the most people?" and that's an important difference.)

Many analytical tools claim they can answer the latter question, but look for example use cases to make sure they're answering the right question. A little research up front can save you the time of integrating a service only to find it doesn't answer the questions you want answered.

"Is there another solution?" You could definitely start building some simple analytic functions into your product (even writing text files on your backend when some user behavior happen will work). Be flexible and focus on priority. It might be helpful to learn some linux commands like awk to quickly analyze your data. But this question depends much on your exact needs.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact