Tutorial

How Do You Build a Meetings Booked by Source Dashboard in HubSpot?

Written by
Pravin Kumar
Published on
Oct 19, 2026

How do you see which channels actually book meetings in HubSpot?

Build a custom report with meetings as the primary data source and contacts added as a second source, then count meetings broken down by the contact's original traffic source. Add a second report for held meetings using the meeting outcome. Put both on one dashboard, filtered by meeting date.

This tutorial is for a B2B team that already books meetings through HubSpot, whether from a scheduling page on the website, sales sequences, or reps logging calls. Leadership keeps asking which channel produces meetings, and today the answer is a guess or a spreadsheet someone updates by hand.

By the end, you will have a dashboard that shows meetings booked and meetings held by source, refreshed automatically. It takes about an hour to build if your meeting data is already in HubSpot.

What do you need before you start?

You need access to HubSpot's custom report builder, meetings logged in HubSpot with outcomes filled in, and contacts associated with those meetings. HubSpot's knowledge base lists the custom report builder for Professional and Enterprise tiers of its hubs, and says users need permission to create reports.

Check outcome data first. HubSpot documents a Meeting outcome property on meetings, with options set in your call and meeting outcome settings. It also documents count properties for completed, canceled, no-show, and rescheduled outcomes. If reps never set outcomes, your held-meeting numbers will be empty, so fix that habit before building.

Also confirm associations. A meeting with no associated contact cannot be broken down by the contact's source. Pull a quick list of last month's meetings and check that each one has a contact. If many do not, the dashboard will show a large blank category until associations improve.

Which properties will the dashboard use?

From meetings: activity date, meeting source, meeting outcome, and the outcome count properties. From contacts: original traffic source and its drill-down. HubSpot describes meeting source as the source where the meeting was booked, and original traffic source as the first known source through which a contact interacted with your business.

These two "source" properties answer different questions, and that is useful. Meeting source tells you how the meeting was booked, such as through a scheduling page or logged by a rep. Original traffic source tells you how the person first found you, such as organic search, paid search, or referrals. You want both on the dashboard.

Decide which date drives the report. Activity date is when the meeting happened. Create date is when the meeting record was created in HubSpot. For "meetings booked this month," create date usually fits better. For "meetings held this month," use activity date. Pick one per report and label it clearly.

How do you build the meetings booked by source report?

Open the custom report builder, set meetings as the primary data source, and toggle on additional data sources to add contacts. Put the contact's original traffic source on the X-axis, the count of meetings on the Y-axis, and filter by meeting create date for the period you want.

Use a bar chart for this report. Sources are categories, and a bar chart makes the ranking obvious at a glance. Sort bars from highest to lowest so the top channel is always first. Name the report plainly, such as "Meetings booked by original source, this quarter."

Add a breakdown by meeting source if you want both views in one chart. That splits each channel's bar into scheduling page bookings, rep-logged meetings, and others. If the chart gets crowded, keep it as a separate report instead. A simple chart people read beats a clever one they ignore.

How do you build the meetings held by source report?

Duplicate the first report, switch the date filter to activity date, and change the measure to the sum of the outcome completed count. That gives you meetings that actually happened, by source. Held meetings are the number that matters for pipeline, because a booked meeting that never happens creates nothing.

HubSpot documents the outcome completed count as 1 if the meeting was completed and 0 if not. Summing it across meetings gives you held meetings in a single measure without extra filters. The same approach works for the no-show count if you want a no-show report next to it.

With both reports side by side, you can compare show rates by channel. A channel that books many meetings but holds few is a different problem from a channel that books few but holds nearly all of them. For fixing the booking side of that, see how to design a booking page that reduces no-shows.

How do you assemble the dashboard?

Create a new dashboard, add both reports, and use a dashboard-level date filter, if your account has one, so everything moves together. Put meetings booked on the left and meetings held on the right. Add a short text note at the top explaining which date each report uses and what each source means.

Keep the dashboard small. Two or three reports that answer one question clearly will get used. A dashboard with fifteen charts gets opened once and forgotten. If someone wants more detail, they can click into a report and drill down to the meeting records behind any bar.

Share it with the people who make channel decisions: the founder, the head of marketing, and sales leadership. If your plan allows it, schedule a recurring email of the dashboard, so the numbers arrive without anyone having to remember to look.

What problems should you expect with the data?

Expect a large "offline" or unknown bucket, missing outcomes, and meetings without contacts. Contacts created by import or added by reps manually can carry an offline-type source. Meetings logged without outcomes show as booked but never held. Each problem has a fix, and the dashboard makes all three visible quickly.

For offline sources, look at how contacts are being created. Imports from events or lists will carry offline sources, which is accurate. But if web leads arrive through an integration that bypasses HubSpot tracking, they can lose their real source. Fixing the form or integration is the real solution, not relabeling contacts by hand.

For missing outcomes, make the outcome a required step in the rep's routine, and consider a task or reminder after each meeting. Response time matters here too, since faster follow-up can improve show rates. I covered that report in building a lead response time report in HubSpot.

How do you use the dashboard to make decisions?

Review it monthly and ask three questions: which channel holds the most meetings, which channel has the lowest show rate, and which channel is growing or shrinking. Then connect meetings to pipeline. A channel that holds many meetings but creates little pipeline needs a qualification fix, not more budget.

Meetings are a leading indicator, not the goal. Once the meetings dashboard is trusted, add a pipeline report by the same source property so you can follow the chain from first visit to meeting to deal. If content is one of your channels, the same approach applies, and I described it in how to measure content-led pipeline for a SaaS blog.

Resist reacting to a single month. Small teams have small numbers, and one good week can swing a channel's share. Look at rolling three-month trends before moving budget between channels.

What should you do next?

Check that meetings have outcomes and associated contacts. Build a meetings booked report by original traffic source using create date, then duplicate it for held meetings using activity date and the completed count. Put both on a shared dashboard with a clear note on dates and sources, and review it monthly.

A meetings by source dashboard turns channel debates into a shared set of numbers. It will not settle every question, but it moves the conversation from opinion to evidence, which is where good go-to-market decisions start.

If you want help building HubSpot reporting that your team actually uses, reach out and let's chat.

Get found, cited and the back office automated

Let's make your site the source AI engines quote and wire up the systems behind it.

Contact

Let's get your website found and cited by AI

Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.

Got it, thanks. I read every message personally and reply within 1-2 business days.
Oops! Something went wrong while submitting the form.