Tracking app activation state as User-scope or Session-scope Custom Dimension
I've been searching around for this for some time, so hoping someone might be able to help me with some insight!
We have an application that can be 'activated' in a few different ways - PreInstalled, StoreTrial, StorePaid, ActivationKey or ProvisionedAccount.
Currently, we track these statuses with a user-scope Custom Dimension ('ActivationType'). This allows us to filter total users by their ActivationType.
However, this doesn't allow us to effectively track conversions between states (e.g. X amount of users never recorded in StoreTrial and went directly to StorePaid, or Y amount of users recorded StoreTrial and then activated with ActivationKey).
One potential solution is to keep the ActivationType Custom Dimension as-is, and attach it to events that record when a change is made to the status of activation (e.g. when app recognises the app has been activated by a provisioned account, send a 'FirstUse-ProvisionedAccount event'. This way, I would be able to track how many users have recorded at least one of each type of event. This however would only mean that I am tracking the presence of a user having been in each state at some point in time.
Another caveat to this, is if a user switches between devices (on Windows 10 apps, users can install the app on up to 10 devices), then we will get more of the same type of event. This is probably just something I'd have to live with though, I am presuming.
My next option is one that I need some advice with. If I were to track the Custom Dimension 'ActivationType' on a session-scope instead of user-scope, can I:
- Filter reporting to see only the last-used/last-seen variable that was recorded for 'ActivationType' for each user? For example, if I create a report with Users as the metric, and 'ActivationType' as the dimension with the intent of seeing how many current users are currently in the StoreTrial status, I don't want to see the users who have since recorded a StorePaid variable, as I'd only want them to be in the StorePaid variable. In other words, I don't want to track all users who have recorded the variable at least once in a session in the past - I want to track all users who have tracked variable X as their most recent variable in the 'ActivationType' CD within a session.
- Track the conversion of users from one 'ActivationType' variable to another. E.g. 'what percentage of our users have first been seen in a session with a 'PreInstalled' variable that have then graduated to a 'StorePaid' variable?'
Hopefully that makes sense, please ask for any clarification if you need it!
Re: Tracking app activation state as User-scope or Session-scope Custom Dimension
It makes sense but I'm not sure why you would go to session based for everything. Session based only stores the value of that session (if any) and each could have multiple values. If you tied it to a user scoped id then it might give you what you need.
Have you considered using a custom dimension for each and a time stamp or boolean for when (if ever) they were in that status? That along with a user id could give you what you need moving forward. Obviously this would chew up 4 or more slots... but could work moving forward. If you've already set a unique user ID, you could use data import to help backfill the data as users come back to the site/application.
Hope that helps, not an answer but another way to look at it.