An IELTS prep centre in Almaty ran an Instagram ad for a free checklist, "12 speaking mistakes". The leads came in cheap. The manager messaged every one of them on WhatsApp with an offer of a three-month course and kept getting the same reply: "I just wanted the checklist". A week later the sales team decided the media buyer had brought in junk.
It wasn't junk: people submitted the form to get a file, and they got the file. The ad promised a freebie, the campaign went looking for people who like freebies, and the manager was selling a course. Below we look at how to connect the promise in the ad, the campaign objective and the manager's first message, and then build a test in Ads Manager that shows which leads are worth anything.
The promise, the objective and the manager's first message
A lead has three links in its chain. The ad promises the person something specific. The campaign objective and the optimisation event tell Meta who to look for. The manager takes the next step once the lead comes in. When all three describe the same thing, you get people worth talking to. When they don't, you pay for one thing and sell another.
A free checklist is a fine offer as long as nobody expects sales from it: the people who download it can be warmed up later with email or retargeting. But they never asked for a sales call.
If you want course sign-ups, advertise the course: who it is for, how long it runs, where to see the price and what happens after the form. For example: "Free trial lesson and level test. Three-month course, prices on the website. A manager will message you on WhatsApp within an hour." You will get fewer leads and each will cost more, but the manager is writing to people who know what the conversation is about.
The diagram shows the gap between the promised checklist and the course offered in the first message.
The ad promise and the first reply
Ad offer
Download the free checklist
- Event sent to the ad account
- Checklist downloaded
First conversation
- Manager
Would you like a three-month IELTS course?
- Lead
I came for the checklist.
The person asked for a file; the manager offered a course.
The quickest check is to put the ad copy next to the manager's first message. If the second does not follow on from the first, fix the offer, not the targeting.
The algorithm learns from what you send it
Meta decides who sees an ad from people's past actions: Meta's engineering blog describes how its ranking models take views, clicks and purchases into account. But the algorithm only knows what you tell it. If the event sent to your ad account is "downloaded the checklist", it will find people who love free downloads, not people ready to pay for a course.
So the optimisation event should sit as close to the money as possible while still happening often enough for the system to learn from. On a small test that is the lead: Lead on the website or a submitted instant form.
Building the test in Ads Manager
The settings below fit the week 2 task in the Start track: Leads objective, a broad audience by city and age, three creatives, 2,000 ₸ a day for five days. One campaign, one ad set inside it, three ads: three ad sets at 667 ₸ a day each will show you nothing in five days.
Campaign objective
Create a campaign with the Leads objective. It is the only objective with instant forms. The ad account usually turns Advantage+ on straight away, so the system handles budget, audience and placements. For a first test there is nothing to switch off.
Where the person submits the form
The conversion location is set at the ad set level. Two options work for a test.
Website. The person fills in a form on your page. In the Conversion section of the ad set, choose Website as the conversion location, conversions as the performance goal, your pixel as the dataset and Lead as the conversion event. The page URL goes into the ad itself. Do not set the goal to link clicks or landing page views: the campaign will start buying cheap clicks, and leads will become a side effect.
The Lead event should fire after the form is successfully submitted, not when the button is clicked. Before launch, open Test events in Events Manager, submit the form yourself and make sure Lead arrives exactly once. A WhatsApp button instead of a form will not do: the event fires on the click, and the ad account never learns whether the person actually wrote.
Instant form. It opens right inside Instagram or Facebook, Meta prefills the name and phone number from the profile, and the Higher intent type adds a screen where the person reviews their details before sending. But leads from the form stay with Meta and have to be collected by hand within 90 days; in the track test you already have a site with a pixel, so choose the website.
Audience
With the Leads objective the audience works as Advantage+ audience by default. The only hard limits you set are the audience controls: location, minimum age, languages and excluded custom audiences. Age, gender and detailed targeting act as audience suggestions, and the system will show the ad beyond them if it decides that works better.
The broad audience in the task is the city of Almaty, a minimum age and nothing else. You can raise the minimum age to 25 and Advantage+ stays on. An upper age limit remains a suggestion.
Interests like "English language" or "study abroad" barely change anything here: when optimising for conversions, Meta expands detailed targeting on its own, even if you make it a control, and you cannot opt out. In a campaign like this the ad does the audience selection: a creative about IELTS prep stops the people with an exam coming up, and everyone else scrolls past.
Budget and schedule
Set a daily budget of 2,000 ₸ at campaign level and an end date five days out. A daily budget is an average, not a cap: on a good day Meta can spend up to 75% more, so up to 3,500 ₸, and less on another day. Meta prorates the cap to the end date, so five days cost about 10,000 ₸.
The test will not leave the learning phase. That takes about 50 results in the week after the last significant edit, and you will have around ten, so a Learning limited status in the Delivery column is expected here. What matters more is not touching the creatives, audience or event mid-test: after an edit like that, learning starts over and the days of the test can no longer be compared.
Placements
Leave Advantage+ placements on: the ads will run across Facebook, Instagram, Messenger, WhatsApp, Audience Network and Threads, and the system will look for where results are cheapest.
The ad account shows how many leads each placement brought, but not which of those people later replied to the manager. Only you know that, so the ad and the placement have to travel with the lead itself. At the ad level, in the Tracking section, enter this in the URL parameters field:
Meta fills in the values in curly braces: the platform (fb, ig, an for Audience Network), the ad name and the placement. The campaign is typed in as plain text because {{campaign.name}} keeps the name from the first publish and turns spaces into %20. For the same reason, name the ads before publishing according to the UTM naming rules: lowercase Latin with underscores, for example problem, result_price, lesson.
These values then have to land in your lead list next to the phone number. If the form does not save them, add hidden fields and fill them from the page URL using your site builder or a short script. After the test, filter the people who did not reply on WhatsApp and look at where they came from. If nearly all of them came from Audience Network, you can exclude it in your advertising settings under Placement controls. Meta is rolling that section out gradually, but a control at account level does not switch Advantage+ off in the campaign.
Three creatives, one offer
The offer is the same in all three ads: free trial lesson and level test, a three-month course, a manager messages you on WhatsApp. Only the angle changes. The first ad opens with the problem: pauses in speaking cost you points. The second opens with the course result and its price. The third shows what a lesson looks like. You will compare them on what happens after the click, not on CTR.
If one ad promises a free lesson and another a discount on the first month, you are comparing two different offers, and five days will not tell you which one worked.
Ads go through review before they run, usually within a day. So publish the evening before and schedule delivery to start on the morning of day one.
What to check every day
Once a day, ideally at the same time, go through the list:
- Yesterday's spend. Up to 3,500 ₸ a day is within the rules; zero means something broke: an ad was rejected, a payment failed or the campaign never started.
- Ad status. Fix a rejected ad straight away; that edit matters more than a clean test.
- Leads in the ad account versus yours. Compare the Results column with the form emails: a difference of one or two is normal, while ten in the ad account and none in your inbox means
Leadis firing in the wrong place. - Replies. Everyone who submitted the form gets a message the same day, and you note whether they replied and how the conversation ended. After five days these notes will matter more than the CPL.
Yesterday's numbers can still change: Ads Manager can take up to 48 hours to process results. Build the final table a couple of days after the test ends. Leave everything else alone for those five days.
How to read the table after five days
This is what the IELTS centre's test might look like at the end. The numbers are illustrative.
| Ad | Spend | Impressions | Clicks | Leads | CPL | Replied on WhatsApp | Came to the trial lesson |
|---|---|---|---|---|---|---|---|
| Problem | 4,900 ₸ | 6,100 | 98 | 7 | 700 ₸ | 3 | 1 |
| Result and price | 3,300 ₸ | 3,900 | 51 | 3 | 1,100 ₸ | 3 | 2 |
| What a lesson looks like | 1,660 ₸ | 2,000 | 22 | 1 | 1,660 ₸ | 1 | 0 |
| Total | 9,860 ₸ | 12,000 | 171 | 11 | 896 ₸ | 7 | 3 |
CPL is what Ads Manager calls Cost per result: spend divided by the number of leads. But take the leads for your table from your own list. The ad account counts events and sometimes fills in part of the results with modelling, while you need real people with phone numbers.
On CPL the first ad wins: 700 ₸ against 1,100 ₸ for the second. Look only at that column and the whole next budget goes to it. But of the seven people who submitted the form after the first ad, three replied and one came to the trial lesson. The second ad brought three leads; all of them replied and two came. Per person who made it to a lesson, that is 4,900 ₸ against 1,650 ₸.
Eleven leads cannot tell you why: one person who did or did not turn up flips the conclusion. At most you can guess that the price in the ad filters out people the course does not suit, and test that guess in the second round on a bigger budget.
For the track case study, add at least one quality column to the five required ones. Without it the table shows what a contact cost, but not what a customer cost.
Exercise: the table for your own test
After five days, build the table for your test, per ad and in total: spend, impressions, clicks, leads, CPL and a "replied" column. Count leads from your own list and take spend from the ad account. Under the table write two or three sentences: which ad was best on CPL, which on lead quality, and what you will change in the second test.
If the ad account shows noticeably more leads than your list, go back to Lead and see whether it fires on the button click or twice per submission. If leads came in but almost nobody replied, it is too early to blame the audience. First compare the ad copy with the manager's first message, and the time between the lead and that message: within a day the person has had time to sign up with a competitor. And if there were no leads at all, walk the whole path yourself on a phone: ad, page, form, lead email. Look for the step where it breaks.
Video: the ad setup interface
The video was recorded in September 2024, and the ad account interface has changed since: a leads campaign now usually opens with Advantage+ already on. Watch it for the overall flow and take the settings from the sections above.