How to measure gym marketing ROI by club (joins, not leads)

How to measure gym marketing ROI by club: count joins from ABC Fitness or Mindbody, strip out January, value each member, and find the clubs worth funding.

By The Countlift team · · 9 min read

To measure gym marketing ROI by club, count the joins each club signed, subtract the joins it would have signed without the extra spend, and value the difference at what a member is worth to you. The “would have signed anyway” number comes from a matched set of your own clubs where spend didn’t change over the same weeks.

Everything else is detail. Important detail, because fitness has two traps that make almost any campaign look brilliant: leads that never sign, and a January that would have happened without you.

What gym marketing ROI by club actually means

Return on investment needs three numbers per club. Get any one of them wrong and the ROI is fiction.

  • Extra joins. New agreements signed at the club above what it would have signed without the spend. Not total joins, not leads.
  • Value per join. Monthly dues × expected months of tenure, plus enrollment and annual fees you actually collect. Use the tenure of members who joined in the same month of the year, because January joiners often behave differently from September ones.
  • Spend that reached the club. Media aimed at the club’s market or radius, split across clubs in that market by your usual rule.

ROI is then (extra joins × value − spend) ÷ spend. You can run it on dues revenue for a headline number, or on contribution after variable costs for a stricter one. Pick one and use it for every club.

Why January and lead counts make every club look profitable

Start with leads. A free-pass download, a tour booking or a form fill costs a few dollars on Meta. A signed agreement costs far more, because most leads never sign and some were members-to-be anyway. ROI measured on leads is ROI on a number your club software never sees.

Then January. Resolutions fill clubs whether you advertise or not, and anything you run that month inherits the surge.

+21.2%
jump in visits to US fitness locations in January 2025 compared with December 2024.Source: Placer.ai, 2025

Those are visits, not joins, but joins follow the same calendar. If your test clubs signed 1,500 members in November and December and 2,460 in January, a before-and-after read gives the campaign 960 joins. It earned a fraction of that. The rest was the calendar.

January joins at test clubs and their twinIllustrative. Weekly joins at six test clubs (green) and a twin built from steady-spend clubs (grey dashed), mid-November to mid-March. Both jump from about 250 a week to about 360 in January. The test clubs, which also got six weeks of extra spend, run about 50 a week above the twin during the campaign: the green gap is 300 extra joins in total.WEEKLY JOINS · 6 TEST CLUBSILLUSTRATIVETest clubs (extra spend)Twin from 12 steady-spend clubsJoins from the ads6-WEEK CAMPAIGN200300400500usual pace ≈ 250 / weekJanuary surge: happens anywayAds: +300 joins over 6 weeksNOVDECJANFEBMAR
Illustrative. Weekly joins at six test clubs and their twin. Both spike in January. Only the extra gap during the campaign belongs to the ads.

Getting joins by club out of ABC Fitness, Mindbody or ClubReady

You need one count per club per day: new agreements signed. Every major club system can export new-member sales by club to CSV. The work is in agreeing what counts as “new” before anyone looks at results.

What to include in a joins export, and why
FieldWhy it mattersWatch out for
Club ID and sale dateTies each join to a club and a weekUse the agreement date, not the first check-in
New, rejoin or transferTransfers between your own clubs aren’t new membersCount rejoins, but report them separately
Membership tierA premium join is worth more than a base joinCorporate and promo tiers can have very different tenure
Presale flagKeeps founding members from being counted twice at openingPresales logged in a separate CRM
Dues and fees collectedFeeds value per joinWaived enrollment fees are worth $0, not list price

Keep cancellations in a separate file. They matter for value (tenure) but they’re not what the ads were trying to move this week, and netting them out makes the weekly series twice as noisy.

Worked example: January ROI for six clubs (illustrative)

An 18-club regional chain with $39 monthly dues waives its enrollment fee in January. In two metros it adds $1,000 a week per club of paid social, search and streaming video for six weeks, starting the week after Christmas: six clubs, $36,000 in total. The other 12 clubs keep their normal spend. From past January cohorts, the chain expects a January joiner to stay about 10 months, so a join is worth 10 × $39 = $390 in dues.

