Skip to content
All case studies
Case study · Škola pro Tvůrce

From zero enrollments to sold-out courses

Škola pro Tvůrce (“School for Creators”) teaches in-person video courses in the Czech Republic. Direct online sales stalled. A simple inquiry form and personal follow-up helped fill the courses.

Ad cost per customer
Online purchase · Nov 2024
≈$431 / purchase
Lead + phone follow-up · Nov 2024 – Oct 2025
≈$29 / customer, estimated

The first campaign produced one purchase. The later estimate uses the client’s reported 30% lead-to-customer rate and includes ad spend only. Original costs: 10,775.97 CZK and approximately 725 CZK. Converted at a fixed 25 CZK = $1.

Clientskolaprotvurce.cz
IndustryIn-person courses · short-form video creation
ServiceMeta campaign management
MarketCzech Republic
PeriodNov 2024 – Oct 2025
$8.70average ad cost per lead (217.52 CZK)
1,204leads generated
Fullcapacity · dates booked 2 months ahead
01 · Summary

A new education project, zero enrollments, and one month until the first course. Our first campaign optimized for completed purchases and spent ≈$431 for a single sale. We switched to collecting inquiries and following up by phone, generating 1,204 leads at an average ad cost of $8.70 over the following year.

The client reported that roughly 30% of leads became customers. That implies about $29 in ad spend per customer, approximately one-fifteenth of the initial cost. This is an estimate based on the client’s follow-up data, rather than purchases tracked directly in Ads Manager.

02 · How it started

Zero enrollments, one month to launch

“We need to launch the campaigns ASAP—we’re running out of time. Our first course starts in a month and we have exactly zero people enrolled.”

Samuel · Škola pro Tvůrce · Translated from Czech

Samuel wanted to launch courses in short-form video production. He had built a website, but had no clear advertising budget or sales forecast. With the first course just a month away, we needed to understand what stood between an interested visitor and a completed enrollment.

The website loaded slowly, had no working conversion tracking, and contained problems in the registration flow. The audit made the starting point clear: a Lighthouse score of 27 out of 100, the page’s largest element took 6.47 seconds to render, JavaScript execution took 6.4 seconds, and total blocking time reached 3.28 seconds. It was a sales page that customers abandoned before it had even loaded.

Lighthouse audit of the sales page: score 27, LCP 6.47 s, TBT 3.28 s
Sales page audit, Nov 25, 2024 · score 27/100, LCP 6.47 sView full-size image
Silent walkthrough of the original Czech website—what the starting point looked like in practice

“I built it myself in WordPress. I have some experience with it from a previous job. Oh, and a little from school too.”

Samuel · Translated from Czech

This was an early-stage business with a limited budget. Our job was to prioritize the changes most likely to bring in enrollments before launch: reliable tracking, a working website, and a sales process that matched how people chose a course.

Samuel Slavkovský, founder of Škola pro Tvůrce
Who is Samuel?

Samuel Slavkovský · founder of Škola pro Tvůrce

He has spent his entire life building things—construction sets as a child, online magazines in his twenties, and then the renovation of an old school building and the community around it. At thirty, he decided to bring it all together in Škola pro Tvůrce.

His belief is simple: most schools suppress children’s creativity; Škola pro Tvůrce aims to nurture it. He and his team teach only what they believe in. He is also building a self-managed organization, where team members share responsibility and make decisions together.

03 · Starting point

Set up tracking before spending on ads

Meta Events Manager: the dataset received no activity and setup was 0% complete
The starting point in Events Manager · a dataset with no events, setup 0% completeView full-size image

This is what Events Manager looked like when we took over the project—the dataset existed, but it had not received a single event. So our first priority was to get the tracking working. We deployed the Meta Pixel and set up tracking for every key event. The website had a standard purchase journey: product view, add to cart, checkout initiated, and purchase completed. It was the kind of standard ecommerce setup we handled almost every day. Or so we thought.

We tested the entire flow several times, fixed the small issues, and everything was technically ready to launch.

04 · By the book

Optimize for purchases. Then—silence.

We started with the outcome the business wanted: a completed enrollment. On November 6, 2024, we launched a campaign optimized for online purchases.

The result after two weeks: ≈$431 in ad spend and a single sale. The ad cost per purchase was $431.04 (10,775.97 CZK). With course prices ranging from about $100 to $200 (2,490–4,990 CZK), that was the kind of math that kills a project before it gets started. And not for lack of trying to save it—we refined the creative, audiences, budget, website, and checkout flow. Nothing helped.

What did that look like from the client’s perspective? Like this:

Message from the client: these ads are not working, please turn the whole thing off, there is no point
The moment the project was hanging by a thread · Translated from CzechView full-size image

