By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.
Revenue Operations
Flash Icon Decorative

How to Report on Sales Meetings

Scribbles 2

From the outside, reporting on meetings seems simple.

They either happen or they don't. Right?

Well, you'd think so. And you'd be wrong. When I advise marketers, the biggest jaw-dropper is that out of the box, Salesforce considers all meetings complete as soon as time passes. 

If we have calendar integration, why wouldn't we know if a meeting didn't happen?

Well. It's #complicated as the kids like to say. And even with calendar integration, not everything is caught. Is it a no-show? Did they reschedule? What's the next step?


There's even disagreement on how and where a meeting should be logged. Let's examine a few common scenarios and some options for solving each one.

Tracking a Meeting Set [for an AE]

The Scenario

An inside sales representative follows up on leads. When a person shows interest, the representative books a meeting on behalf of the salesperson. 

Inside sales is only fully compensated for qualified meetings. They also receive some incentive for meetings booked and held, even if they are not qualified (a spiff).

Note: This scenario does not include meetings the inside sales rep holds without an AE or "pre-qualification" meetings.

What makes it complicated

  1. This is a handoff across teams
  2. We want the receiving team to qualify the meeting
  3. We want the sending team to receive some "credit" for sending a meeting even if it isn't qualified
  4. Someone is compensated for the meeting if the circumstances are right

The receiving team member (AE) needs enough information to execute the meeting well, and the sending team member (inside sales rep) needs the receiving team to give the record a disposition to receive full payment. And if you don't think the AE feels pressure to qualify meetings just so the inside sales rep gets compensated, you're kidding yourself.

Solution 1

