Guide

Mindbody Dashboard: Build One in Looker Studio

A Mindbody dashboard gives studio owners a single view of revenue by class type, fill rate, retention, and attendance, which default software reports separate across multiple exports. The standard setup feeds three flat tables in Google Sheets from Mindbody, then visualizes them with Looker Studio. Pandaflow keeps those Google Sheets tabs updated so nobody has to manually re-export data each week.

Updated

Which six numbers should a studio owner see every week?

Six numbers are enough for a weekly owner review. Anything beyond that is usually a chart nobody acts on.

Number Definition to use Where it comes from in Mindbody The usual gotcha
Revenue by class type Revenue grouped by class or service category, labeled sales or attendance-allocated Sales reports (sales) or attendance-with-revenue style reports (allocated) The two definitions differ whenever you sell packs or memberships. Never mix them on one chart.
Class fill rate Booked or attended divided by capacity, per class occurrence Class attendance reports plus class capacity Without capacity you only have headcount. Waitlists and late cancels distort it.
New-client second-visit rate Share of new clients with a second visit within 30 days of their first Client report with first visit date, plus visit history Intro offers that expire before the second visit make the number look worse than it is.
Active members and churn Members active at month end, and cancellations in the month Membership and contract reports Frozen or paused memberships need a stated rule: in or out.
90-day retention Clients who visited in the last 90 days and visited again in the next 30 Visit history by client Seasonal dips. Compare with the same month last year, not last month.
Late cancels and no-shows Share of bookings that end as a late cancel or no-show Class attendance reports, booking status Only useful if status is kept as its own column rather than dropped.

The rule that makes everything else work: write each definition down once and put it on the dashboard. “Revenue” and “retained” mean different things in different reports, and most arguments about a studio’s numbers are really arguments about definitions.

How do you pull this data out of Mindbody by hand?

You work from three report families. Names and availability vary by plan and by whether you run Mindbody or Booker, so check the Reports area in your own account rather than relying on a path written here.

  • Sales reports for money collected, by date and by item.
  • Class attendance reports for visits, booking status, capacity and instructor. Attendance-with-revenue style reports, where they exist in your account, give you the attendance-allocated view.
  • Client and membership reports for first-visit dates, active memberships and cancellations.

Export each one to CSV or Excel for the same date range. Then paste them into three tabs in Google Sheets:

  • Visits: one row per booking or check-in, with class type, instructor, location and status.
  • Sales: one row per line item, with revenue category and pricing option.
  • Clients: one row per client, with first visit date and membership status.

Fix the layout once. Use an ISO date column (2026-03-04), keep time and timezone in separate columns, and avoid merged cells and hand-built totals rows. Looker Studio reads flat tables well and handles pivot-style sheets poorly.

Mindbody’s own analytics are useful for a quick look at one report at a time. They do not put revenue by class type beside retention on one page, which is why most owners end up comparing separate exports.

One point to keep straight: the Mindbody branded app is the client-facing booking app with your studio’s name on it. It is not where an owner reviews revenue and retention.

Where does the manual way break?

The manual version usually works for the first two weeks. Then it starts to fail in ways that are hard to spot:

  • Two revenue definitions get mixed. Sales revenue and attendance-allocated revenue will not match, especially in a month with a promotion. A pasted dashboard can silently combine them.
  • Date ranges overlap or leave gaps. Re-exporting every week means some rows get counted twice or not at all. Nobody notices until a manager asks why a number jumped.
  • History changes. Refunds, comps, rebooked or cancelled visits and voided sales edit past records, so last month’s pasted rows go stale.
  • Timezones move late classes. A 9 p.m. class can land on the next day’s totals if the day boundary is not set. This matters more for multi-location studios.
  • One person holds the process. The dashboard stops updating the week the person who exports it is away.

How do you build the Looker Studio dashboard on top of the Sheet?

Looker Studio has a Google Sheets connector, so each tab can be its own data source.

  1. Connect each tab. Add the Sheet as a data source, one per tab. Check that the date column is read as a date and revenue as a number. If a date shows as text, fix it in the Sheet, not in Looker Studio.
  2. Page 1, the owner view. Scorecards for the six numbers, a bar chart of revenue by class type with the label “sales” or “attendance-allocated” in the title, and a date-range control.
  3. Page 2, attendance. A fill-rate table by class and time slot with conditional formatting, no-show and late-cancel share of bookings, and an instructor filter.
  4. Page 3, retention. A cohort-style table of new clients by first-visit month showing who came back within 30 days, a line chart of 90-day active clients over time, and active members against cancellations by month. Put the retention definition in the chart’s footer text.

