← Leon TurasiewiczCase study
WineConnect · Meta ads · 2026

The first month had one job: find out which message makes a restaurant owner leave their details.

WineConnect is an AI sommelier for restaurants in Poland. I planned its launch on Meta and wrote the ads: who to reach, what to say, how to test it, and when to keep my hands off the campaign.

Who
Owners and managers of full-service restaurants that serve wine but have no sommelier, in Warsaw, Kraków, Wrocław, Gdańsk and Poznań.
Starting point
No ads running, no tracking on the site, and no data on what makes an owner reply.
Why Meta first
Owners are on Instagram every day, and no competitor in the niche was advertising there. A test also reads out in about two weeks, where SEO takes months.
01The strategy

Find the message before paying for reach.

The audience was small and nothing was known yet, so spending to scale would only have bought impressions. Month one was built to answer one question: which problem makes an owner act?

One campaign ran two audiences side by side: a broad one, and one built on interest in restaurants and wine. Meta shifts the budget toward whatever performs, so the spend itself shows which message is winning. Static ads went first because they’re quick to swap, and video was held back until a message had won.

Three angles on one problem: nobody in the room knows enough about wine.

01The ownerDoesn’t know enough about wine to build the list alone.“You don’t need to know wine. The AI does.”Nie musisz znać się na winie. AI się zna.
02The waiterNew staff can’t recommend anything, and the standard slips.“Your new waiter doesn’t know the wine list. Your guests can tell.”Twój nowy kelner nie zna karty win. Twoi goście to czują.
03The guestGuests skip the better bottles because they’re afraid of choosing wrong.“Your guests don’t order the pricier wine. Because they’re afraid to.”Twoi goście nie biorą droższego wina. Bo się boją.
02The copy

Every message was written twice.

Version A names the problem. Version B shows the restaurant once it’s solved. Some owners click the moment you name what’s wrong; others get defensive and only respond when the fix is already in the picture. Both versions ran side by side, so the feed decided which story worked.

A · Names the problem

“Your wine isn’t selling. Guests don’t know what to choose.”

Twoje wino się nie sprzedaje. Goście nie wiedzą, co wybrać.

B · Shows it solved

“The AI Sommelier sells your wine for you.”

AI Sommelier sprzedaje wino za Ciebie.

The words stayed the same while the picture changed: the product on a phone, a glass, the dining room, an illustration. If the copy and the image both change, a winning ad can’t tell you which one won.

03The ads

Four of the pairs, as they ran.

The product

Same lines, on the product
Dark ad with the line “Your wine isn’t selling. Guests don’t know what to choose.” over a search bar asking which wine goes with the duck
A
Light ad with the line “The AI Sommelier sells your wine for you.” over a phone showing the sommelier chat
B

In the search bar: “Which wine goes with the duck?”

The glass

Same lines, on a glass
An empty wine glass on black, with the line “Your wine isn’t selling.”
A
Red wine being poured into the same glass, with the line “The AI Sommelier sells your wine for you.”
B

The room

Same lines, plus one word
An empty dining room, chairs up on the tables, with the line “Your wine isn’t selling.”
A
The same dining room full of guests, with the line “The AI Sommelier sells your wine for you. And it works.”
B

B adds “Skutecznie”: and it works.

The guest

A second pair, from the guest’s side
Illustration of a guest frowning at a long menu, with the line “Too much choice. Zero decisions.”
A
The same guest asking the AI sommelier on his phone and getting one wine for the duck, with the line “One recommendation. Decision made.”
B

A: “Too much choice. Zero decisions.” B: “One recommendation. Decision made.”

04The rules

Written down before launch, because the hard part is leaving it alone.

01No decisions in the first week.Meta is still learning who to show the ads to, and every edit sends it back to the start.
02Cut the ad, keep the angle.An ad nobody clicks after ten days gets swapped for a backup. The angle behind it keeps running until there’s real data on it.
03If one audience takes most of the budget, let it.That’s the algorithm finding where the leads are.
04Broken tracking gets fixed the same day.Without it the campaign can’t learn what a lead looks like.
05Questions get a weekly briefing.Changing a live campaign to calm nerves just burns money.
05The plan

Three months, one job each.

Month 1TestFind the message that makes owners leave their details.
Month 2ScalePut the money behind the winner. Retarget people who visited the site, then add lookalikes of real leads.
Month 3RefineJudge each lead by whether it turns into a trial. Refresh the ads that are wearing out.

The tracking spec I gave the developers before launch:

  • Meta Pixel, firing a lead event on every sign-up
  • Conversions API sending the same events from the server, deduplicated against the pixel
  • Google Consent Mode v2, which EU traffic requires
  • UTM tags carried through to the CRM, so every lead keeps its source
  • Paying customers sent back from Stripe, so Meta can learn which leads paid