Illustrative. Six-week totals, $6,000 of added spend per club
ClubExpected joins (twin)Actual joinsExtra joinsCost per extra joinROI on dues
Club 142049070$86355%
Club 239045060$100290%
Club 337042555$109258%
Club 435040050$120225%
Club 533037545$133193%
Club 630032020$30030%
All six2,1602,460300$120225%
  1. Naive read. 2,460 January joins − 1,500 in the prior six weeks = 960 “campaign” joins, or $37.50 each.
  2. Twin read. The 12 steady-spend clubs, weighted to match, say the six would have signed 2,160 anyway. Extra joins: 2,460 − 2,160 = 300.
  3. Cost. $36,000 ÷ 300 = $120 per extra join, more than three times the naive figure.
  4. Return. 300 × $390 = $117,000 in expected dues. ROI = ($117,000 − $36,000) ÷ $36,000 = 225%.
  5. By club. Club 1 returns 355% (70 × $390 = $27,300 on $6,000). Club 6 returns 30% (20 × $390 = $7,800 on $6,000).

The campaign worked. It just worked a third as well as the naive read claimed, and almost not at all at one club. If the chain wants every dollar back twice in dues, the most it can pay for an extra join is $390 ÷ 2 = $195. Five clubs clear that bar. Club 6 doesn’t come close.

Cost per extra join at six clubs against a $195 ceilingIllustrative. Clubs 1 to 5 (green) cost between 86 and 133 dollars per extra join, under a 195 dollar ceiling. Club 6 (amber) costs 300 dollars per extra join, well above it.COST PER EXTRA JOIN · BY CLUBILLUSTRATIVEUnder the ceilingOver the ceiling$195 ceiling$0$100$200$300$86Club 170 EXTRA$100Club 260 EXTRA$109Club 355 EXTRA$120Club 450 EXTRA$133Club 545 EXTRA$300Club 620 EXTRA$195 ceiling = half of a $390 member value
Illustrative. Cost per extra join by club from the worked example, against a $195 ceiling (half of a $390 member value). Club 6 is the outlier.

Before cutting Club 6, look at why. In January the usual culprit is capacity: if the squat racks are three deep at 6pm, more advertising doesn’t sign more people. It annoys the ones you have.

Measuring presales before a club opens

A new club has no history, so there’s no twin in the usual sense. What you do have is every past opening. Line up their cumulative presales by weeks before opening, not by calendar date, and you get an expected pace with a typical spread around it.

Each week, plot the new club against that band. A club running below the band eight weeks out has time to fix it: more media, a sharper founding rate, a street team at the grocery store next door. A club that’s still below it at week two needs a different conversation. The same comparison, carried past opening day, tells you whether launch media added members or just pulled presales forward. Our guide on how to measure a grand opening covers the post-opening ramp in more depth.

Presales for a new club against the expected pace from past openingsIllustrative. The expected cumulative presale curve (grey dashed) rises to about 900 by opening day, inside a shaded range of plus or minus 15 percent. The new club (green) tracks the range until eight weeks out, then falls below it, marked in amber. At four weeks out it has 380 presales, and on that pace would reach about 720 by opening.CUMULATIVE PRESALES · NEW CLUBILLUSTRATIVENew clubExpected pace (past openings)± typical range2505007501,000Week −8: first week below the rangeTODAYExpected ≈ 900On this pace ≈ 720−12−8−4OPENWEEKS TO OPENING →
Illustrative. Cumulative presales for a new club against the expected pace from past openings. The club drops below the typical range eight weeks out, which is the moment to act.

Two rules keep presale ROI honest. Flag presales in the export so they aren’t counted again when members first check in. And value founding members at the founding rate they actually pay, which is usually lower than standard dues.

Capacity, churn and the other things club ROI hides

Peak-hour capacity

Your fullest clubs post the most joins and the least lift. If a club’s 5–7pm floor is consistently packed, treat its ad budget as the first candidate to move, and check whether the extra joins you do get there cancel faster.

January cohorts churn differently

Pull tenure by join month from your club software. If January joiners stay seven months and September joiners stay fourteen, a January join is worth half as much, and the ROI table above should use the smaller number. Don’t borrow an industry average when your own data is sitting there.

