Lead Generation for Clinics: Turning Ad Enquiries Into Booked Patients
Ads bring clinic enquiries, follow-up turns them into patients. Five enquiry channels, lead form questions that filter, a rupee example, and how to report bookings to Meta and Google.
Lead generation for clinics works when you measure it in booked and attended consultations, not form fills. Run Meta lead ads, Google search and call ads, click-to-WhatsApp ads and website forms, ask two or three questions that filter casual price-checkers, call every enquiry within minutes, keep callbacks on a schedule, and send attended appointments back to Meta and Google so the ads learn which patients to find.
Lead generation for clinics: why more leads is the wrong goal
Cost per lead is easy to push down. Loosen the targeting, make the form one tap, put "free" in the headline, and the leads arrive. Then your front desk calls them and finds people who don't remember the form, wanted a price for a cousin, or live 40 km away.
A clinic earns from people who come in and then choose a treatment. Between the ad and that visit sit three steps the ad platform never sees: reaching the person, booking a slot, and getting them to turn up. If any of those is weak, cheaper leads just mean more unanswered calls.
So track four numbers for every campaign: leads, connected on a call, consultations booked, consultations attended. The first comes from Ads Manager or Google Ads. The other three come from your own team, which makes clinic lead generation as much a follow-up problem as an advertising one.
The five channels that bring clinic enquiries, and what each demands in follow-up
| Channel | What the enquiry looks like | What it demands |
|---|---|---|
| Meta lead ads (Facebook, Instagram) | Name and phone pre-filled, plus your questions. High volume, mixed intent | A call within minutes, a WhatsApp template if unanswered, more attempts over the following days |
| Google search ads and lead form ads | Someone searching for the treatment or a clinic nearby, often comparing two or three | Speed, and the Google click ID kept with the lead so bookings can be reported back |
| Call ads and call buttons | A live call asking the fee, timing or address | Someone free to pick up, and missed calls returned within minutes |
| Click-to-WhatsApp ads | A chat that opens with "Hi, I'd like to know more" | Quick replies. Free replies within 24 hours of their last message, then only an approved template |
| Website and landing page forms | Fewer, more deliberate enquiries from people who read your pages | The same speed as ads, with UTM tags kept to show which page and campaign worked |
Most clinics run these as five inboxes (a sheet, the receptionist's phone, the call log, someone's email), each answered at a different speed and none comparable. One list with one owner per enquiry fixes both. If Meta leads still arrive as a download, the Facebook lead ads CRM integration guide covers the connection.
Lead form questions that filter price-shoppers (examples)
A one-tap form brings the most leads and the most people who never pick up. The useful middle is two or three multiple-choice questions that answer what your caller would otherwise spend two minutes asking. Meta's Instant Forms also offer a higher-intent form type, which adds a review step before submitting; test it against the default.
These lead generation form examples are for a hypothetical aesthetic clinic with two Bengaluru branches. Lead generation for an aesthetic clinic is a good test, since elective treatments draw heavy price comparison, but the pattern suits dental, hair, ENT or physiotherapy too.
| Question | Answer options | What it tells the caller |
|---|---|---|
| Which service are you interested in? | Laser hair reduction / Skin treatments / Hair treatments / Not sure yet | Who should call, and how to open |
| When are you looking to start? | This week / This month / Just exploring | Who to call first. "Just exploring" gets a slower callback schedule |
| Which branch is easier for you? | Indiranagar / Whitefield / Neither is close | Which branch owns the lead, and who is too far |
| Consultations with our dermatologist are ₹500. Shall we call to book? | Yes, call me / I have a question first | Screens out people hunting for a free session, without turning them away |
Pick three; every question costs some form fills. And skip these:
- Budget ranges. People pick the lowest band.
- Medical history. That belongs with the doctor, and Meta's lead ads policies limit asking for health information in forms.
- Free-text questions. Typing on a phone is where people give up.
For IVF, ask even less. "Best time to call" and "preferred language" beat any screening question; the first call does the qualifying.
Change one question at a time and judge it by cost per booked consultation over two to four weeks, not by the dip in leads on day two. In atomcrm.ai the form answers sit on the lead, so the caller sees "This week" before dialling.
Every form also needs a consent line or checkbox saying the clinic will contact them by call and WhatsApp. WhatsApp's Business Messaging Policy requires opt-in before a business messages someone, and messaging people who never agreed brings blocks that hurt your number's quality rating.
Cost per lead vs cost per booked consultation: a worked example (hypothetical)
Say a skin clinic in Pune spends ₹1,20,000 on Meta in a month across two campaigns. Campaign A uses a one-tap form with a "free skin analysis" hook. Campaign B uses the higher-intent form and three of the questions above.
| Campaign A | Campaign B | |
|---|---|---|
| Spend | ₹60,000 | ₹60,000 |
| Leads | 400 | 200 |
| Cost per lead | ₹150 | ₹300 |
| Connected on a call | 240 | 150 |
| Consultations booked | 36 | 40 |
| Consultations attended | 22 | 30 |
| Cost per booked consultation | ₹1,667 | ₹1,500 |
| Cost per attended consultation | ₹2,727 | ₹2,000 |
Ads Manager says move money into A, because its leads cost half as much. Your front desk says B. The formula that settles it: campaign spend ÷ consultations attended from that campaign.
Now set a ceiling. Say one in three attended consultations becomes a ₹30,000 treatment package, and you'll spend 20% of that to win a patient. That's ₹6,000 per patient, or ₹2,000 per attended consultation. B sits on the line. A is ₹727 over.
Say the team works A's 160 unconnected leads on a proper callback schedule and books 10 more consultations, 6 of whom attend. A's cost per attended consultation falls from ₹2,727 to ₹2,143 (₹60,000 ÷ 28) without another rupee on ads, leaving it ₹143 over the ceiling instead of ₹727. Until follow-up is consistent, you can't tell a weak campaign from a weakly followed-up one.
The first hour after a lead arrives: who calls, how fast, and what gets recorded
The person who filled your form at 7:40 pm may have filled two other clinics' forms by 7:50, and whoever calls first and sounds organised often gets the visit. Why speed to lead matters makes the longer argument.
Decide who calls before the ad goes live: one named person per branch, a fallback, and a plan for leads after closing. Assign each lead on arrival, because on a shared list everyone assumes someone else called.
A sample first-hour schedule
| Time after the enquiry | Action |
|---|---|
| 0 min | Lead lands with source, campaign and form answers, assigned to a caller |
| Within 5 min | First call |
| If not connected | WhatsApp template naming the clinic and asking for a good time |
| 20 to 30 min | Second call |
| Within the hour | Third attempt, or a fixed callback slot for this evening or tomorrow |
| After closing | Acknowledgement template at once, first call at opening time |
That first WhatsApp must be a Meta-approved template, because a person who filled a form hasn't messaged you, so the 24-hour window hasn't opened. A template for after a failed call:
Hi {{1}}, this is {{2}} from {{3}}. Thanks for your enquiry about {{4}}. We tried calling you just now. What time today or tomorrow suits you for a 5-minute call?What gets recorded on every call
- Connected or not.
- Stage: new, interested, consultation booked, not interested.
- Status, if the lead is stuck: not responding, switched off, budget, too far.
- A one-line comment, such as "Asked about laser for arms, wants a Saturday slot."
- A next callback date and time for every open lead.
Clinics break the last rule most, and an open lead with no callback date is one nobody calls again. Here is how a callback queue keeps those dates from slipping.
Telling Meta and Google which leads became patients
Ad platforms optimise for whatever you tell them counts. If Meta only hears about form fills, it finds more people who fill forms, including those who never pick up.
Meta: the Conversions API
The Conversions API sends an event to Meta when a lead reaches a stage, with contact details hashed. In atomcrm.ai each lead sends each event once, and nothing is mapped until you choose. With those checks done, a clinic mapping might be:
| Stage in your CRM | Event sent to Meta |
|---|---|
| Consultation attended | Schedule |
| Converted (treatment started) | Purchase |
| Lost stages | Nothing |
With only a handful of attended visits a week, map Consultation booked to Schedule instead, so Meta gets signals sooner.
Google: offline conversions
For Google, the link between click and patient is the gclid, the click ID added to your landing page address when auto-tagging is on. Your form must pass it into a hidden field so it's stored with the lead. When that lead reaches a stage you choose, it's uploaded to Google Ads as an offline conversion, and Smart Bidding learns which clicks became patients. Leads without a gclid, such as calls from a call ad, can't be matched this way.
Send the stage you'd happily pay for more of. Booked arrives sooner; attended is closer to revenue.
How a clinic runs this in atomcrm.ai
The clinic CRM page shows the screens. Here is the set-up in the order of this article.
- Bring your lead sources in. Log in with Facebook, pick the ad account and page, and map each form to fields, source, starting stage and owner; leads arrive within seconds with campaign, ad set, ad and form answers, and missed ones can be backfilled for up to 90 days. Google lead form ads, IVR and missed-call numbers post straight in. Website forms each get a private webhook URL and keep UTM parameters, gclid and fbclid on the lead. If a WA Bridge bot answers your click-to-WhatsApp ads, each bot chat becomes a lead (source "WhatsApp Bot"), moves to "WhatsApp Qualified" when the bot qualifies it, and shows in the inbox. Without a bot, whoever answers a new chat adds the lead. See how the Meta lead ads sync works.
- Stop double calls. A repeat enquiry, matched on the last 10 digits of the phone or on email, is recorded on the existing lead instead of creating a second one.
- Build stages that enforce the rules. Make Interested require a next-callback date and Consultation booked require an appointment. Status records why a lead is stuck without changing its stage.
- Assign on arrival. Round robin, weighted, capacity or performance rules, limited to a branch or team, with a daily cap per person and a fallback person. A lead that matches no rule stays unassigned and visible.
- Work from the queue. Callers work Overdue, Due today, Upcoming and All pending tabs, with a reminder 15 minutes before each callback. Quick Update records connected, stage, status, comment and next callback in one panel. On Android, the Call Pro app logs each call with its outcome, duration and recording.
- Send the template when a call fails. Add a "Not connected" sub-stage that requires a next-callback date, and an automation on "lead stage changed" with the condition stage = Not connected that sends the template. The caller picks that stage in Quick Update after an unanswered call. An after-hours acknowledgement sent on "lead created" goes to every new lead, day or night, so it needs a template that claims no call ("Thanks for your enquiry about {{1}}. We'll call you during clinic hours."). Replies land in the shared WhatsApp inbox, linked to the lead.
- Track the visit. Appointments move through scheduled, confirmed, attended, no-show and cancelled.
- Close the loop. Map stages to Conversions API events and pick the stages at which gclid leads go to Google Ads. Ads Intelligence syncs Meta spend and grades each ad by effective cost per qualified lead against a target CPL you set.
Still comparing software? How to judge a clinic CRM before you pay has a scoring table you can use on any vendor.
Frequently asked questions
What is a good cost per lead for a clinic in India?
There isn't one honest number. It moves with the city, treatment, season, form and targeting, and a low figure can hide leads that never pick up. Work out what you can afford per attended consultation instead, from what a new patient is worth and how many consultations it takes to win one, then judge every campaign against that ceiling.
Are Meta lead ads or Google ads better for a clinic?
They reach different people. Google search catches someone already looking for the treatment or a nearby clinic, so enquiries tend to be fewer and more deliberate. Meta reaches people who weren't searching, which brings more volume with more mixed intent. Compare them on cost per attended consultation over the same month, with the same follow-up, before moving budget.
Should a clinic hire a lead generation agency?
An agency can run the ads, but the leads still land on your front desk, and that part decides whether ads pay. If you use one, agree up front that campaigns are judged on booked and attended consultations, share those numbers monthly by campaign, and use the same campaign names in their reports and your CRM.
Next step: grade last month's ads by booked consultations
Take last month's spend by campaign from Ads Manager and Google Ads, count the consultations each campaign booked, and divide. If you can't count them, fix that before next month's budget. To run the whole process in atomcrm.ai with your own lead sources and stages, start a 14-day trial for ₹5, after which the plan you choose is billed, or book a 20-minute demo and bring last month's numbers.