Ad tracking for martial arts gyms and BJJ schools
Adsu follows a click on a kids-karate or adult-BJJ ad to the trial booked in HighLevel, the family that turned up, the enrollment paid in Zen Planner, Mindbody or Stripe, and every tuition payment after it, then credits that revenue to the ad. Kids and adult campaigns get their own lines, and so does each academy.
Updated
The question every school owner asks
Did the kids campaign or the adult BJJ campaign produce the families who are still paying tuition six months on? A parent clicks a kids ad; the free trial gets booked; the child enrolls, and the parent signs up for adult classes a month later. Meta counts one lead; your billing counts two tuitions; neither report tells you what the ad was worth. The ad account and the front desk disagree because the platform stops at the trial booking, while a school only earns when the enrollment is paid and, more than anything, when it renews. Attribution, in plain terms, is matching each paying student back to the click that started them, done separately for the kids program and the adult one. Start with how Adsu tracks an ad to a paying student.
How the chain runs in your stack
Most schools run Zen Planner or Mindbody for enrollments, tuition and belts, Stripe behind online sign-ups, HighLevel for the trial booking and the reminders parents need, and Meta and Google Ads for the campaigns. Adsu takes the enquiry and the trial from HighLevel, the tuition payments and the student behind them from your billing system, and campaign and spend from the ad accounts, and joins them into one record per family.
- 01
A click on the trial ad
A parent taps a kids ad, or an adult taps a BJJ trial ad, or one of them calls the school from it. The visit is tied to the campaign, so the kids line and the adult line start separate.
- 02
The enquiry lands in HighLevel
The parent or the adult student leaves a name and a number. The person behind the click is now in your CRM, with the campaign that produced them.
- 03
The trial is booked
The free trial or intro class goes on the calendar. It goes back to the ad platform as a real result, not a form fill.
- 04
They come in and take the class
Showed is kept apart from booked, because trial no-shows are where a school's ad money leaks, especially in kids classes where a parent has to drive.
- 05
The enrollment is paid
The first tuition payment clears in Zen Planner, Mindbody or Stripe. This is the moment the campaign is judged, and the payment account decides which academy gets the credit.
- 06
Tuition renews
Every renewal is carried as revenue from the ad that brought the family in, so a campaign whose students stay for the belt outranks one whose students quit after the first month.
The economics Adsu tracks
- Cost per trial, kids and adults apartA campaign's spend divided by the trials it booked, one line for the kids program and one for the adult one, because the parent who books for a child and the adult who books BJJ for themselves respond to different ads at different prices.
- Cost per enrollmentThe same spend divided by the students whose first tuition payment cleared. It replaces cost per lead as the number you run the school on.
- Trial to enrollment, per campaignEnrolments compared with trials for each campaign, from your own numbers. Adsu does not tell you what a good rate is; it shows you which of your campaigns has the best one and which is booking trials that never enrol.
- Renewals are the numberThe first tuition plus every renewal after it, net of refunds, credited to the campaign. An enrollment that quits after one month and one that stays through three belts look identical at the front desk on day one; they look completely different here.
Two academies, one ad account
Run two academies from one Meta account and one HighLevel, and the ad platform still reports one blended result. Adsu assigns each family to the academy whose payment account took the enrollment, so the line for each location shows the campaigns that produced its students, even when the campaign name says otherwise or the parent enquired at one academy and enrolled at the other. Each academy connects its own billing account; the ad account and the CRM can be shared. A head instructor who runs one location sees that location and nothing else.
Questions, answered.
Yes, and Adsu reads them that way. Each campaign is one line per location, so a kids campaign and an adult BJJ campaign show their own trials, shows, enrollments and renewals. Where one ad serves both, the enrollment still lands against that campaign; splitting the campaigns is what lets you compare them.
The one your best campaign gets. Adsu reports the rate per campaign from your own trials and enrollments rather than quoting an industry figure, because a kids karate trial in a suburb and an adult BJJ trial downtown are different businesses. Compare your campaigns against each other and put the budget behind the one that enrolls.
Both tuitions are payments matched to the parent's email or phone, so both are credited to the click that started the family. The revenue line shows two tuitions against one enquiry, which is exactly why cost per lead undersells a good kids campaign.
No. Adsu connects to the systems the school already runs and joins what they know to the click. Enrolments and tuition stay in Zen Planner, the trial booking stays in HighLevel, and your campaigns stay in Meta and Google; nothing changes for your instructors or your front desk.
When the adult enrollment is paid on the same account, matched by the same email or phone, it is carried as a later payment from the family the kids ad brought in, not as a new conversion. The kids campaign's revenue line grows, and that is the honest way to read it.
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.
CrossFit gymsDo your box's Facebook and Google ads work? Follow the click to the free intro, the show and the paid membership in the billing system you already run.
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.
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.