Referral bonuses, corporate deals and price promos

A $0-enrollment weekend or a corporate partnership at one club behaves like media: it moves joins at that club only. Log them by club and date, or the comparison will credit your ads with them.

How to plan a club-level test around January

  1. Pick clubs in pairs. Group clubs that tracked each other closely last year, then pick at random which one in each pair gets the extra spend.
  2. Start before the surge. Launch in the last week of December so the campaign covers the whole of January, and keep the comparison clubs’ spend flat.
  3. Run six to eight weeks. Shorter tests can’t separate a few dozen extra joins from normal week-to-week noise.
  4. Size it first. If a club signs 60 joins a week and your test can detect a 10% lift, you need about 6 extra joins a week per club. At $120 each, that’s $720 per club per week. Spend less and you’re buying an inconclusive result.
  5. Read it with a tail. Keep counting for two to four weeks after media stops. Some people tour in January and sign in February.

Common mistakes when measuring gym ROI by club

  • Counting leads. Free passes and tour bookings are a funnel stage, not a return.
  • January vs. December. The single most common way to overstate fitness ROI by a factor of three.
  • Counting transfers as joins. A member moving clubs is not new revenue.
  • Using list price. Waived enrollment fees and founding rates are what you actually collect.
  • One tenure for every month. Use cohort tenure by join month from your own data.
  • Even budgets across clubs. Full clubs and clubs with open capacity don’t respond the same way to the same dollar.
  • Double-counting presales. A founding member is one join, at presale, not another at opening.

Questions people ask about gym marketing ROI

What is a good marketing ROI for a gym?

It depends on what a member is worth to you, which is why there’s no universal benchmark. Work out value per join from your own dues and cohort tenure, then decide the minimum return you need. A club returning less than that on extra joins, measured against a twin, should lose budget to clubs returning more.

How do I calculate cost per acquisition for a gym?

Divide the spend that reached a club by the extra joins it produced, not by all joins and not by leads. Extra joins are actual joins minus what a matched set of steady-spend clubs says the club would have signed anyway. That gives cost per extra join, the number you can compare with member value.

How do I export new members from ABC Fitness or Mindbody?

Run the new-member or sales report by club for the date range you need and export it to CSV. Include sale date, club, membership type and whether it was a new join, rejoin or transfer. Countlift takes that file as a daily or weekly upload and you map the columns once.

How do I measure marketing during January?

Compare clubs that got extra spend with clubs that didn’t, over the same January weeks. Both sides get the resolution surge, so it cancels out. Never compare January with December or with the same club’s November, because the season alone will make any campaign look like a hit.

Do I need member names or payment data?

No. Club-level ROI needs daily counts of joins by club, and revenue if you want it. Names, contact details and payment information never need to leave your club software for this kind of measurement.

Measured on joins against a twin, most club portfolios split cleanly: clubs where every extra dollar signs members, and clubs that were going to fill anyway. Fund the first group, trim the second, and do it before next January rather than after.

Next step

Put your own locations through the comparison.

Your first location report is free at any size. Bring a CSV of weekly sales and spend, or connect your POS and ad accounts.

Written by The Countlift team at First Byte in The Woodlands, Texas. Questions or corrections? Email hello@countlift.com.

Keep reading

IndustriesHow to choose feeder markets for hotel advertisingHow to choose feeder markets for hotel advertising: rank cities by room nights per household, plan for booking windows, and test CTV against matched holdouts.9 min read · Read guide →IndustriesHVAC marketing attribution for booked jobs, not callsHVAC marketing attribution for booked jobs, not calls: count jobs in ServiceTitan, Jobber or Housecall Pro, net out the weather, and judge LSA on real work.9 min read · Read guide →IndustriesMed spa marketing ROI by location: count booked treatments, not DMsMed spa marketing ROI by location: count treatments from Zenoti, Boulevard or Mindbody, net out promo pull-forward, and fund the locations that grow.10 min read · Read guide →MethodologyHow MarketTwin™ worksThe method behind every Countlift read: comparable locations, twin markets, intervals and placebo checks.Read the method →

See which of your markets your ads actually move.

Your first location report is free at any size. No card, no customer records.