1

An application I am involved with is in dire need of a restructuring of the reports section... I am open to suggestions. All the development is currently in PHP (nginx/php/linux/mysql/redis environment), although other suggestions which fit in to the environment are welcome.

There is already ongoing logging for the current system which feeds into mysql tables. All tables are basically the same structure and different things logged with different logtypes.

There are a couple of different metrics/actions we'd like to report on, and be able to have the users drill down, by date or other filters.

Example metrics:

  • User searches a topic. I log his user id, search keyword, each result ID.
  • User accesses an item on the system (either from a search result above, or from my main page - i have separate logs for both). I log (currently) the "ID" of the page, the unique ID of the user (all users have an ID), the time, the Category of the page.
  • User submits a request for an item. I log the ID of the request (new id), the unique ID of the user, the Category of the report.
  • List all users who clicked on item X.
  • etc

Can someone give me some opinions on whether I would be able to leverage the existing functionality in Piwik (www.piwik.org) or Open Web Analytics (http://demo.openwebanalytics.com) to build an easy to use dashboard of sorts and report tool? The idea is that most if not all of the queries to insert and to select the data for the metrics above we already have. What we need is a uniform way of displaying the data, where the user can view different reports in a constant format, etc...

Filtering by category where we have a category ID would also be something necessary. Category is a hierarchichal tree and picking a parent node means we basically list all child nodes and make an IN (x,x,x) with all of the child IDs (we are investigating changing to linear tree traversal, but thats for another discussion...)

basically, once again, sorry if this has become confusing: from those who have experience with piwik/owa/other web analytic frameworks, have you used it to deliver custom metrics from custom applications, not related directly to webpage viewing?

If so, could you share examples?

Also, any reasons to favor piwik or owa? OWA seems to have some nice things which we could maybe add in the future like heatmaps and recordings, but the main focus right now is the custom metrics so the web metrics stuff would be disabled at first...

Thanks for the help...

RVN
  • 93
  • 1
  • 8
  • Wouldn't this question fit better on http://webmasters.stackexchange.com/ ? – dgw Mar 22 '12 at 08:50
  • I dont see really how as the question is specific to programming our own analytics suite or integrating an existing application suite, not about utilizing analytics for the website... in fact my objective is to decouple the "web" part, as its not analytics of browsing we are intersted, its analytics of our application use (by non-public users), so that was my reasoning... sorry if this is the wrong place though... – RVN Mar 22 '12 at 14:06

1 Answers1

1

Using Piwik with a mix of Custom Variables & Segmentation should allow for your requirements.

NickT
  • 795
  • 6
  • 9
  • Hi @NickT, I was perhaps thinking of something more along the lines of a plugin, in the case of Piwik? To render custom tables and graphs? Would that maybe be the way? I dont want to have the concept of "pages visited", I really want to decouple that into something like "Returned match results", and "Clicked matches", and "Clicked suggestions". The pricing model is based on a function of all of these items, therefore coupling it too losely with "pageviews" in a "web dashboard" might confuse as the the different credits (users "credits" are spent depending on whether they click results). – RVN Mar 22 '12 at 14:10
  • Unless I missed the point, and by tracking with custom variables I can then present the results in a completely different view? Maybe your suggestion would involve creating segmented dashboard widgets for each type of report? – RVN Mar 22 '12 at 14:11
  • the concept of "pages" is just a proxy to do what you are trying achieve. You can trigger "custom page views" (Events) with custom names and custom variables. That plus segmentation on widgets, you should be able to do what you want :) – NickT Mar 23 '12 at 04:03