A few weeks ago I wanted to run a report in Salesforce on Open Opportunity values over the past 3 months – to look at what our Value to Close ratio was.

Naturally, our Sales Team have been updating all of the opportunity values over the past 3 months to reflect the deals they were working on.

This meant I couldn’t access any historical data because it had all been overwritten.

Thankfully, there is an easy solution to this problem – Salesforce Analytic Snapshots  (now known as Reporting Snapshots). Using Salesforce Analytic Snapshots you are able to create and store snapshots of data that you want to monitor, using custom objects.

There are quite a few articles online that talk about Salesforce Analytic Snapshots but I found the advice to be limited. After figuring it all out, I thought I should put together this step by step guide to help other people, like me. Good luck.


Step by step guide to setting Salesforce Analytic Snapshots

Otherwise know as “How I was able to create and store daily snapshots of open Opportunities and their values”

This guide is made up for three parts

  • Part 1: Creating your Report
  • Part 2: Creating a Custom Object to hold the Data
  • Part 3: Create an Automation which saves data from your source report into your Custom Object

Part 1: Creating your Report

Create a New report by going to Reports | New Report


Choose the Report type you want to use

(For this example we’re interested in Open Opportunity Value but you could use any Object)

Select the ‘Opportunity’ Object and then hit ‘Create’

Drag in the columns you want to monitor and click ‘Run Report’

As you can see above I have chosen Opportunity Name,  Owner and Value as the columns.

It’s worth mentioning the report has to be in Tabular or Summary format. I would also recommend choosing fields that are regularly updated to utilize the power Analytic Snapshots.

Save your report with an easy to understand name…

Part 2: Creating a Custom Object to hold the Data

Create a Custom Object by going to Setup | Create | Objects | New Custom Object

create custom object

Give your Custom Object an easy to remember name and make sure the “Allow Reports” check box under Optional Features and the “Deployed” option under Deployment Status are both checked.

Hit Save

In your Custom Object, you now need to create Custom Fields to hold the data from your source report. Give your Custom Fields the same names as the columns in your source report.

Do this by clicking on New under Custom Fields & Relationships

In this example we need to create Custom Fields “Opportunity Name”, “Owner” and “Opportunity Value” to mirror the columns in my source report

Part 3: Create an Automation job which saves the data from your source report in your Custom Object

By creating an Analytic Snapshot, You are specifying a time and frequency for your source report to run and then be saved in the Custom Fields you created moments ago.

Go to Setup | Data Management | Reporting Snapshots | New Reporting Snapshot

Source Report - Target Object

Give your Analytic Snapshot a name.

Make sure the Running User has permission to view and report on the data you’re going to push into your custom object.

Choose the Source Report and Custom Object, you created moments ago, from the Source Report and Target Object drop down list respectively.

Hit Save & Edit Field Mappings

Map the columns from your source report to the right fields in your custom object

field map

Hit Save

Click on Edit under Schedule Reporting Snapshot to choose the frequency and the time you wish for your Source Report to run and be saved in your custom object



You have successfully created a Salesforce Analytic snapshot.

At the time you specified, the source report will run and the data will be saved in your custom object.

Now go to Report | Create new report, Under Other Reports you will find your new custom object.

final report

You can now wait for the report to run at the scheduled time or you could manually insert data in to your new custom object, just as you would with a standard object in Salesforce. After all, it’s all about helping you keep Salesforce data more accurate than ever before.

Quick tip: The Salesforce Success Community is my go-to source for troubleshooting. This Schedule and Run a Reporting Snapshot post helped me a lot when I was creating my first Analytic Snapshot.

Share this post

You might also like...

27th September 2018 | Salesforce Related

The hot topic on everyones lips at Dreamforce is… data quality?

B2B companies understand data is a foundation for success. Our business goals are packed with objectives like generating leads, building…

Read more ›
18th September 2018 | Ebsta, Events

The Top 10 of Dreamforce ’18 – How to Make the Most of the Event

Next week, we have the pleasure of attending Dreamforce 18, the seminal event of the Salesforce community’s annual calendar. Taking…

Read more ›
22nd June 2018 | Ebsta, Salesforce Related

Want to be more productive and effective by bringing Salesforce and Gmail together?

Consider Salesforce and Gmail integration with Ebsta… Some companies might use Salesforce for CRM. And some may also use Gmail…

Read more ›

Ready to drive customer engagement?