You need to sign in to do that
Don't have an account?
How to measure User Adoption of Customized Functionalities?
Hi,
Can anyone please advise me as to how to measure User Adoption of customized functionalities built via Visualforce Pages, Apex codes, etc? Example, on a button click on Account detail page a Visualforce Page opens which shows Account Team Hierarchy of that account alongwith the teams at each account level(levels = 3).
I want to know how many users click on that button and see this page?
Similarly, there are couple of more Visualforce Pages on Account's and Contact's detail pages. I want to know whether users are really utilising it or not?
Is there any tool or App Exchange product/application for the same?
Please assist.
Thanks,
Vimal
There is no application that I know of, but the pattern has been done before.
You can create a custom object and track this activity that way.
Whenever a user performs some functionality on a VF Page that you want to track, insert an activity record into the custom object and track infomraiton like Page Name, User Name, Date, ETC.
The only trick is you can't insert records during constructors of VF Page Controller, you'd need to insert the record when the button is clicked either through AJAX Toolkit http://wiki.developerforce.com/index.php/Documentation#Tools or in an action in the controller.
Thanks Cory.
But in my case, most of the Visualforce Pages are data display reports/tables and less of form fillings.
How can I tackle and grab statistics on them?
Thanks,
Vimal
You'd still need to use the mechanism that Cory described - somehow information needs to get back to the server to indicate that a user has hit the page.
If you don't mind this data being stored outside of Salesforce, another option (though I've not tried this on internal VF pages myself) may be google analytics, phpmyvisites or similar web statistics gatherer. In this case you'd include some javascript that identifies the page and hits an external server to record the access.
Hey, I think that you could tackle this like Cory Cowgill says, but use a second VF page as a pass thru page. It would look something like this:
That is just the basics but it should get you started if you want to pursue that method of tracking.
Just to be pedantic here, the Visualforce Docs state that the page action method should not be used for initialization (which inserting obejcts comes under the heading of), and I've seen it frowned upon in one of the developer force blogs.
It does work, and I've not seen any explanation as to exactly why you shouldn't do it, but just a heads up.
Bob,
A couple of moderators weigh in on that issue here:
http://boards.developerforce.com/t5/Visualforce-Development/Reason-why-action-attribute-of-apex-page-should-not-be-used-for/td-p/104343
From their description of the reasons I can't see any issue with the above code as the class would do nothing else so there would be little to no chance of getting out of sync as described.
Thanks very much for that link. I agree with your assessment that it wouldn't affect things in the light of the SF comments. I guess the only downside would be that a user could hit the target page directly based on the URL and thus bypass the tracking.