How we cut a driving school's cost per lead 2-3x with proper analytics
Leads cost ₽6,000-8,000 and the ads were learning from fraud. We connected Metrica, Direct and AmoCRM, and the cost fell to ₽1,500-3,000 as enquiries grew.

Driving schools are one of the most competitive niches in Moscow. Expensive clicks, strong players and a lot of fraud mean ads often perform poorly.
The main problem in this project wasn't the ads or the keywords: it was broken analytics.


Where we started
- cost per lead ₽6,000-8,000;
- lots of fraud;
- goals set on the "Thank you" page;
- frequent false triggers;
- the system was learning from low-quality conversions.
As a result, the ads were optimising for empty enquiries and visits, not real sales.
Results after fixing the analytics
- cost per lead dropped to ₽1,500-3,000;
- enquiries grew 1.5-2x;
- there was less fraud;
- the ads started learning from real sales.
The key change: moving from optimising for "formal conversions" to optimising for real business results.
Why setting up Direct is only half the job
Many specialists focus on keywords, placements, ads and bidding strategies. But that's only about 50% of the result.
The other 50% is analytics and sending the right conversions. If the ads learn from the wrong signals, even a perfectly set-up Yandex Direct account won't deliver stable results.
What we did
Before launching the ads, we connected Yandex Metrica, Yandex Direct and AmoCRM. The ads started learning not from clicks and form fills, but from:
- real phone calls;
- real deals;
- signed contracts.
That completely changes how the optimisation works.
What the analytics show now
End-to-end analytics reveal the user's path all the way to a sale:
- real calls from ads, not just clicks on the phone number;
- real deals in the CRM;
- the ROI of every source;
- conversions down to the specific click.
The ads now optimise for money, not for actions.
What the client needs to have
For this model to work, the project needs:
- a CRM (Bitrix24 or AmoCRM);
- connected telephony;
- ideally an end-to-end analytics service such as Roistat.
Without these you can't properly train ads on sales.
The key detail: passing the Client ID
The main technical task is passing the Client ID (_ym_uid). It's what links the visit in Metrica, the enquiry, the deal in the CRM and the sale, and it lets you send real offline conversions to Direct.
There's no universal recipe: passing the Client ID depends on the site, the CRM, the integration and the form. Usually a developer or integrator handles it. I explained the principle in detail in my article on sending CRM data to Metrica.
How it affects results
When real sales are sent to Direct:
- the algorithms learn faster;
- cost per lead goes down;
- the share of fraud drops;
- lead quality improves;
- results become predictable.
The ads start working as a performance tool rather than just a traffic source. The approach is universal: it works not only for driving schools but for most niches where enquiries turn into sales through a CRM.
The takeaway
Expensive leads aren't always Direct's fault. Most often the problem is that the ads are learning from the wrong conversions.
Once you start sending real sales, cost per lead falls, enquiries grow, you gain control over ROI and the ads become manageable. Analytics is what turns advertising from an expense into a growth tool.



