Delhi Salesforce Groups United Meetups
Agenda:
1:00 PM Entry/Registration
1:30 PM Welcome and Introductions to Sponsors, group leaders, and speakers
2:00 PM Speaker 1
2:30 PM Snacks and Networking
3:00 PM Speaker 2
3:30 PM Speaker 3
4:00 PM Games and Swag Distribution
4:30 PM Wind Up, Group pic
Precise and Complete Requirements? An Elusive Goal
Hear.com (Johann Furmann)
1. What are my Users doing?
Feature adoption tracking in Salesforce
- Johann, 25.08.2019 -
2. hear.com LLC 2
• Introduction
• What to track?
• How to implement?
• Demo time
• What to do with gathered data?
• Conclusion
Agenda
3. hear.com LLC 3
Name: Johann Furmann
Location: Berlin
Job: Salesforce Nerd
Dev/Admin: Dev by curiosity, Admin by heart
Favorit question: Can this be removed?
Trainings: 14x certified, 280+ Trailhead badges
About me
4. hear.com LLC 4
Introduction – Story Time
I use that all
the time!
Just yesterday I needed that.This is very important to me!
I can´t sell without that!
5. hear.com LLC 5
Only a clean Org is a good Org.
Only a used feature is a good feature.
Introduction
6. hear.com LLC 6
• Fields filled/Records created
• Custom Buttons (Component/Javascript)
• Page and tab views (Standard and Custom)
• Flows (Start, Finish)
• Specific user inputs (Based on database criteria)
What to track?
7. hear.com LLC 7
• No feature adoption tracking out of the Box
• A few lines of code and one custom object let you implement tracking
(almost) everywhere
• Implementation after initial setup is really, really fast!
How to implement?
- Introduction -
9. hear.com LLC 9
User Story:
As a Product Owner I want to know how often
the new Tab „Documents“ on my Detail Page
is used.
Live Demo I: Lightning Record Page usage
Tech:
• Add an invisible Lightning Component to the
Lightning Record Page Tab „Dokumente“
• Define the two Design Attributes for the Lightning
Component
• Create a Report
10. hear.com LLC 10
User Story:
As an Operations Manager I want to know who
changes Opportunity Owner for closed
Opportunities in order to stop cheating.
Live Demo II: Database Level Action
Tech:
• Create a Processbuilder which fires every time
the Owner of a closed Opportunity is changed.
• For action call the APEX method ‚Increase
Adoption Counter‘
• Define the Input Paramters as Feature:
Opportunity and Action: Owner Change Closed
Opp
• Create a Report
11. hear.com LLC 11
Live Demo III: Custom Lightning Component
User Story:
As a Product Manager I want to know how
often the Link „Appointment Set“ is clicked.
Tech:
• Add the AdoptionCounterComp.cmp to
the Lightning component which is called
by the click.
• Pass Attributes Feature = Opportunity &
Action = Appointment Set Component
• Create Report
<c:AdoptionCounterComp action="Opportunity" feature="Appointment Set
Component"/>
12. hear.com LLC 12
• Before Go-Live of a feature define expected usage (e.g. 100 Page views per
day)
• After feature Go-Live set yourself a reminder to track adoption every month
• Inform Stakeholders about adoption on a regular basis
• If adoption does not meet expectations recomend either better
training/communication or removal
-> In doubt: Remove feautre!
How to learn from tracking information
13. hear.com LLC 13
• Go-Live is not the end of feature development
• Feature adoption tracking should be part of every feature livecycle
• Keeping your org clean is hard work
Sad truth:
• You will not make friends by tracking feature adoption
Conclusion
Implement feature tracking now!
14. What are my users Doing?
Feature adoption tracking in Salesforce
- Johann Furmann, 25.08.2019 -
15. hear.com LLC 15
Lightning Record Page Editor:
https://betterhearing--
johann.lightning.force.com/visualEditor/appBuilder.app?id=Opp_CHE_Beratung_CHE_NT_Opportunity&recordId=0061w00001
987qgAAA&cloneable=true&retUrl=https%3A%2F%2Fbetterhearing--
johann.lightning.force.com%2Flightning%2Fr%2FOpportunity%2F0061w00001987qgAAA%2Fview
Report
https://betterhearing--johann.lightning.force.com/lightning/r/Report/00O6E000000TqQTUA0/view?queryScope=userFolders
Example Opportunity:
https://betterhearing--johann.lightning.force.com/lightning/r/Opportunity/0061w00001987qgAAA/view
Live Demo I: Lightning Record Page usage (Links)
Notes de l'éditeur
Welcome to todays talk about feature adoption tracking in Salesforce. We want to answer the Question: What are my users doing?
In the next 20 Minutes I will give a short introduction to why to track feature adoption, followed by what to track. At the end of the session you should all be able to implement tracking in your org right away. Therefore I will show how to implement tracking yourself. I have 3 demos prepared.
After we get Tracking data we have to talk about what to do with the tracking data. I will finish off with a personal conclusion and then there´s some time for questions.
I don´t like to use our Salesforce because it´s too complicated! Outlook is much easier too use. Why did you make Salesforce so complicated?
Most of you have a seen something along the way. Countless related lists and buttons. Users are complaining that your system is too complicated. Worstcase users stop using your org.
How do you clean a system like that? Asking the users will not be of any help here.
„I use that all the the time.“, „Just yesterday I needed that.“ and other excuses.
The second screenshot is from our new system. We have been able to clean the system massivly. One way we achieved that is using Feature adoption tracking.
There are two simple rules in Salesforce and in order to keep user adoption high:
Only a clean org is a good.
Only a
Before we go into how to track I will share my ideas about what to track.
Examples:
How often is that field filled?
How often is a specific Button on a VFP clicked?
How often is a certain Flow started and finished?
How often is a certain Tab in a Lightning Record Page viewed?
How often is the owner of a closed Opportunity changed?
Implementation of tracking is so fast, we will implement tracking for 3 examples today within 10 minutes.
Before we go into the demos I want to share the architecture. I will start from the right. The outcome of our tracking is stored in a custom Object, Adoption_Counter__c which has 4 fields.
The records are created by a helper class „AdoptionCounter“. This class takes the inputs from different places and transforms it into the Custom Object.
All the way to the left we have the places from where the helper class „AdoptionCounter“ is called.
Today I will show how to integrate feature adoption into Lightning Record Pages, Processbuilder and Lightning Components.