Most dental marketing advice ranks channels by reach. That's the wrong metric. The only number that matters is cost per patient who actually sat in a chair. Here are the seven channels that move it, ranked from cheapest to most expensive on that basis.
1. Existing-patient referrals (CPA: $40 - $90)
A patient who refers another patient costs you whatever you pay in incentive plus the cost of asking. That's it. No CPM, no CPC, no agency retainer. The trick is asking consistently and tracking attribution - which most practices fail at because their PMS doesn't surface "who referred whom" in a usable way.
Set up a structured ask after every positive treatment outcome (post-op, post-cleaning, post-Invisalign reveal). Use a rewards mechanism - Xcare Rewards, gift cards, or a simple credit toward future treatment - so the patient has a tangible reason to share.
2. Rewards-network referrals (CPA: $80 - $140)
Loyalty networks like Xcare Rewards aggregate hundreds of thousands of patients across geography. Members earn points for booking, reviewing, and referring - and the network surfaces in-network clinics in their daily app use. When a clinic joins, nearby members see them on their next search.
This is the closest thing to "demand already standing outside your door." It only works if there's a member density in your FSA / postal code area, but where it works, it dominates paid channels.
3. Google Business Profile + Local Pack (CPA: $0 - $60 ongoing)
Showing up in the 3-pack on a "dentist near me" search is still the single highest-ROI marketing surface in dental. The cost is operational - keep your GBP optimized, respond to every review, post weekly, keep hours accurate, and add real photos of the practice and team.
Practices in the 3-pack typically see 40-60% of all "near me" booking intent flow their way. Practices outside it see almost none. There is no in-between.
4. Reactivation of inactive patients (CPA: $50 - $120)
Every practice has a backlog of patients who haven't been seen in 18+ months. They're not technically "new patients" but in revenue terms they behave like new patients - with one critical difference: they already trust you.
A reactivation campaign that combines SMS, email, and a small incentive (free whitening, free check-up + X-ray) typically books 8-15% of the lapsed list within 90 days. For a practice with 2,000 inactive patients, that's 160-300 booked appointments at a fraction of the cost of a new-patient campaign.
5. Local SEO + content (CPA: $80 - $180 amortized)
Ranking organically for "[procedure] in [city]" - "Invisalign Toronto", "emergency dentist Mississauga" - takes 6-12 months but compounds forever. Build a real services page per procedure. Build a city / neighborhood page if you serve more than one. Get backlinks from local business directories and your dental supply vendors.
6. Paid search / Google Ads (CPA: $200 - $350)
Google Ads is efficient only when (a) your landing page loads in under 2 seconds, (b) you have online booking inline (not "fill out a form and we'll call you"), and (c) your missed-call text-back is automated. Without those, you're paying $20+ per click to leak 90% of intent.
High-value procedures (implants, full-mouth, Invisalign) can justify $400+ CPAs because the case value supports it. General hygiene rarely does.
7. Paid social (CPA: $280 - $420+)
Meta and TikTok work for cosmetic and Invisalign in dense urban markets with strong creative. They almost never work for general dentistry, recall, or insurance-driven practices. If your practice doesn't have a content team or a clear cosmetic angle, skip it.
The math: where to spend first
| Channel | CPA range | Time to ROI |
|---|---|---|
| Existing-patient referrals | $40 - $90 | 30 days |
| Rewards network | $80 - $140 | 14 - 60 days |
| Google Business Profile | $0 - $60 | 30 - 90 days |
| Reactivation | $50 - $120 | 14 - 60 days |
| Local SEO | $80 - $180 | 6 - 12 months |
| Paid search | $200 - $350 | 30 - 60 days |
| Paid social | $280 - $420+ | 60 - 120 days |
What we'd do if we started today
- Week 1: Audit GBP, install missed-call text-back, fix online booking.
- Week 2: Pull list of patients inactive 18+ months. Run reactivation campaign.
- Week 3: Stand up structured referral ask post-treatment, with reward.
- Month 2: Join a rewards network (Xcare Rewards or equivalent) if your FSA has density.
- Month 3: Layer in paid search on highest-margin procedures only.
See exactly which of these channels would have worked best on your practice's last 90 days of data. Connect your PMS and we'll build a Patient Revenue Report in 14 days, free.
