matomo-org / matomo

Empowering People Ethically with the leading open source alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. Liberating Web Analytics. Star us on Github? +1. And we love Pull Requests!
https://matomo.org/
GNU General Public License v3.0
19.65k stars 2.62k forks source link

Consider adding AppName, AppVersion in the dimensions #16027

Open starmessage opened 4 years ago

starmessage commented 4 years ago

I am adapting SoftMeter to send hits from desktop applications to Matomo. With it, desktop software developers can track the usage of their software application as they do with their website. Very convenient to stay on the same reporting platform.

Matomo doesn't seem to have a dimension for the Application Name and Application Version that is being tracked. https://developer.matomo.org/api-reference/tracking-api In GA there are the AppName and AppVersion dimensions.

An alternative would be to use the "Browser" dimension and populate it with the AppName + Version. But looking at the Matomo repo, it seems that the browser is a closed list of "known" browsers so it cannot accept new values on the fly.

Another thought would be to send the AppName and AppVersion in custom dimensions, but I guess this would require every developer to do this configuration change also in his Matomo installation. This is a deal-breaker as I want the developers to immediately see the usage reports in an out-of-the-box installation of Matomo.

So, my suggestion is to add AppName and AppVersion in the standard dimensions. Optionally, also add AppLicense, AppEdition. Optionally, make the Browser name field, a free text field that is parsed either by the UserAgent or have a specific parameter to send it to Matomo.

Love to hear your feedback and any suggestions if there is another way of dealing with the AppName and AppVersion in the current Matomo version.

tsteur commented 4 years ago

Hi @starmessage thanks for creating this issue. I reckon in this case you could use Custom Dimensions for this purpose? See https://plugins.matomo.org/CustomDimensions

starmessage commented 4 years ago

Yes, custom dimensions can be one solution but it requires extra effort to setup.

One of the key features of SoftMeter is that it can be implemented on the same day. So I want to take out any unnecessary steps. Like configuring Matomo which will be a new system for them.

I would suggest that the Matomo team gives another thought to my suggestion to include these fields (+ the needed reports on the left navigation) because it is a great opportunity to expand Matomo to cover also the application analytics domain (not only Website statistics). Google Analytics did this expansion and they have two kinds of "Reporting views", the Website and the Mobile App. Here is an old list I made about application analytics tools for desktop and mobile software applications: https://www.starmessagesoftware.com/blog/providers-runtime-analytics-usage-statistics-windows-macosx You can see that there is a lot of interest in the domain and quite a few acquisitions. To compete with those, Matomo has everything in place (it even has advanced features like the click heatmaps) and just misses a few convenience tweaks like the AppName and AppVersion. So it would be a pity to miss this opportunity. If this gets approved, I can provide more info on the needed functionality.

Thanks !

sgiehl commented 4 years ago

@starmessage would #5413 solve your needs?

starmessage commented 4 years ago

Dear @sgiehl, #5413 is still open for some years, and it also talks about detection done by Matomo. Instead, the appName and appVersion should be sent by the application being tracked to the Matomo server via the tracking API. (SoftMeter will do that) AppName should be free text (e.g 30 chars) and not depend on the code of Matomo in order to be defined. To save DB space, it could be modelled as a long int with a lookup to the exact AppName. Clean up can be done periodically removing AppNames with low visits and assign them to an AppName "Other" by a fixed appNameID (e.g. 0). I am tempted to go to technical details, but I think this is mainly a marketing decision for the Matomo team to take.

ga-application-version-usage-statistics_0 As a use case example (to explain better the need), this screenshot is from a report using the appVersion to inform the developers if their customers upgrade the software to the new releases or stay with the old installed versions. You can see that from July to September almost all customers upgraded from v1.7 to v1.8 while v1.9 is just picking up in the last month. (image taken from here)

tsteur commented 4 years ago

BTW when creating a new meaurable of type Mobile App an AppID can be already added: image

The name field would basically represent the app name.

Not sure the app name would be a dimension or why that would be useful unless you were to track multiple apps into one app in Matomo?

starmessage commented 4 years ago

@tsteur, indeed the recommendation is to use one trackingID per applications. But there are cases where it is better to track multiple applications on one TrasckingID. e.g.

tsteur commented 4 years ago

Just btw for this we'd usually recommend tracking each app separately and then using Roll-Up Reporting.

starmessage commented 4 years ago

Thanks, I am keeping notes of your hints and will assemble them in a step by step guide for the SoftMeter customers to follow the recommendations when configuring Matomo.