The problem was not the creative, the audience, or even the price. The course was part of a Czech government-funded training program, with the state covering 82% of the price for participants. It could not have been any cheaper, and there were plenty of potential customers in the market. The problem was the nature of the decision. A multi-day, in-person course is not just a purchase; it is a commitment: taking time off, traveling to the venue, and devoting a meaningful part of your life to it. Few people make that kind of decision on their own while casually scrolling through a browser. They need to talk it through, ask questions, and be reassured that it is right for them.

By optimizing for purchases, we were asking the algorithm to find people willing to make a multi-day commitment in a single click. There are almost none. We were trying to sell a consultative product as if it were ecommerce—and that does not work, no matter how good your creative is.

05 · Against the grain

We switched from purchases to inquiries

A completed purchase was too big a first step for this audience. On November 20, 2024, we stopped optimizing for purchases and built a campaign around leads. No lead magnet, no ebook in exchange for an email address—just a no-obligation inquiry form for people genuinely considering the course. We tested interest-based audiences (marketing, social media, and video editing) as well as broad targeting.

The logic was simple: a lead is a low-commitment first step that reflects how people actually decide whether to take this kind of course. The algorithm sees it a hundred times more often than a purchase, so it has enough data to learn from. The sale is then completed by what truly sells a multi-day commitment: a conversation. A phone call, answers to questions, and human reassurance. Meta delivers the volume; a person closes the sale.

Step 01

A new conversion event

We defined the no-obligation inquiry (lead) as the primary optimization event and rebuilt the tracking so that the pixel would send it reliably.

Step 02

A lead campaign

A new campaign with the Leads objective—enough conversion volume for the algorithm to start learning in the very first week.

Step 03

Sales outside Ads Manager

A conversation turns a lead into a customer—follow-up calls, answers to questions, and human reassurance. Meta delivers the volume; a person closes the sale.

Step 04

Scaling

Once the cost per lead stabilized, we gradually increased the budget, spending approximately $10,476 (261,897 CZK) over 12 months.

Comments under a Škola pro Tvůrce ad: course graduates recommend the course and praise the instructors
The best creative you could ask for showed up beneath the ads—happy graduates · Translated from CzechView full-size image

The campaigns were only part of it

An ad brings in a visitor, but it cannot close the sale for you. So Samuel and our team kept refining the website itself—its speed, UX, structure, content, tracking, and checkout—as well as the offer, from the big picture down to the details that make the difference:

  • a clear answer to “who is this course for, and what will I be able to do when I leave?” instead of generic claims,
  • a detailed lesson plan—why short-form video matters and exactly what happens in each lesson,
  • better use of the instructors’ credentials—logos of brands they had produced videos for, displayed prominently instead of buried in the copy,
  • an early-registration bonus and supporting materials for participants to take away,
  • greater emphasis on the community and connections—for a creator course, these are often more valuable than the editing skills themselves,
  • clearer pricing information (subsidized vs. full price) and a repaired checkout flow where the registration button had behaved unexpectedly.
Example of client communication: troubleshooting a broken CTA button on the sales page
What the collaboration looked like in practice—no tickets, just direct communication about a specific button · Translated from CzechView full-size image
06 · Results

The numbers speak for themselves

Campaign results: a purchase and an inquiry are different outcomes
CampaignResultsAd cost per result
Purchase optimization1 purchase$431.0410,775.97 CZK
Lead generation1,204 inquiries$8.70217.52 CZK
English USD adaptation of Ads Manager: 1,204 leads at $8.70 per lead and 1 website purchase at $431.04 per purchase
AI-assisted English/USD adaptation of the Ads Manager screenshot. Original result costs: 217.52 CZK per lead and 10,775.97 CZK per purchase.View full-size imageView original

Monthly ad cost per lead (USD)

Lead campaign · 1,204 leads · ≈$10,476 spent (261,897 CZK)

Dashed line = average $8.70

Ad spend divided by leads in each month. The dashed line is the campaign-wide average, weighted by the number of leads. Source: Meta Ads Manager, Škola pro Tvůrce account.

View all monthly values
Monthly cost per lead · November 2024 through October 2025
Month (MM/YY)USDOriginal CZK
11/24$10.76269
12/24$11.28282
01/25$5.80145
02/25$5.36134
03/25$6.28157
04/25$12.08302
05/25$10.96274
06/25$7.68192
07/25$9.84246
08/25$11.16279
09/25$14.68367
10/25$9.48237

An honest note on the numbers: we are tracking two different events. The original $431 was ad cost per purchase; $8.70 is ad cost per inquiry. Dividing $8.70 by the client’s reported 30% lead-to-customer rate gives approximately $29 in ad spend per customer. This excludes agency fees, creative production, and sales follow-up costs. The initial benchmark is just one purchase, so this is a historical comparison rather than a controlled test or a guaranteed result.

