Guide

Mindbody Reports You're Missing and How to Build Them

The three Mindbody reports owners ask for most are retention, revenue by class type, and intro-offer conversion. Mindbody's built-in reports show pieces of each, but none gives a finished answer on its own because definitions vary. Define each metric first, then calculate it from synced visit, client, and sales data in a Google Sheet with Looker Studio on top.

Updated

Which Mindbody reports are owners missing?

Three questions come up most: is the new-client funnel holding, which class formats earn their slot, and is the intro offer paying back. Each maps to a report that Mindbody’s built-in reports only partly answer. Attendance and sales reports provide raw records, but getting an actionable number requires establishing clear definitions and joining multiple datasets.

Here is what each report answers, the fields required, and where numbers often disagree:

Report Question it answers Data you need Why it often doesn’t match
Retention (first-visit cohort) Of new clients, how many are still coming in months 1, 2 and 3? Client ID, first-visit date, visit dates, visit status No-shows and late cancels counted as visits; frozen clients look lapsed; duplicate client records
Revenue by class type Which formats earn the most per class and per slot? Class name mapped to a type, location, visit, pricing option used, price or allocated value Unlimited memberships have no per-visit price, so the figure is an allocation and won’t match deposits
Intro-offer conversion What share of intro buyers go on to a membership or pack? Intro purchase date, first visit, next non-intro purchase, a defined window Different denominators (bought vs. attended) and windows; clients who bought but never attended

How do you get these numbers out of Mindbody by hand?

Start in the Reports area of Mindbody. Use the attendance report that includes revenue for revenue by class, and a sales report for pricing option purchases. Menu names and report availability can differ by plan and may change over time, so check your own Reports menu rather than relying on a fixed path. If someone on your team needs access, Mindbody’s staff permissions determine who can view specific reports.

To build the reports manually:

  1. Run the attendance report for your chosen date range and export it to a spreadsheet.
  2. Run the sales report and a client list for that same period.
  3. Join the sheets on client ID or email address.
  4. For cohort retention: Filter out no-shows and late cancellations so only completed visits remain. Identify each client’s first-visit month (for example, January). Then check which clients have at least one completed visit in month 1, month 2, and month 3 after that initial visit.
  5. For intro-offer conversion: List every intro purchase. Find each buyer’s first non-intro purchase (such as a recurring membership or class pack), and verify whether it occurred within your defined conversion window (such as 30 days from their first visit). Be explicit about your denominator: decide whether you count every client who bought the offer, or only those who attended at least one class on it.

For salons and spas on Booker, monthly visit cohorts rarely reflect natural booking cycles. Instead, frame retention around service rebooking intervals. For instance, a haircut client might naturally return every 6 to 8 weeks. Export appointments and clients from Booker, group them by service category, and calculate the share of clients who booked again within their service interval.

Where does the manual way break?

The manual export works for a one-off audit, but it breaks down on a recurring basis:

  • Every export is an isolated snapshot. By the following Monday, the spreadsheet is out of date, requiring someone to download, clean, and join fresh exports all over again.
  • Revenue per class is an allocation, not a deposit. Drop-ins and limited packs have a clear visit price, but unlimited memberships do not. Splitting membership revenue across classes is an accounting allocation. It will never reconcile directly with gross bank deposits, so label your charts clearly.
  • Membership churn and visit retention tell different stories. An autopay member who stopped attending is retained on billing reports but actively slipping away in visit logs. Conversely, a member who froze their autopay looks lapsed in visit data despite remaining an active customer. Read attendance retention and billing churn side by side.
  • Class naming conventions drift. If one studio calls a session “Power Vinyasa” and another logs it as “Vinyasa Power 60”, standard pivot tables split them into separate formats. You need a dedicated mapping layer that groups raw class names into clean parent categories.
  • No-shows inflate visit metrics. Cancelled visits, late cancellations, and no-shows sit in the same raw booking history as attended classes. Failing to filter strictly for completed visits makes retention look stronger than it actually is.
  • Duplicate client profiles distort conversion. A client who bought an intro offer under a personal email and later set up a membership with a corporate email appears as one failed intro conversion and one unrelated new member.

How do you build the dashboard with Pandaflow and Google Sheets?

