How to set up dashboard per user on same website?

I would like to have separate dashboard for each user on single website site.
I have one web site - eshop. Each registered user on this eshop will also have his own account in PIWIK.
User in PIWIK will see his tracking data (events mostly) from this website only, but he must not see other users data.
Admin/superadmin can see all the data.

Is it even possible to setup PIWIK this way?

I read some PIWIK documentation (not all yet), but I was unable to find out how to setup piwik this way.

Can anybody help me, or redirect me to the propper documentation article?

Yes, it is possible! I don’t know if we have docs explaining in detail how to do this, but it’s pretty easy using the reporting APIs Reporting API Reference: API Reference - Piwik Analytics - Developer Docs - v3 and Embedding Piwik Reports in Other Websites or Apps - Analytics Platform - Piwik

I will read this reporting api and will let you know if I uderstood. Thank you.

thank you for the post it is hel me

Is this feature planned for a future release? I need to explore other solutions because our family is looking for this functionality

There is one solution with current state. You can create more users. You can also create more sites even with same url. You can assign each site to each user, but you have to add proper site id to each user when you track him.

I can see two options, which have already been suggested above. Without trying to duplicate, just add more clarity as I have achieved a similar approach.

If each user has a login, then you will have to use Piwik sites to fully exclude access to data. You can segment, but then the user could change the segment to All Visits and see the whole data collected.

If each user has an account, then you could use the API to embed a full custom and unique dashboard that is pre-segmented for each user, by using their authentication token. You could also hide the segment filter so this could not be changed to “All Visits”.

This isn’t a great solution, but does work for such a use case.