New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Piwik to measure how Piwik app is used by the community (opt-in) #4589
Comments
Thanks for the suggestion! we would love to measure Piwik usage with Piwik itself. For example measure clicks on menus, which features are used, and more. The data would be useful to know features popularity and maybe take better product decisions. Note:there is a setting in the config file:
however it only tracks a basic pageview when Piwik is loaded... |
see also: #1050 Plugin: opt-in to share aggregate daily data with centralized server |
This feature is key to our Product developments being more data driven. note: related link |
We have many interesting feedback from the like / dislike buttons. As part of measuring how Piwik is used, we can send this feedback to the Piwik install, for example tracked as Events with the full user feedback message & anonymous metadata (eg. Piwik version) Example of what the feedback email looks like currently:
|
What about making possible to track Piwik usage using a separate Piwik instance? E.g. an additional config option to specify domain. |
Great idea @quba |
Here are my thoughts on the topic. Piwik features to showcase with awesome real data
Tracking quantitative data?how could we track, Piwik version, number of reports, number of segments, number of websites, number of users, number of non-core plugins enabled, number of core plugins disabled, number of visits / actions per website, etc. Not sure if Events, or Custom Variables, or another, are best suited. Notes & questions
Keeping usage data anonymous
Release strategy
For example, maybe we can spend one day or two on this and try to track as many relevant things as possible, and publish the plugin on the Marketplace? Excited to think that we may work on this soon! |
Our goal is:
|
We'd also need an IdSite. I think it would be nice to allow people to track to up to three Piwiks.
I think it's good to let people also track it into their own instance easily so they can as well see what we track (if they want). No matter whether we make this anonymized data public or not. It is more transparent this way and maybe also useful to some of their users. Update: Implementation can be actually problematic since there might be different Piwik versions used! |
Should we keep existing feature |
no let's remove |
@tsteur
|
I meant this one (each one would be optional, tracking to Piwik's Piwik would be enabled by default I think) |
+1 / thumbs up! |
It would be really nice to know which API's are used how often as well. We could Track this via |
Tracking API calls will let us know which API's are used often and which are maybe more important when it comes to bugfixing or performance improvements and as we will use more and more the API directly we won't have to hook to all kinda events in the API such as delete user, add user etc. |
I wonder if we should let users know that they are being tracked and whether we need an opt out link? Eg imagine a super user installs this plugin but doesn't notify users that this instance is being tracked. This can be problematic especially when there are only one or two users that use Piwik. A "boss" could basically watch what and if employees are doing there. We could maybe add a user setting to disable tracking for a specific user? By clicking on "Username => Plugin settings" users get a chance to disable it / opt out. BTW: Plugin is developed in https://github.com/piwik/plugin-AnonymousPiwikUsageMeasurement |
… will be replaced by a plugin, highlight introduction in plugin settings
Here's another update I implemented content tracking for the dashboard but prefer to rather do this with pages that are used less often and that provide us more value like Marketplace and API page. In dashboards there are rarely any interactions. I'm currently tracking an interaction for closing, refreshing, minimizing and maximizing which kinda makes sense but would prefer to track them as events. Every time a user opens the dashboard we'd send a big request containing the content impressions which can be a bit annoying and it can slow the user experience down (detection of content blocks etc.). Rendering and fetching all dashboards is already resource intensive enough. If one configured to track the data to 2 or 3 instances we even do it multiple times slowing it further down. As we do not have unique content impressions yet the impressions would be not really useful for us anyway I think. Marketplace and API would be way more valuable for us. If we still want to track the used widgets in dashboard I recommend that we setup a daily or weekly task that tracks all used widgets via I will possibly also try to find a solution to track API calls via FYI:
|
Awesome idea ;-)
Yes 👍 very nice to give option to Piwik users to opt-out individually from tracking. |
Agreed: we don't need to measure how Widgets are viewed on dashboard.
👍 because when we don't use Content Tracking for widgets, we can't benefit from the CTR = Click / Impression, provided by Content tracking. So using custom events is better choice as you point out!
Assuming
maybe we could hook on Dashboard.saveLayout action and send the data to us, only when user changes the dashboard layout (which should be a quite rare action by users)?
Looks like you nail the "Privacy / anonymity" part. Exciting & looking forward to seeing the reports :-) |
Another idea I had:
This one might include private data that is not anonymized. We'd make sure to anonymize token_auths and URLs of the host. Thinking of error messages + maybe even backtraces of exceptions etc. Possibly we'd also enable JS error logging. It would go into a different site in Piwik to not mix it with anonymous data. There's a certain risk in case of hacks though and ideally data would maybe go to a different server etc. Possibly something for V2 |
@tsteur sounds good for V2 |
I added it. If a super user disables it, no user will see the setting (also won't know it's enabled). @mattab Do you maybe have an idea as what the API calls should be tracked? I guess as event? Eg |
Update:
I'm sending this data only once a day to keep resources to a minimum. The API calls are sent aggregated so there won't be many calls and on top bulk tracking is used. Before events are sent they are written to the database where they are stored aggregated for fast inserts. I was thinking about storing them in a file but this is problematic in a multi-server environment and if the server is not configured correctly there might be a chance that one can open this information directly via URL unless we store it similar to Todo:
We could in general track so much more but we will have to add things over time. Eg how often is a search used in MultiSites and how often paging etc. So far I added it to parts where it doesn't really slow down Piwik and where it doesn't send tracking requests often (eg Download in personal reports, outlink in multi sites). @mattab I haven't implemented the hook on |
… will be replaced by a plugin, highlight introduction in plugin settings
Yes, all sounds good. using "event value" as "count" sounds good. How would you aggregate the API counts, ie. over a day? over an hour? EDIT: Ok got the answer in next comment: "All made API calls during the day as events" |
Covered in #8953
Good point Looking forward to seeing the data & also making it available to anonymous so everyone can see it on the demo 👍 |
Just FYI: I don't really need another issue for #8953. I wanna write them before we close this issue and release it on the marketplace. Otherwise I would not feel confident about it and would rather recommend to not release it. We need to make sure things are anonymized and do not break an installation as we hook into several places of the UI. |
@mattab I wrote tests and fixed a couple of issues. One thing that is still to be done is to enable IP anonymization on demo.piwik.org Also noticed it would be nice to track page generation time but that won't be trivial and is rather something for v2 |
Done, IP anon 2 bytes enabled on demo.piwik.org |
@diosmosis @mattab does anyone of you mind having a look at the plugin as a review and also to check if you have some ideas in case I missed something to anonymize? https://github.com/piwik/plugin-AnonymousPiwikUsageMeasurement/ If it's about features please create new issue in the plugin repository |
Suggested steps to finish this important project:
|
Moved next steps to this new issue: #9051 Nice work @tsteur - will be a huge help in the future, when we will need to understand how people use Piwik, and /or find out what can we improve. Also it will be super useful later for InnoCraft Piwik Cloud service, to learn more how clients use it (when we will enable it, not planned yet) |
just a weird idea:
track yourself / track piwik usages
would be interesting
with event tracking which is on the track it should be possible to get great inside of what one have used piwik for even with that many onpage actions piwik has.
'''enable via a simple checkbox in settings
-> automatic: new website "My Piwik" and start tracking immediately'''
what do you think ??
The text was updated successfully, but these errors were encountered: