Ad tracking for CrossFit gyms
Adsu follows a click on your Facebook or Google ad to the free intro booked in HighLevel, the person who turned up, the foundations course they paid for in PushPress, Zen Planner or Stripe, and the unlimited membership after it. Renewals keep paying the ad that found them, and a second box gets its own line.
Updated
The question every box owner asks
Are my Facebook ads working, or am I paying for people who book a free intro and never show? Meta says the campaign produced a pile of leads; the whiteboard says a handful of new members this month, and you cannot say whether they came from the ad, the Instagram post or a member’s spouse. The ad account and the front desk disagree because Meta counts the form, while your billing counts the first payment for foundations, weeks later, in a different system. Attribution, put simply, is matching each paying member back to the click that started them, and it is the only honest way to price a free intro. Read how Adsu follows the click to the paying member.
How the chain runs in your stack
Most boxes run PushPress or Zen Planner for members and billing, Stripe under the card on file, HighLevel for the free-intro booking and the follow-up texts, and Meta and Google Ads for the ads. Adsu resolves the member behind each PushPress charge alongside the Stripe payments, takes the enquiry and the intro booking from HighLevel, and takes campaign and spend from the ad accounts.
- 01
The click on the free-intro ad
A Meta or Google ad promises a free intro. The tap, or the call from the ad, is tied to the campaign that ran it.
- 02
The intro is booked in HighLevel
A name, a phone number and a slot. The person behind the click now exists in your CRM.
- 03
They show up for the intro
Booked and showed are kept as separate stages, because no-show intros are the cost most boxes never see.
- 04
Foundations is paid
The first payment clears in Stripe, with PushPress telling Adsu which member it belongs to, or in the billing system you run. The campaign is judged here.
- 05
They move to unlimited
The monthly membership after foundations is carried as revenue from the same click, month after month.
- 06
A refund takes it back
Refunds and chargebacks reduce the revenue the ad is credited with, so a campaign that brings members who quit inside the first month shows it in the line.
The economics Adsu tracks
- Cost per intro bookedWhat the box spent on a campaign divided by the free intros that campaign booked. Cheap intros are where the trouble starts, so this is the first number, never the last.
- Cost per showThe same spend divided by the intros that actually walked in. The gap between this and cost per intro is the price of no-shows.
- Cost per memberSpend divided by the people whose first foundations or membership payment cleared, in the same period. This is the number the campaign lives or dies on.
- Drop-in revenue versus member revenueA drop-in is one payment with nothing after it; a member is the first payment plus every month that follows. Adsu carries the months after the first payment against the ad, so a campaign that brings members keeps climbing while one that brings drop-ins goes flat.
When you open a second box
The second box gets its own line the day it opens. Adsu assigns each member to the location whose payment account took the money, so a click on an ad you meant for the new box that ends up as a member at the original one is credited where the payment landed, not where the campaign name pointed. Each box connects its own HighLevel location and its own billing account; the ad account can be shared. You read cost per member for each box on its own, never as a blended average that hides the one that is struggling.
Questions, answered.
PushPress is the source of truth for who your members are and what they paid, and Adsu reads that member identity from it. What Adsu adds is the other end of the chain: the click or call, the ad account's spend, the intro booked and the intro showed, joined to that payment so each member is credited to the campaign that produced them, with spend on the same line.
They stay on the report as booked but not showed, against the campaign that produced them. Booked goes back to the ad platform as a win and showed goes back as a better one, so the targeting learns who turns up rather than who fills a form. You see the no-show cost per campaign instead of guessing at it.
One campaign still has an intro, a show, a foundations payment and the months after it, and the money hides between those stages. One campaign read stage by stage is the whole point; the report is just shorter.
A payment that never touches a connected billing system cannot be matched, so Adsu leaves it out of the attributed number instead of guessing, and says so on the report. Move foundations onto the card on file and every one of them counts.
From the first intro booked after the pixel and the connections go live. Adsu reports forward from that day, so the first full month of intros, shows and foundations payments is the first month you read cost per member on.
Related
The franchisor sees spend, the franchisee sees joins. Adsu shows which location's ads produced which memberships, on one plan with no per-location fees.
Yoga studiosWhich ad brought the students who went from intro offer to unlimited membership? Adsu follows the click into Mindbody or WellnessLiving to find out.
Martial arts gymsKids classes and adult BJJ pull different parents, prices and renewal cycles. Adsu shows which ads produced paying students, and who renewed, per location.
Personal training studiosConsults are free, packages aren't. Adsu follows a click to the consult, the show and the package paid in Stripe or Square: cost per client, not per lead.
AgenciesOne login, every client gym, one report the owner can read: cost per member and revenue per campaign, per location. Adsu for agencies running gym ads.
Cost per memberCost 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.
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.