The way I've seen this solved most often is to create a "zero stage" or "pre-qualified" opportunity. This allows:

  • The notes by the inside sales rep and AE exist on the same record
  • To track the inside rep who set the meeting and the original owner of the opportunity (AE) 
  • A disposition for the meeting
  • The ability to reject a potential prospect based on fit or timing (not qualified)
  • An approval process (if you want to get fancy – I'm not convinced this is necessary) for the AE to accept the meeting before it's even held to enforce quality control

Complaints I've heard about this method:

  • It creates junk opportunity data

Which is avoidable. And by avoidable, I mean it's easy to filter out opportunities that never reach the next stage out of your pipeline reports if you date/time stamp your stages. For example, if your "1- Qualified" stage is null on an opportunity that has since been "Lost," it should be excluded from your reports.

You'll also need a mechanism to mark old inside sales-generated opportunities that have not progressed "Lost." You and your stakeholders should come up with a reasonable rescheduling timeline. For example, if an opportunity meeting is not rescheduled within two months, it's probably never going to happen and can be marked Lost. If the inside salesperson manages to book another meeting after that date, they create a new opportunity.

What needs to be configured for this to work well:

  • Custom fields for the Inside Sales Rep (lookup to User), the date the meeting is scheduled, the date the meeting is held (or just a checkbox for the AE to check once the meeting is held), the notes to the AE, and a field to stamp the original sales rep
  • A flow to stamp the inside rep's name if they create an opportunity into the inside rep field and to assign it to the appropriate AE once they're done editing
  • A prompt to check the Meeting Held box (or fill out the date) if the AE tries to progress the opportunity to the next stage.
  • Lock down the fields that you rely on to pay the inside rep so only managers can override them (otherwise, they should be populated by flows)
  • A unique stage like "0 - Pre-Qualified" for inside sales set opportunities.
  • A stage that denotes the AE has reviewed and thinks there's potential (perhaps a stage called "1 - Qualified") and set that as the default stage for any AE-created opportunities
  • System stamps that show the date each opportunity stage is first met - be sure to consult with your stakeholders to check whether opportunities pushed back to a prior stage should null out later stages or preserve the first time a stage is met.

What you can report on:

  • Meetings set
  • Meetings held
  • Meetings qualified
  • Meetings not qualified
  • Qualification rate
  • Qualified rate by inside sales rep
  • Pipeline sourced by inside sales
  • Bookings by inside sales

You would need to run multiple reports for all calls they were on… but it's a decent methodology if you're focused on what they're getting paid on.

Solution 2

Create a custom object that captures the following:

  • Inside sales person
  • Account executive
  • Meeting set
  • Meeting held date
  • Qualified Y/N
  • Opportunity Lookup
  • Opportunity pipeline
  • Opportunity Stage
  • Opportunity Open y/n
  • Opportunity Won y/n

Complaints I've heard:

  • Now, the salespeople have yet another object to enter data on
  • Automation can get tricky

The benefit:

  • No "fake" opportunity data

What you can report on:

  • Meetings set
  • Meetings held
  • Meetings qualified
  • Meetings not qualified
  • Qualification rate
  • Qualified rate by inside sales rep
  • Pipeline sourced by inside sales
  • Bookings by inside sales

Real talk. This seems like a solution that doesn't take end users into account. You're making them use a different object because you think the opportunity data gets messy… to have another object that's also messy. 

You can get the reporting you would otherwise expect from using a zero-stage opportunity IF and only if the AE team is willing to cooperate.

Solution 3

Have the inside sales team track their meeting through calendar integration and have them put meetings on both their calendar and the AE's calendar. Then, suppose the AE thinks there's a deal there. In that case, they must create an opportunity and add the inside salesperson to a lookup field to indicate that person should be compensated for "sourcing" the opportunity.

Complaints I've heard:

  • It's easy to forget to add the inside salesperson
  • It opens up salespeople to more internal debate over who really sourced an opportunity
  • It's a waste of time if the AE has to search for the original meeting to figure out who set it on the inside sales team

The upside:

  • Next to no configuration is needed for the system administrator

The downside:

  • You won't be able to report on conversion or qualification rates (this is a big deal!)

What you can report on:

  • Meetings set
  • Meetings held
  • Meetings qualified
  • Meetings not qualified
  • Qualification rate
  • Qualified rate by inside sales rep
  • Pipeline sourced by inside sales
  • Bookings by inside sales

Do all of these solutions technically "work"? Kind of. In my opinion, you should analyze the qualification rates, so I wouldn't seriously consider solution three. Solution two seems clumsy and not user-friendly. I'm sticking to the old method unless someone comes up with a fantastic argument in the Co-op.

Tracking a Standard Meeting

The scenario:

A CRM user logs a meeting. It's not something they are compensated for.

What makes it complicated

When we're talking about meetings with zero compensation risk/benefit tied to them, reporting on them should be easy, right?

It's not. Even if you have integrated calendars and call logging, there will be instances where the call logging doesn't catch a call that did take place and instances when a no-show happens but the inside sales rep doesn't take it off their calendar.

CRMs assume that once the date and time pass, the meeting happens. Which means your meeting numbers are likely off.

Our advice

Don't make it more complicated by requiring users to check off boxes or fill in fields manually, even if you suspect there's a problem. Ask yourself what is causing this behavior in the first place.

Are no-shows happening because you need to vet the person setting the meeting in your chatbot or iframe calendar? Did you set up a meeting with someone in a non-selling area? Did you allow them to set meetings more than two weeks out? Restricting the timeline they can choose to book a time to 2-3 weeks can sort out people who probably wouldn't show up anyways.

Are falsely reported meetings high because you're measuring the sales team on activity volume? Do the people who log the most activity sell more? Or is there a way to passively log the information you're asking for without hitting them over the head with volume goals?

Is marketing frustrated when activity isn't logged after a lead is passed to the sales team? Consider putting a lead feedback mechanism in place, acting as the neutral party between the two teams, and performing anonymous feedback meetings. There's a high chance that the reason those leads aren't being followed up on is either due to a system problem (they can't see the right leads first or the leads aren't being routed properly) or because there's something legitimately wrong with the fit or buyer stage with that lead source.

What is the true harm if your meeting numbers are inflated and your management team knows that they're a bit off? Chances are high that there is an acceptable margin of error, and your event data is well within it.

You can (and should) still report on:

  • Number of calls it takes before an opportunity is opened
  • Number of meetings until opportunity closed
  • What kind of personas are on the calls

Tracking Prospecting Meetings

The Scenario

Prospecting meetings generally fall under one of the previous two buckets. If your inside sales team is setting the meeting for an AE, you'll want to check out our advice above under "Tracking a Meeting Set." 

In this instance, we'll discuss how to track AE prospecting meetings.

What makes it complicated

Tracking actual meetings held is a nice metric when you're trying to figure out how much prospecting a salesperson needs to do to create an opportunity. However, it will never be a perfect measurement.


Some salespeople don't like to enter an opportunity in the system until they are certain about it. That way, they aren't hounded by their manager for updates and pushed to commit to something they aren't confident about.

There's also the issue outlined several times above. If a meeting is a no-show, it still looks like a meeting held in most CRMs.

Our advice

 If you can get call data and find a way to automate information, that's great! Otherwise, ensure you have passive logging systems like calendar integration. Anything you can do to reduce "data entry" while retaining the information your business would like to have is a plus.

Regarding opportunity creation, leave it up to your sales managers to pressure your AEs to create opportunities. It's probably not worth the fight.

Your sales manager should drive what kind of activity data they want to see. We're sticking with our advice to focus on what matters most – forecast integrity, pipeline hygiene, conversion stats, and deal velocity.

Looking for more great content? Check out our blog and join the community.

Related posts

Join the Co-op!

scribbles 7 birds
Tail Spin Animation