The Installation ID is an identifier that is fully controlled by the hosting software using the analytics monitor. This means that the identifier is not assigned by the analytics monitor internally but must be assigned as part of integrating the monitor into your software. This allows you to use the installation identifier to assign a semantic identification text to the monitor and this identification text will be associated with the tracked session data.
The Installation ID can be assigned to a given session by calling a method on the monitor instance (shown in pseudo code):
monitor.SetInstallationID("An installation identifier");
By calling this method the ongoing session will be associated with the given installation identifier.
It is important to distinguish between the Installation ID and the Anonymous ID in the monitor as they are two different concepts.
The Cookie ID is automatically generated by the analytics system and the identifier is a random, anonymous identifier that is only used to correlate data and anonymously identify session data. The identifier carries no semantic value and the identifier is the same on all data from the same installation and is therefore used as the basis for counting installations of your software (read more about the cookie id here).
The Installation ID is not generated by the analytics system but assigned by the integrating software as part of the interaction with the monitor instance in your software. The identifier is a textual identifier and allows for associating more semantic identification to the session data determined by the hosting application. The Installation ID for a given session is empty by default, but can be assigned and change during the life time of the monitor instance if needed. There are no requirements for the Installation ID to be the same between two sessions from the same user and therefore the analytics system is not using the Installation ID to count the number of installations.
One important point to underline is that you should assign an Installation ID every time you start the monitor in your application. There is no implicit policy that remembers the last Installation ID that was assigned so this must be done explicitly from your own software.
There are a number of considerations that may lead you to assign an Installation ID to a session in your software:
- You can use the installation identifier to uniquely track internal data, such as data from a testing suite or similar and the data can later be retrieved for verification, using a search on this Installation ID (see here).
- You may have data associated with an installation that identifies the end user as part of a troubleshooting scenario. Typical values may be license numbers or serial numbers that can be used to provide semantic value to the data when troubleshooting or locating session data
- Depending on your software and your relationship with your end users (see here) you may have a name or a value that identifies the end user and you want to track this data. The Installation ID provides a way to capture this data along with the session data.
- You can also choose to use the installation identifier as a high level identifier, not identifying the individual user but perhaps identifying the department, overall installation or some other larger grouping of installations. This can be helpful in e.g. building data studies that can report on data from a specific department or group of installations.
Your specific use of the Installation ID is very dependent upon your specific software and what information is available to you within your software.
When using an Installation ID you can use any textual value as the installation identifier. Please keep in mind that privacy issues may apply so you should carefully consider your choice of installation identifier based on e.g. your terms of service, your relationship with your end users, the need for anonymity and data privacy as well as any legal issues that may apply to your business and where you deploy your software.