Advanced piwik usage in multi-site platform


Hi Piwik guys,
Hi Community,

First of all kudos to all of you with the great product. I love it! Good documentation, solid/good working product and easy to use interface (both the website as the tool itself). Thank you !

So i am thinking to implement Piwik as the analytical solution for a multi-site/multi-domain platform. We serve around 500k pageviews/month making use of Amazon AWS and RDS. I am confident piwik is the right choice. Now i have been going through the documentation and i have trouble making some decisions on how to implement Piwik. Here are some questions:

About our platform/the way sites are set up

My current plan

  • every site will have it’s own site in piwik. This allows me to quickly show metrics for specific sites
  • will be making use of the Piwik API to expose metrics in our existing backend.
  • overall reporting can be done by Multisites.getAll
  • individual user tracking (visitors primarily come from personalised email campaigns) will be done by making use of custom user variables

My questions (how to use piwik)

So far the current plan sounds good. I do have some questions about potential limitations having chosen that approach:

  • is it a smart idea to create individual sites for the client subrooms ? Particulary cross site (same subdomain) individual user tracking making use of custom variables will be hard. As it is different sites. I am thinking about launching an API call for every site, and then combining that data in the application.
  • how do i pull in actions (API Actions.get) for a specific visitorId ? Can i do this cross site ?
  • if i were to combine all traffic for all sites or on a per-client basis (multiple sites being tracked as one piwik site) is there any way to pull actions for a specific domain or custom variable ?
  • is there any way i can identify users (drop a cookie) cross sites and make sure that user is identified for as long as is technically possible ?

Thanks a lot for your ideas.

Have a lovely weekend