FIG. 02 — Case study

Kiss Fighting Academy

A bilingual site and a kids' ad funnel for a Budapest Muay Thai gym — from the Facebook click to the automated parent email without a single manual step, with deduplicated browser- and server-side conversion tracking.

Client
Kiss Fighting Academy — Muay Thai gym, Budapest
Year
2025–26
Role
Website + ad funnel + conversion tracking
Status
Live Visit site ↗
Stack
ViteMeta CAPIn8nPostHogFormSparkMotibro

The challenge

For a kids' class, it's the parent who signs up.

Kiss Fighting Academy is coach Barni's Muay Thai gym in Budapest's sixth district, on Szív utca — the coach competes on the national team himself. The goal: fill the 10–15 age group's class from Facebook ads, with a free first session as the offer.

That took two things. A landing page that convinces the parent — because the parent clicks the ad, makes the decision and registers the kid in the booking system. And tracking that tells the truth about ad spend: a conversion counts when the application actually arrives — not when someone pressed a button.

The system — 01 · Site

Storefront and front desk in one

kissfightingacademy.com is a static Vite 6 build on Coolify/Hetzner hosting, fully bilingual — Hungarian and English. Beyond the home page there is a dedicated room-rental page, and the legal pages are in order.

For members, the embedded Motibro system is the front desk: class schedule, booking and pass management in one place. The website brings people in, Motibro takes it from there.

FIG. 02.A — KISSFIGHTINGACADEMY.COM · HOME

The system — 02 · Landing

A landing page that speaks to the parent

The 10–15 age group's Muay Thai class got its own landing page, built specifically as a Facebook-ad destination. The offer is simple and strong: the first class is free. The messaging wasn't guessed — it followed a documented research pass over other gyms' ads.

Trust rests on real signals: 45 Google reviews at a 5-star average, from parents and students — and coach Barni, a national-team competitor himself.

FIG. 02.B — KIDS' MUAY THAI LANDING · TIME-SLOT PICKER

The system — 03 · The application's path

What happens after the click?

This is the core of the system: from the Facebook click to the parent's inbox every step is automatic — even the landing page's time slots refresh themselves.

  1. META ADS

    A click on the ad

    The Facebook ad doesn't point at the homepage but at the dedicated kids' Muay Thai landing page — its messaging drawn from the competitor research, not gut feeling.

    ✓ landing loaded — source: facebook ad

  2. LANDING

    Slots that never expire

    The page generates trial-session slots at runtime: it always shows the next Tuesday and Thursday 16:30 classes. No stale dates, no manual updates.

    ✓ slots generated — next Tue / Thu 16:30

  3. FORMSPARK

    Sign-up, minus the spam

    The form is guarded by a honeypot and a time trap: bots fill the invisible field or submit too fast — only a real application travels on.

    ✓ submission valid — honeypot empty, time trap OK

  4. N8N

    The webhook takes over

    The submitted application arrives at n8n over a webhook and kicks off the onboarding workflow — no human hand involved.

    ✓ webhook received — onboarding started

  5. PARENT EMAIL

    The parent gets everything

    An automated bilingual email goes to the parent with step-by-step registration for the Motibro booking system — by the time the first class comes around, the kid arrives already registered.

    ✓ onboarding email sent — HU/EN

FIG. 02.C — THE APPLICATION'S PATH, STATION BY STATION

The system — 04 · Tracking

Measured twice, counted once

Tracking runs on two channels. The Meta Pixel runs in the browser; on the server, a self-hosted Node.js microservice (kfa-capi.sovi.hu) sends the same events to the Meta Conversions API. Both channels carry a shared event_id, so Meta deduplicates — the conversion still shows up when something swallows the browser-side hit, but it never counts twice.

The Lead event fires on the actual form submit, not on the CTA click — so the ad algorithm optimizes for real applications, not button presses. And PostHog analytics loads only after cookie consent.

Results

From the click to the first class, no manual work.

manual steps from sign-up to parent email
0
every conversion measured — browser + server, deduplicated
Google reviews at a 5-star average
45
languages across the site (HU/EN)
2
free trial class — the funnel's offer
1

Ad figures — clicks, applications, spend — belong to the client; this list is about the system built.