Placeholder ticket for processing aggregated reports for multiple websites.
For example, API functions could accept idSite=1,2,3,4 to return "top keywords" for the websites 1,2,3,4. This would be a useful feature for large Piwik setups, where one customer would "own" several websites and would like to see aggregated stats for all his/her websites.
The basic stats implementation could be similar to how "profiles" work in google analytics, so you could create, edit, assign and delete websites from groups at will, and view the main traffic numbers for each via the All Websites Dashboard. Adding individual or expand/collapse all functionality to that dashboard would also be helpful.
Some thoughts on this feature...
1) Report aggregate
a- Aggregate "numbers" like visits, actions, time on site, revenue, conversions, ecommerce orders, ecommerce cart abandoned.
b- Aggregate "reports" like: Top keywords, top websites, visits per hour, top page URLs, page titles, ecommerce products, etc.
I assume that both aggregates are important/nice to have.
The algorithms to sum reports are more or less already there in the code (used for the "Date Range" feature for example).
The question remains regarding how to request reports.
2) Requesting reports
We could allow to request the consolidated report for "all site in a group", "all sites for a user"... or we could at first, allow consolidated report of a comma separated list of IDs: &idSite=1,4,55,332 which users would build (by getting site IDs from a website group, or site ID for a given user).
3) User Interface VS API
Implementing in the API only is the first step.
Then, we could also somehow display the consolidated reports in Piwik UI, but maybe this is not needed in V1.
4) Pre-processing reports?
We could maybe pre-process the reports, or we could simply wait until they are requested and then fetch all reports for each site in the request, and sum in real time. This should be fairly fast since there are no logs to run a query against (we assume that all individual website reports are themselves pre-processed).
I propose that at first we don't pre-process the "consolidated" reports. We can expect response time in the range of 1 second if requesting consolidated "Top Keywords" for around 10-20 websites.
Any updates on this?
Just to let you know: this powerful feature is now available as part of the Roll-Up Reporting premium plugin. Check it out & learn more here: https://plugins.piwik.org/RollUpReporting