You keep Mindbody or Booker. Pandaflow connects Mindbody to Google Sheets so your operational data updates continuously.

Setup takes four steps:

  1. Start free and connect your apps: connect Mindbody (or Booker) and Google Sheets.
  2. Describe what you want in plain English. For example: “Send every completed visit to a Google Sheet with client ID, class name, instructor, location, and the pricing option used. Add each sale with its date, amount, and pricing option name. Keep both tabs updated daily.” Pandaflow’s AI sets up the sync directly from your description. There are no workflows, playbooks, or complex settings to configure.
  3. Review a few records. Check a handful of known clients against Mindbody to verify that visit statuses, pricing options, and purchase amounts match.
  4. Go live. Pandaflow maintains the sync and repairs it when schema changes or API adjustments occur.

Once data flows into Google Sheets, add helper columns: a class-type lookup to standardize varied class titles, a first-visit month column, and flags for intro-offer purchases and conversions. Connect the Sheet to Looker Studio to build three live charts: first-visit cohort retention, revenue per class type, and intro-offer conversion rates by month.

Pandaflow is free to start, with Lite at $79, Silver at $299, and Gold at $499 a month. You can deploy in our cloud or yours. See pricing for plan details.

The same data can feed into other business tools, including HubSpot, Mailchimp, Klaviyo, and QuickBooks. Browse Mindbody integrations to explore other available connections, or read our other reporting guides.

How should you read it every week?

A 15-minute review every Monday morning provides clear operational feedback:

  • Check intro conversion for the cohort whose conversion window closed during the prior week.
  • Review month-1 retention for new clients who joined the previous month to see if onboarding is working.
  • Examine revenue per class type across a rolling four-week window to see which times and formats fill rooms.

Use the numbers to guide practical adjustments:

  • Low revenue per class slot: Try adjusting the instructor, time slot, or class format before cancelling the time entirely.
  • Low month-1 retention: Review what happens during a client’s first 14 days, such as welcome calls, instructor touchpoints, or follow-up messaging.
  • Low intro-offer conversion: Re-evaluate the offer structure, pricing, or the timing of upgrade prompts before the trial expires.

Track four-week rolling averages rather than reacting to single-week spikes, which are common in boutique studios. If a monthly new-client cohort has fewer than 15 people, treat the percentage as indicative rather than statistically definitive. When sharing Looker Studio dashboards with studio managers, remember that Google Sheets and Looker Studio maintain their own permissions independent of Mindbody’s staff access controls.

What can go wrong?

  • Numbers do not match Mindbody reports: Verify your date filters, confirm whether multi-location filters are applied correctly, and ensure you are comparing cash collections against allocated visit values.
  • New class names break category groupings: When you launch a new class title, add it to your class-type mapping column in Google Sheets so it groups into the correct format.
  • Retention rates appear artificially high: Check that your source filters actively exclude late cancels and no-shows.
  • Conversion rates seem artificially low: Verify that the full conversion window has elapsed for all cohort members and check for duplicate client accounts with different email addresses.
  • Client data exposure: Restrict Google Sheet permissions strictly to administrators and export only necessary operational fields rather than full customer records.
FAQ

Frequently asked questions

Can Mindbody show intro offer conversion?

Mindbody's reports can show intro offer sales and later purchases, but at the time of writing a finished conversion rate usually needs you to join sales and client data yourself. Define the denominator and the window first, then calculate it in a Google Sheet from synced sales and visits.

How do I build a Mindbody retention report?

Build it as a first-visit cohort. Group clients by the month of their first completed visit, then count how many visited again in months 1, 2 and 3. Leave out no-shows and late cancels so the figure is not inflated.

Why doesn't revenue by class match my deposits?

Revenue by class spreads the price of packs and memberships across visits, while deposits record cash when it was received. The two measure different things, so label them separately.

Where should studio reports live?

In a Google Sheet that holds the synced data, with Looker Studio on top for charts. That keeps the definitions in one place, updates automatically, and can be shared without giving everyone a Mindbody login.

Does this work for Booker salons?

Yes, the same approach applies: sync appointments and sales into a Google Sheet. For salons and spas, rebooking within the usual service interval is often a more useful retention measure than a monthly visit count.

Get started

Hand the busywork
to your agents.

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