Manifesto

Learn from customers,not clicks.

Why a lead-gen agency built an autonomous media buyer, ran its own budgets through it first, and only then opened it to everyone else.

Jakub Zwoliński, founder of Lemon Agency and Efekto
Jakub Zwoliński

From the founder

Every rule Efekto applies to your campaign, we first learned by hand: four years, our clients’ money, mistakes included. The rules are the same. The difference is that it never skips a morning.

- Jakub Zwoliński, founder, Lemon Agency · EfektoLinkedIn

The story

Five things I believe about buying ads, and how I learned each one.

Jakub Zwoliński · September 2026 · LinkedIn

I ran the ads by hand for years.

I started Lemon Agency in June 2022. We buy leads for solar installers, mortgage brokers, law firms, HVAC companies and insurance agents - businesses that live or die on the next phone call - in Poland, Spain, Germany, the United States and Dubai. Since then we have run ads for more than 300 clients and spent over $1M of their money, most of it through my own hands. For years I did what every media buyer does: wrote the ads, uploaded them, opened Ads Manager every morning, killed what looked bad and doubled what looked good.

It works at ten clients. It stops working at a hundred, even with three media buyers. The bottleneck was never the budget. It was the number of mornings in a week.

So I built the buyer I couldn’t hire.

Through 2026 I wrote down every rule I used to keep in my head - what to write, what to cut, when to wait - and taught an engine to follow them. It writes the ads, produces the video, publishes what gets approved and wakes before I do to decide what lives. By summer the agency was running on it: real client budgets, real leads, real mistakes.

In August we switched off the manual gate. The engine now creates ad sets live, pauses the losers itself and freezes the winners. I still approve every new campaign: one click per client, not one per ad.

Learn from customers, not clicks.

Every tool on the market optimizes for the cheapest form fill. A cheap lead that never picks up the phone is not cheap. So the engine gets a second signal: which leads a client actually qualified, and which ones became customers. The engine sends that to Meta and reads it from the client’s CRM, and it changes what gets written next.

The message library carries the cost per lead every idea actually produced - including the expensive ones, labelled, so nobody rediscovers them with money.

Weak ads die young. Winners are protected.

Most of what I know about autonomy I learned from one mistake. A solar client’s best ad set - 46 leads at about $10 each against a $25 threshold - got six fresh ads added to it. They took the budget, produced nothing for two days and pushed the set’s seven-day cost over the line. The engine killed the winner. It was doing exactly what I had told it to.

The next morning it had two new rules: young ads are kept out of the verdict, and a set with a proven winner gets no fresh ads. Every safety rail in Efekto has a story like that. None of them came from a whiteboard.

Why open it up.

The engine was built for one agency, and the honest question is why an agency would sell the thing that makes it money. Because this is where the whole trade is going. If it runs our hundred clients, there is no reason it should not run yours. And along the way we get to build something that does not exist yet: a buyer that learns from customers, not clicks.

It also turned out that the hardest part - knowing when to switch off, when to wait, and when to leave a winner alone - is the same for a mortgage broker in Kraków and an HVAC contractor in Texas. The agency keeps running on the same code. It spends our money before it spends yours.

- Jakub Zwoliński

Founder, Lemon Agency · Efekto

Ready when you are

See the efekto.

7 days free from your campaign launch. Your ad account, your budget, our work. Nothing spends before you say go.