To be even more transparent, that 30% did not come out of nowhere. At one point, only about 1 in 7 leads enrolled. We gathered feedback from the follow-up calls, refined the audiences and the offer, and Samuel learned how to sell to the leads along the way. The conversion rate rose gradually through work on both sides.

Conversation with the client: leads are colder, perhaps 1 in 7 will enroll, followed by questions about the reasons
Feedback from follow-up calls—the raw material that helped lift the conversion rate to roughly 30% · Translated from CzechView full-size image

What the results looked like in real life

Charts are nice, but the project’s best metrics arrived through Messenger. On peak days, a lead cost as little as $1.20 (30 CZK)—the lowest figure in the campaign’s entire history. Then, in March 2025, a message arrived that you rarely hear from a client: turn the budget down. Not because the ads were failing, but because there were more leads than he could call.

Message from the client: far too many leads, we cannot keep up, please cut it by a third until we get the call center running
March 2025 · “Please cut it by a third until we get the call center running” · Translated from CzechView full-size image

Once the client had the follow-up calls running and sales capacity opened up, the opposite instruction arrived. By the summer, the courses were full and the next available date was two months away.

Message from the client: woohoo, it is working, crank it up and bring in as many leads as possible, with people ready to handle them
June 2025 · “Crank it up—let’s get as many leads as possible” · Translated from CzechView full-size image

“We’re full. The next available date isn’t until October. I’m working on increasing our capacity.”

Samuel · August 2025 · Translated from Czech
Message from the client: the courses are filling up, the next available date is not until October, and capacity needs to be increased
August 2025 · marketing was no longer the problem; capacity was · Translated from CzechView full-size image

When capacity replaced marketing as the bottleneck, we did not say, “That’s no longer our job.” We connected Samuel with salespeople and virtual assistants who could follow up with leads, and launched recruitment campaigns for new instructors. The September campaign generated 46 instructor inquiries at about $6.04 each (151 CZK). The campaigns were no longer just filling courses; they were scaling the entire business.

07 · In the client’s words

“I’ve spent my whole life building things, but performance marketing was a new discipline for me. One month to launch, zero enrollments—and all those stories in my head about agencies that run every project from the same template, wait for instructions, and hide behind reports. This was the opposite. When the first campaign failed, they told me straight and had the courage to go against what everyone else recommends. We filled the course, and I learned how marketing really works along the way. If I had to sum it up in one breath: I worked with creators, not robots.”

Samuel Slavkovský

Samuel Slavkovský

Founder · Škola pro Tvůrce · Translated from Czech

08 · What we learned

What we would do differently today

Best practices are an average of what works for most businesses. A product sold through conversation is not the average. Had we stuck to the textbook, the project would have ended before it had truly begun.

Throughout the project, we had more ideas than we could implement: a complete funnel, email sequences, and a free mini-course. We deliberately postponed them. Capacity went first to what sustained the core business: getting the most from the campaigns that worked, briefing and producing creative, and refining the entire journey from ad to phone call. One thing at a time, done properly—not everything at once, half-finished.

And we know where the next level lies. Optimizing for leads solves the volume problem, but not the quality problem—some leads will never buy.

Today, we would connect the CRM through the Conversions API from the outset and optimize for qualified leads—that is, contacts who genuinely progress toward a purchase in the CRM. The algorithm would learn from what creates real value for the business, not merely from a submitted form. We could probably take the efficiency even further.

What we recommend to other teams

Six lessons to take from this case study

01

Fix the tracking before increasing spend

Before you spend the first dollar on ads, verify the entire event flow—from product view to completed purchase. Without reliable data, the algorithm has nothing to learn from and you have no sound basis for judging performance.

02

Optimize for how people actually decide

A multi-day course, a service, or a higher-ticket product is not a one-click purchase. If the conversion event sits too far beyond what someone is willing to do now, the campaign never gets enough volume to learn.

03

Give the algorithm a high-volume event

Meta stabilizes with dozens of conversions a week. A lower-commitment step—an inquiry, a question, or a booking—creates far more signal than a purchase.

04

Plan the work that follows the lead

A lead is not a customer. Whether one in seven or one in three enrolls depends on follow-up speed and the feedback gathered from calls. Make sure that capacity exists before the campaigns scale.

05

Treat the website as part of the campaign

Page speed, a clear offer, and a working registration button often change the outcome more than another batch of creative. Improve both sides in parallel.

06

The next level is quality, not volume

Once leads are flowing, connect the CRM through the Conversions API and teach the algorithm which contacts genuinely progress toward a purchase—not every submitted form.

Work with us

Stalled campaigns are not a verdict.
They are a symptom.

We help businesses find where performance breaks down—and build a system that makes commercial sense. Whether you are just starting out like Škola pro Tvůrce or have hit a growth ceiling.

We reply within 24 hours. Learn how we handle your data in our privacy policy.