This post originally appeared on The Accidental Admins. It is being republished with permission from the author, Tom, who is a Salesforce Consultant at Spark.Orange.
It provides only a few metrics (as seen below) that center on who is using Lightning, but it’s based on a preferred UI metric vs. the actual work being done each interface.
While answering a question in the Answer Community over the weekend, I found a more detailed way to track Lightning usage using the $User.ThemeUI global constant. This process takes a little bit of setup, but it’s quick and will allow admins to track all targeted edits in their org to see who is using Classic or Lightning the most.
Step 1: Create Tracking Object
Create an object. I called mine Change Log. Text name, allow reporting.
Add the following fields:
User Interface (text)
Classic (formula – checkbox) = IF(User_Interface__c=’Theme3′, True, False)
Lightning (Formula – checkbox) = IF(User_Interface__c=’Theme4d‘, True, False)
Step 2: Create Process Builders
Create a Process Builder for each object you want to track. I would suggest picking 4 or 5 for the key objects that your Lightning users should be interacting with. Also, note that you will want to deactivate these processes when doing mass data uploads, using a tool like the Org Switch would be easiest: https://sfswitch.herokuapp.com/
For your Process Builders, select the object you want to track, set to evaluate when created or edited, and no criteria needed, just fire the Process Builder.
Set your create record like below – define your record name as Record.ID &’ – ‘&Text(Now()) or some other format you prefer. Define the object, set the user to LastModifiedBy ID, and define the User Interface using the $User.UITheme global variable.
*You may want to include criteria like ‘User.Profile not equal to System Administrator’ so only non-admin users are tracked.
Whenever a change is made on that object, a change log will be created, capturing the targeted information.
You can now track the % of usage by object or user.