Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For orgs with sensitive data reporting can be a double-edged sword in that it can make it easy for disgruntled employees to walk away with a lot of data. We'd like to try and limit this by monitoring spikes in report activity in a 24 hr period. After digging through all the APIs it doesn't look like there is a supported way to tackle this, but before I close this one, does anyone out there have any creative hacks to get at individual user report usage?

share|improve this question
up vote 1 down vote accepted

There's no way of doing this out of the box I'm afraid - the best that you can do is to create a custom report type on the Reports sobject. This will allow you to see the last time the report was run, but not how often. There are some app exchange solutions out there (e.g. Web Analytics: that capture page usage, but they don't support the reports pages as a rule. This is almost certainly because they rely on sidebar javascript to embed the tracking information, and the sidebar doesn't appear in reports.

You might want to check out Concealium Dynamic Shield - - this requires installation onto every PC and is Microsoft centric, but if that fits for you, it has the functionality you are looking for. It monitors usage, providing an audit trail, and you can also set it up so that users cannot extract data, even via cut and paste from the browser. Its a paid app and I have no affiliation.

share|improve this answer
good to know, the sidebar javascript seemed like the only option, bummer that's off the table – Ralph Callaway Jan 8 '13 at 18:36

Do you mean you want to monitor the status of which reports are downloaded by users?

If this is the story, I guess there is no standard way to do this.

I know a Japan vendor has developed a such tool called Tracer for Salesforce. Sorry that I can't find a English version.

The basic idea of this tool is that a plugin-in will be installed on each client computer. And this plug-in will keep monitoring the users' activities, such as login/logoff, downloading, click in the browser, then they can monitor the users' activities on Salesforce.

share|improve this answer
Very cool, tool thanks for sharing – Ralph Callaway Jan 8 '13 at 18:36

Continuing Bob Buzzards answer there is a company called SaaS ID who offer a product with this functionally.

share|improve this answer

If you REALLY need to monitor individual usage of reports down to the "viewed this page" level, you can do it with a whole bunch of javascript in a sidebar HTML component. It needs to do things like introspect each page upon load and be able to read the page titles, etc. then log that information to some sort of web service or Apex page you've set upt. Fairly straightforward for your average jQuery type hacker. It's a hack solution but it definitely works, and the technique can be applied to many other UI hacks (e.g. hiding buttons on certain uncustomizable pages, etc).

I wouldn't hold my breath on this technique working forever, or even past 1 or 2 more releases, but it's been doable for at least a couple years now.

share|improve this answer
I don't think this route would work, as the reports page (like the dashboards page) doesn't have a sidebar to contain the javascript. – Bob Buzzard Jan 8 '13 at 8:34
darn, this is how i was thinking of doing it, forgot about how the reports page has no sidebar :( – Ralph Callaway Jan 8 '13 at 18:40
Ha, yep, good point, -1 for me :) – jkraybill Jan 18 '13 at 3:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.