An online Polish language school for Ukrainians in Poland. Over 8 months: a $48,000 budget, 7,200 trial lesson bookings, the cost per lead cut from €19 to €6.2 (−67%), 1,656 course packages sold (23% conversion), a €27 cost per client and a 350% ROAS. Key tools: UGC videos with real students, a teacher in talking-head videos, an Instagram DM bot with level-based segmentation, location targeting of 5 diaspora cities and WhatsApp for confirmations. The article breaks down the full strategy and creatives.
The client is an online Polish language school founded by two Ukrainian teachers in Warsaw in 2024. It specializes in group and one-on-one courses for Ukrainians who moved to Poland after 2022. Programs run from A1 to C1, with POLLIC exam prep, B1/B2 for the Karta Pobytu (residence permit) and special courses for trades (construction workers, drivers, nurses). Average ticket: €280-450 per month of study.
Niche context: the situation in 2025-2026
According to Statistics Poland, about 1.5 million Ukrainians lived in Poland at the start of 2026. Most arrived after 2022 and need Polish for:
- Karta Pobytu (residence permit): requires B1
- Working in their profession (especially healthcare, education, the public sector)
- Their children's schooling in Polish schools and dealing with teachers
- Citizenship after 5-10 years: requires B2/C1
- Social integration and communicating with Poles
The market is huge and competition is fierce. The client came to us in August 2025 with a goal: grow from 80 students/month to 200+ without compromising teaching quality.
Before we started
The school worked with a local marketer and Google Ads. The metrics:
- Average cost per lead: €19
- Monthly flow: 110-150 leads on a €3,500-4,500 budget
- Lead-to-package conversion: 9-12%
- Trial lesson no-shows: 38-45%
- ROAS: 160-190%
The main problems we found in the audit:
- Google Ads only: they weren't using Meta and were missing a huge channel
- Stock photos of books and smiling teachers in the creatives performed poorly
- No level segmentation at the time of the request, so the teacher spent 20 minutes on “assessment” instead of teaching
- Trial lessons confirmed by email, hence the 40% no-show rate
- No retargeting and no follow-up with people who didn't buy
What we did
Solution 1: a funnel built on a free trial lesson
Before us, the school sold course packages directly from cold ads, at 0.4-0.7% conversion. We rebuilt it into a two-step funnel:
- Instagram/Facebook ads: a video promising “you'll start speaking Polish in 2 weeks, even if you've lived in Poland for a year and still feel shy”
- Booking a free 30-minute trial lesson: a level check + a first lesson
- At the trial lesson, the teacher runs a scripted mini-lesson and shows a personalized learning plan at the end
- A course package offer with a bonus: €20 off + a free month of a mini-course for paying within 48 hours
- If they don't buy: nurturing via the Instagram DM bot with useful content over 2-4 weeks
The result: lead-to-package conversion grew from 9-12% to 23%. This was the biggest shift in the case.
Solution 2: UGC + the teacher = winning creatives
We completely reworked the creative strategy. Here's what we tested and what ended up working.
What DIDN'T work
- Stock photos of books and notebooks: 0.5% CTR, banner blindness
- A teacher in a studio with a microphone: it looked like corporate advertising
- Discounts in the first touch (“30% off the course!”): they put off people who could pay and attracted freebie hunters
What worked
- Video testimonials from real students in Ukrainian: Ukrainians describing how their lives changed after learning Polish. CTR 2.8-4.1%, lead conversion +120%
- The teacher in talking-head videos, explaining a common mistake (for example, “3 words Ukrainians get wrong at the shop”). CTR 2.2-3.0%, great for nurturing
- Before/after “week 1 → week 8”: recordings of students speaking 2 months apart. The most emotional audience reaction, +60% conversion
- Stories about paperwork and the Karta Pobytu: a practical pain point, +40% lead conversion versus “generic” creatives
Over 8 months we tested 62 different creatives. 14 of them worked and delivered 81% of all leads.
Solution 3: an Instagram DM bot with segmentation
This was the second most impactful change after the funnel. We set up an Instagram DM bot with ManyChat:
- The bot's first message asks 3 questions: Polish level (self-assessed), learning goal (work/study/paperwork/socializing) and how many months they've been in Poland
- Based on the answers, the bot segments the user and offers a suitable trial lesson (one script for A1, another for B1)
- Booking confirmation with reminders 24 hours and 1 hour before
- After the lesson: a personalized plan + a payment link
- If they haven't bought within 48 hours: a series of 5 messages over 2 weeks with useful content (lessons, tips, common mistakes)
- After 2-4 weeks: a second offer at a special price
The impact on metrics:
- Trial lesson no-shows: 40% → 12%
- Conversion of post-trial non-buyers into buyers through DM nurturing: 18-22%
- Share of sales through the DM bot: 41%
“For an online language school, an Instagram DM bot isn't a ‘nice upgrade’; it doubles conversion. Simply because the Ukrainian diaspora in Poland lives on Instagram. Almost nobody opens email, only a handful use Telegram, and WhatsApp gets checked once a day. But Instagram DMs are read within 5 minutes.” — Natalia Maslakova, founder of MAS Project
Solution 4: precise location targeting across 5 cities
Instead of “all of Poland”, the 5 cities with the largest Ukrainian diaspora:
- Warsaw: 35% of all leads, with a higher average ticket
- Kraków: 18% of leads, active young people
- Wrocław: 14% of leads, the IT sector
- Gdańsk: 8% of leads, skilled trades
- Poznań: 7% of leads, students
We also used:
- Facebook/Instagram interface language: Russian or Ukrainian
- Interests: Ukrainian pop music, Ukrainian media (Ukrainska Pravda, TSN, Censor), Ukrainian brands
- The “Recently moved” behavior
- A 1-2% lookalike based on people who bought a course package
This gave us an audience of ~1.8 million people: large, but exactly the right one. CPM fell by 35% versus targeting all of Poland.
Results by month
| Month | Budget | Leads | CPL | Course packages |
|---|---|---|---|---|
| Month 1 (August) | $3 500 | 185 | €19 | 23 |
| Month 2 (September) | $4 200 | 335 | €12.5 | 58 |
| Month 3 (October) | $5 000 | 590 | €8.5 | 122 |
| Month 4 (November) | $5 800 | 820 | €7.1 | 178 |
| Month 5 (December) | $5 500 | 895 | €6.1 | 198 |
| Month 6 (January) | $6 500 | 1 105 | €5.9 | 252 |
| Month 7 (February) | $7 000 | 1 380 | €5.1 | 325 |
| Month 8 (March) | $7 500 | 1 590 | €4.7 | 380 |
| Total | $48 000 | 7 200 | €6.2 avg. | 1 656 |
Financial results over 8 months:
- Ad budget: $48,000 ≈ €44,500
- Leads: 7,200
- Course packages sold: 1,656
- Cost per client: €27 (acquisition cost via ads)
- Average monthly ticket: €310
- Average subscription length: 4.2 months
- Average client LTV: €1,300
- Revenue from the acquired base: €2,152,800
- ROAS: 350% over 8 months (counting every month each student studied)
What we'd do differently
- We'd have connected the Conversions API sooner: we only set it up in month 3, and until then Facebook's algorithm was blind to 30% of conversions
- We'd have set up a separate campaign for each level (A1 / B1 / B2) from month 2 instead of month 5, for another 20-25% gain in CPL
- We'd have launched Advantage+ in month 4, when we had 200+ conversions a week; we only launched it in month 6
- We'd have recorded a series of 20+ teacher videos in advance instead of 3-4 a month, since the production pace held back testing
A checklist for language schools
What to implement in your online language school:
- Switch to a two-step funnel built on a free trial lesson
- Film 5-7 video testimonials from real students in their native language
- Film 8-10 talking-head videos of a teacher (explaining a typical mistake)
- Set up an Instagram DM bot that segments by level at first contact
- Set up automatic trial lesson reminders (24 h and 1 h before)
- Target the 3-5 cities with the highest concentration of your audience
- Set up the Conversions API for data quality
- Launch retargeting of post-trial non-buyers with a 2-4 week nurturing sequence
- Move to Meta Advantage+ once you have 50 conversions a week
- Track client LTV rather than CPL: it's the right KPI in this niche
Want the same results for your online school?
We work with language schools, education platforms and online course businesses in Ukraine, Poland and Germany. We'll show you a working funnel for your niche. Free 30-minute consultation.
Get a free consultationFrequently asked questions
What's a normal cost per lead for an adult language school in 2026?
Average cost per lead: for major EU languages (English, German), €8-15 in Poland and Ukraine and €15-30 in Germany and Austria. For less common languages (Polish, Czech, Dutch), €5-12 in a country where the language is learned as a foreign language. In our case we cut it from €19 to €6.2 with UGC creatives and an Instagram DM bot.
What's a normal trial-lesson-to-package conversion rate?
The norm is 15-25%. In our case we reached 23% thanks to a trial lesson script with a sales pitch at the end, automatic WhatsApp reminders (no-shows 38% → 12%) and a €20 discount + a free month for paying within 48 hours of the trial.
Which creatives work best for language school advertising?
Top 3: 1) video testimonials from real students in their native language (+120% CTR); 2) a teacher in a talking-head video explaining a common mistake (+85% CTR); 3) “before → after” comparisons, 1 week vs 3 months (+60% conversion). Worst: stock photos of books and smiling teachers.
Why does a language school funnel need an Instagram DM bot?
4 reasons: 1) 75-85% open rates versus 15-20% for email; 2) instant segmentation by level (A1-C1) and learning goal; 3) trial reminders cut no-shows from 38% to 12%; 4) nurturing non-buyers yields 18-22% conversion within 2-4 weeks. In our case the DM bot generated 41% of all sales.
How do you reach the Ukrainian diaspora in Poland with paid social?
5 strategies: 1) location targeting of Warsaw, Kraków, Wrocław, Gdańsk and Poznań (70% of the diaspora); 2) Russian/Ukrainian interface language; 3) interests in Ukrainian media and brands; 4) the “Recently moved” behavior; 5) a lookalike of Ukrainian-speaking clients who bought. Together: an audience of 1.5-2 million people.
What budget do you need to launch an online language school in the EU?
The minimum for a test is $1,500-2,500/month for 2 months. For steady growth, from $3,000/month. To scale to 500+ students/month, from $6,000/month. In our case the budget grew from $3,500 to $7,500 over 8 months. Plus $2,000-4,500 one-off for the funnel and integrations.