How should a gym think about marketing in 2026?
Think of marketing as five jobs, not a list of tactics: get enquiries, get them booked, get them to show, get them to join, and keep them. Each job has one metric that proves it and one piece of tracking that computes it. Judge every channel and agency on cost per member, never on cost per lead.
Updated
Marketing is five jobs, not a list of tactics
Search “gym marketing ideas” and you get the same page fifty times over: a referral program, a six-week challenge, Google Ads, Instagram reels, a free trial, an open day. None of it is wrong. Every one of those tactics is a way of doing job one, getting a stranger to raise a hand. Not one of them tells you whether the people who raised a hand booked a visit, walked in, joined, or were still paying six months later. Tactics are fine. Measuring them by lead count is not.
The ad platforms have the same blind spot, and they grade themselves on it. Meta and Google can see the click and, at best, the form fill, so that is what they optimize for and what their reports celebrate. A cheap lead who never books and a cheap lead who becomes a member look identical in the ad account. The front desk is the only place the difference shows up, and the ad account never hears about it.
A plan built by job fixes the blind spot before you spend the next dollar. Each job below has an owner, one metric that proves it happened, and one piece of tracking that computes the metric from your own systems rather than from the platform’s report card. The chain those systems form, from the click or call to the payment that clears, is walked once on What is AI ad tracking. This page is about running the business on top of it.
- 01Get enquiries.Proved by cost per lead.
- 02Get them booked.Proved by cost per appointment.
- 03Get them to show.Proved by show rate and cost per show.
- 04Get them to join.Proved by cost per member.
- 05Keep them.Proved by lifetime value by source.
Job 1: get enquiries
Enquiries come from paid ads on Meta and Google, from referrals, from walk-ins who saw the sign, from your email list and from the printed pieces around town, each with its own link. Whoever runs your ads owns this job, whether that is you, a manager or an agency. The monthly decision is which sources deserve another dollar and which are producing hands in the air and nothing else. You cannot make that call from a lead count alone, which is why job one is only the start of the plan.
The metric: cost per lead, which is what you spent on a source divided by the enquiries it produced. It is the number every platform report and every agency deck leads with, and it is the least important number on this page, because a lead is a promise, not a member.
The tracking: a click ID (the tag Google or Meta attaches to an ad click, such as gclid) and UTM parameters (the source and campaign labels on a link) carried from the ad to the enquiry, plus call tracking, so a phone enquiry is tied to the ad that prompted it. This is where Meta and Google stop seeing: they know a click happened, but once that person becomes a contact in your CRM, walks in or calls, the platform loses them. Adsu records the click ID, the campaign parameters and the landing page on the visit, and follows inbound calls, so every enquiry arrives with its source attached.
Job 2: get them booked
An enquiry becomes an appointment when someone at the gym replies, calls back and gets a visit on the calendar. The front desk or your sales lead owns this job, and speed is most of it. Every month, look at which sources book at all and which produce enquiries nobody can reach, then decide whether the fix is the follow-up, the offer or the source itself.
The metric: cost per appointment, which is what you spent on a source divided by the appointments it produced. When cost per lead is low and cost per appointment is high, the source is sending you people who were never going to visit, and no amount of follow-up changes that.
The tracking: the appointment in your CRM tied to the enquiry that produced it, and the enquiry tied to its click or call. Adsu receives contacts and appointments from HighLevel, so the booking sits on the same person as the enquiry, and reports it against the campaign, one line per campaign per location. Every booking then goes back to Meta and Google as a win, so their targeting starts learning who books rather than who fills a form. The CRM and the rest of the stack are on the integrations page.
Job 3: get them to show
Booked and showed are different numbers, and only one of them can pay you. The person who confirms appointments and greets the door owns this job: a reminder the day before, a text an hour out, a name at the front desk. Every month, compare show rate by source, because a source can book plenty of appointments that are never kept, and that pattern stays invisible until somebody counts the door.
The metric: show rate, the share of booked appointments where the person walked in, and cost per show, what you spent on a source divided by the people who did. A source with a good cost per appointment and a poor show rate is more expensive than it looks.
The tracking: the appointment marked showed in your CRM, tied back to the enquiry and its click or call. This is the stage most setups skip, because the platforms never ask for it and a CRM pipeline was not built to send it anywhere. Adsu counts showed as its own stage, reports cost per show by campaign and location, and sends every show back to the platforms so they learn who turns up, not just who books.
Job 4: get them to join
This is the job the whole plan exists for. The person who runs the consult owns the close, and the offer, the price and the trial are theirs to tune. The monthly decision is which sources produce members at a cost the membership repays, and it is a per-location decision: the same ad can fill one gym and flop at another, and an average across locations hides the one that is bleeding.
The metric: cost per member, which is what you spent on a source divided by the members who paid. It is the only number that judges a channel or an agency fairly, because it is the only one that counts money coming in against money going out. Judge every source on it, paid or not.
The tracking: the first payment in your billing system matched to the person who enquired, and through them to the click or call that started it, at the location that took the payment. Adsu treats your billing system, whether that is Stripe, Mindbody or another on the integrations page, as the revenue authority: a member counts when the payment clears and the identity matches, never on a platform’s own purchase estimate. If a link in that chain cannot be verified, the member is not counted, and the report says so. That is what makes cost per member a number you can run the business on, for one gym or for a franchise reading every location side by side.
Job 5: keep them
A member who joins in January and leaves in March cost you the same to acquire as one who is still paying in December. Retention belongs to the coaches and the community, and the marketing decision it drives is which sources bring in people who stay. Every month, look at which campaigns and which locations produce members whose renewals keep coming, and move budget toward them even when their cost per lead looks worse.
The metric: lifetime value by source, the total a member from a given source pays over their time with you, not the first payment alone. The source with the cheapest members is rarely the source with the best ones.
The tracking: every renewal credited back to the click or call that produced the member. The first payment establishes the acquisition; later payments are carried as recurring value for that member, never counted as new conversions, so the source is credited with the whole relationship and the platform is never told it won the same person twice. Adsu reads renewals from the same billing system as the first payment, so lifetime value by source computes itself.
Lead generation that ends at members
Gym lead generation, as the internet writes it, is a list of ways to get more leads. The operator’s version has a different ending: which sources produce members who stay, and what a lead from each source is worth against what it costs. Put every source on the same scorecard, paid or not: the Meta campaign, the Google search ad, the referral program, the walk-in, the email send and the printed flyer with its own link. Rank them by cost per member at each location and the plan writes itself.
The complaint we hear most is “the ads get leads but nobody joins.” More often than not the ads are doing exactly what they were told: the platform was asked for form fills, so it found people who fill forms. The fix is not a new ad. It is telling the platform what a win actually is. When booked, showed and paid go back to Meta and Google as the conversions to optimize for, their own targeting goes looking for people like the ones who paid, and the lead-to-member gap closes from the platform’s side. That send-back is called offline conversion tracking, and it is the AI in AI ad tracking.
Your CRM’s built-in send-back usually cannot do this on its own. As of September 2026, HighLevel’s own Add to Google Ads action fires only on a form submission, an order, a number-pool call, a survey or a chat, never on a pipeline stage such as booked or showed (HighLevel help: Workflow Action – Add to Google Ads). Adsu sends the stages that matter from the systems that know them: the CRM for booked and showed, the billing system for paid.
Hold your agency to the same five numbers
An agency that reports cost per lead is grading itself on job one. Ask for the five numbers instead: cost per lead, cost per appointment, cost per show, cost per member and lifetime value by source, per location, computed from your CRM and your billing system rather than from the ad platform’s dashboard. A good agency will welcome it, because the same numbers prove their work in a way a lead count never can. Adsu was built by an operator who runs ads for 14+ gyms, and an agency can be given access to a client’s Adsu workspace, so the owner and the agency read one scorecard instead of arguing about whose number is right. The questions to ask before you sign, the monthly report to insist on and the red flags are on how to hold a gym marketing agency accountable.
Questions, answered.
Follow each person from the click or call through the enquiry, the booked appointment, the show and the first payment in your billing system, then credit that payment back to the ad, per location. Count only the stages you can verify, and judge every campaign on cost per member rather than cost per lead. Adsu does this for you; the chain is explained at adsu.ai/ai-ad-tracking.
The ads are doing what they were told: Meta was asked for form fills, so it finds people who fill forms. Send booked, showed and paid back to Meta as the conversions to optimize for, so its targeting learns who becomes a member, and judge the campaign on cost per member instead of cost per lead. Adsu sends those stages back to Meta for you; the full chain is at adsu.ai/gym-marketing/facebook-ads-for-gyms.
Five jobs, each with an owner, one metric and the tracking that computes it: get enquiries (cost per lead), get them booked (cost per appointment), get them to show (show rate and cost per show), get them to join (cost per member) and keep them (lifetime value by source). Add a monthly review, per location, that moves budget toward the sources producing members who stay. Tactics belong under job one; the other four jobs are where the money is.
The one with the lowest cost per member at each of your locations, and that changes by gym, by offer and by month. No channel is best in general: a source that fills one gym can flop at the next. Put every source on the same scorecard, paid and unpaid, and let cost per member per location decide.
No, and cost per lead is the wrong number to benchmark. A cheap lead who never books costs more than an expensive lead who joins and stays. Judge your sources on cost per member and lifetime value by source, computed from your own CRM and billing data, and compare this month with last month at the same location.
Run one plan and read it one location at a time. Each location gets its own line per campaign, its own cost per member and its own lifetime value by source, computed from the billing system that took the payment, so a franchise or multi-site owner can see which gym’s ads are producing members instead of one average that hides the location that is losing. Route every enquiry to the location it belongs to, and never mix them.
Related
Cost per member is ad spend divided by new paying members, per channel and per location. The formula, a worked example, and what to ask your agency for.
Facebook ads for gymsHow to track your gym's Facebook ads from click to paying member (Pixel, Conversions API, fbclid, CRM, billing) and why leads don't turn into members.
Google Ads for gymsHow gyms track which Google Ads produce members: gclid capture, the form-to-join lag, and offline conversions sent from Mindbody, Stripe or GoHighLevel.
Choosing a gym marketing agencyThe numbers to demand from a gym marketing agency: cost per member and revenue per campaign, per location. The monthly report, questions and red flags.
Gym marketing attributionWhat marketing attribution means for a gym: follow each click or call to the member who paid, per location, and tie Meta and Google spend to real revenue.
CompareHyros, CallRail, WhatConverts, ConversionLoop, Kuviro, HighLevel and Mindbody beside Adsu: gym billing, calls, per-location split, stages sent back.
The proof
- Net members
- +21
- Lifetime value added
- $67,000+
Bobby & Maria Gasdia, Big Day Fitness, 2 locations
Stop paying for leads. Start paying for members.
Early access is opening in small groups. Applying takes two minutes, and we’ll tell you straight whether your stack is ready to connect.