Don’t rename columns after the dashboard is built. Renaming or reordering them breaks the field mapping.

How do you share the dashboard with managers?

Looker Studio reports can be shared with named people or by link, as viewers or editors. Data sources can use the owner’s credentials or each viewer’s.

  • Share with named email addresses as viewers.
  • Use the owner’s credentials on the data source, so managers can see the dashboard without access to the Sheet.
  • Keep client email addresses, phone numbers and birthdays out of the Sheet. Anything in the Sheet can be reached through the report, so use client IDs instead.
  • Check the data freshness setting on the data source. Looker Studio caches data, so a report can trail the Sheet. A weekly review does not need frequent refresh; a morning fill-rate view does. Do not describe the dashboard as real-time.

How does Pandaflow keep the Sheet fed from Mindbody?

The dashboard is only as good as the Sheet under it, and the Sheet is the part people stop maintaining. Rather than replacing your booking core, Pandaflow’s philosophy is simple: Keep Mindbody. Connect everything else. Our Mindbody integrations keep your reporting tabs updated automatically so nobody re-exports reports each week.

Setup requires no workflow builders or templates:

  1. Start free.
  2. Connect your apps. Connect Mindbody (or Booker) and Google Sheets.
  3. Describe what you want in plain English, for example: “Keep a Visits tab with one row per booking, including class type, instructor, location and status. Keep a Sales tab with one row per line item. Keep a Clients tab with first visit date and membership status.”
  4. Review a few records against Mindbody before you trust them.
  5. Go live.

What you see once it runs: the tabs update on their own, Looker Studio reads them, and if Mindbody changes its fields, Pandaflow’s AI repairs the sync. Mindbody stays your system of record. Pandaflow only connects the gaps around it. To compare plans, see pricing: free to start, Lite at $79, Silver at $299 and Gold at $499 a month, deployable in Pandaflow’s cloud or your own.

What can go wrong with a studio dashboard?

  • Check the first month against Mindbody. Compare your totals with Mindbody’s own sales report for the same dates before you trust any chart. Expect small differences from refunds and comps, and know which direction they run.
  • Text dates and renamed columns. Either one breaks the Looker Studio mapping.
  • Stale cached data. A manager may think the numbers are wrong when the report is simply behind. Check data freshness first.
  • Personal data in the Sheet. Don’t put client contact details in a Sheet that feeds a shared dashboard.
  • Too many charts. Stop at the six numbers and add a chart only when someone will act on it.

For more reporting how-tos, see the Pandaflow guides.

FAQ

Frequently asked questions

Does Mindbody have a dashboard?

Mindbody has built-in reports and analytics for sales, attendance, clients and memberships, and it describes data-driven reporting as part of its software. What it does not give you out of the box is one custom view that puts revenue by class type next to retention and attendance, which is what a Sheets and Looker Studio dashboard adds. Which reports you can see depends on your plan.

Is the Mindbody branded app a dashboard for owners?

No. The branded app is the client-facing booking app that carries your studio's name, and it is available for iOS and Android. Owners review revenue and retention in Mindbody's reports and analytics, or in a separate dashboard built on your data.

Is Looker Studio free?

Looker Studio has a free version that connects to Google Sheets, which is all this dashboard needs. Google also offers a paid tier, Looker Studio Pro, and its terms can change, so check Google's current pages before you decide.

What KPIs should a studio track?

Start with six: revenue by class type, class fill rate, new-client second-visit rate, active members and churn, 90-day retention, and late cancels or no-shows. Write down how you define each one so the numbers stay consistent from week to week.

Can Pandaflow feed a dashboard from Booker as well as Mindbody?

Yes. Pandaflow connects Mindbody and Booker to Google Sheets, so the same Sheet-plus-Looker Studio approach works for either platform. You connect your apps, describe the tabs you want in plain English, review a few records, and go live.

Get started

Hand the busywork
to your agents.

Spin up your first AI-run integration in minutes. Free to start, scales with you.