For dental practices

Dental advertising measured on booked patients

Adrails gives dental practices and the agencies that run their ads one workspace where Meta Ads and, once your workspace can connect it, Google Ads are judged on booked appointments, completed first visits and accepted treatment plans rather than clicks. Your booking system or server records each one, Adrails sends it back to the platforms within Meta's health and wellness data rules and Google's healthcare policy, and each practice gets its own cost per lead line and report link.

Reviewed Oct 4, 2026

By treatment line

The conversion that matters, the figure to watch and the workflow

In LocaliQ's 2026 benchmarks the Dentists & Dental Services row costs $8.00 a Search click and $72.97 a Search lead, and $61.56 a lead on Facebook's leads objective. None of those figures knows whether the lead sat in the chair, and no public report splits them by treatment. Each line below has its own conversion, and the workflow starts from it.

The conversion that matters, the figure to watch and the workflow
Treatment lineConversion that mattersFigure to watchLocaliQ 2026, dentists rowAdrails workflow
General dentistryA new patient appointment booked by form or call, then the first visit completedCost per booked appointment, and the share that sits in the chair$8.00 a Search click, $72.97 a Search lead, $61.56 a Facebook leadA Leads campaign per practice; the booking confirmation sent from your server as a signed lead event; a CPA alert on the account
Emergency dentistryA call answered during opening hours and an appointment the same dayCost per answered call10.67% Search conversion rateCalls logged by your phone system and sent as signed events; a Spend without results pause on ad sets that spend without a call
ImplantsA consultation booked, then a treatment plan acceptedCost per accepted plan, read weeks after the clickNo treatment row publishedA campaign group per treatment; the accepted plan sent later with the same email and the saved click ids; the Media Buyer reads cost per result before each budget move
Invisalign and clear alignersA consultation booked, then a case startedCost per started caseNo treatment row publishedOne template for the consultation offer, applied to each practice; a split test on the ad's text or creative, decided on cost per result
OrthodonticsA consultation for a child or an adult, then a case startedCost per started case, by practiceNo treatment row publishedThe practices compared side by side in Compare; a weekly client report per practice owner

Benchmarks: LocaliQ, Search Advertising Benchmarks 2026 and Facebook Advertising Benchmarks 2026, Dentists & Dental Services row. Conversions and workflows: the Adrails tracking, campaigns, automations and client reports documentation. Only events your server signs reach Meta and Google Ads; new Google Ads connections open once Google finishes verifying Adrails.

01

Dental advertising pays for a booked appointment, then a patient in the chair

Dental advertising is bought in clicks and form fills, and paid back by a patient who books, shows up and accepts a treatment plan. In LocaliQ's 2026 Search Advertising Benchmarks the Dentists & Dental Services row costs $8.00 a click, converts 10.67% of clicks and pays $72.97 a lead; on Facebook's leads objective, LocaliQ's 2026 Facebook benchmarks put the same industry at $61.56 a lead, a $5.70 click and a 6.07% conversion rate. Dental lead generation judged on those figures alone counts the form, not the patient.

Adrails counts the step that pays. The script on the practice's site credits each visit to the campaign and ad that brought it and keeps the click ids for 90 days. When the booking system confirms an appointment, your server sends a lead event signed with the server key, with the booking reference as event_id and the fbc, fbp or gclid saved with the visit. When the patient completes the first visit, or accepts a plan, your server sends the next event the same way, with the same email, and Adrails credits it to the same ad.

Only those signed events reach Meta Ads and, once your workspace can connect it, Google Ads. What the page script sends stays in Adrails, because the public key sits in every page and a forged booking that reached a platform would teach its bidding to buy more of nothing. Meta receives every signed event under its standard name; Google Ads receives the one event you choose in Settings > Tracking, Lead or Purchase among them, so you decide whether its bidding learns from the booking or from the completed visit. Settings > Tracking shows what was sent, what waits and what was refused over the last 30 days.

  • Booked: a lead event from your server when the booking is confirmed
  • Seated: a purchase event with the fee as value when the first visit is completed
  • Accepted: the treatment plan, sent later with the same email and click ids

02

What a dental practice can send back to Meta and Google Ads, and what it cannot

Meta assigns the websites and apps that send it data to data source categories, and some categories carry data sharing restrictions. Its Health and wellness category covers a source associated with medical conditions or specific health statuses, provider and patient relationships, services for accessing personal health information, or health-related products and services, with a patient portal and a telemedicine platform among the examples. A practice site that books appointments is a provider and patient relationship, so expect the category. Three restrictions exist: core setup strips custom parameters and anything in a URL after the domain; a restriction on certain standard events holds back specific mid and lower funnel events; full restrictions stop every event, and Meta's tools cannot be used for ads purposes where they apply. Meta's page does not list the restricted events; write-ups from the January 2025 rollout, when Meta notified affected sources between 6 and 13 January and applied the restrictions from 14 January, or 30 days later on request, name Purchase, Add to Cart and Schedule among them and PageView, ViewContent and Search among the events that still flow. Meta tells you by email and in Events Manager, you can categorize the source yourself and ask Meta to review a category it assigned, and custom events are blocked until you review and confirm them.

Meta's prohibited information list names medical procedures, treatments and testing, diseases, medical conditions and injuries, and physical locations that identify a health condition or a place of treatment. So the event Adrails records contains what you choose to put in it, and for a dental practice that is: an event named lead or purchase, the booking reference as event_id, the fee as value where you send one, the click ids and the patient's email. It is not: an event or parameter that names the treatment, such as implant_consultation, a page path that names it, or a note about the condition. Adrails sends the event name, the event_id, the time, the source URL, value and currency, fbc and fbp, the request's IP address and user agent, and the email, external id and phone hashed with SHA-256; nothing else travels, and Adrails never stores the phone number. Whether Meta then uses a Purchase from a restricted source is Meta's decision, visible in Events Manager, not Adrails'.

Google's Healthcare and medicines policy restricts online pharmacies and telemedicine, prescription drug services, addiction services, abortion ads and health insurance, and says nothing about dentistry beyond noting that ads exclusively for dental, vision or travel health insurance are not restricted. Its Health in personalized advertising policy is the one that touches a practice: advertiser-curated audiences, Customer Match, your data segments, audience expansion and lookalike segments, cannot be used for health-related content, and invasive medical procedures including cosmetic surgery are named. A practice advertising implants or veneers keeps to Search keywords, location and Google's predefined audiences. A conversion sent back is not an audience: the upload Adrails makes carries the click id, the time and the booking reference as order id, under the conversion action you named, so name it Adrails leads rather than implant consultations.

  • Send: lead or purchase, the booking reference, the hashed email, the click ids
  • Do not send: the treatment or the condition in an event name, a parameter or a page path
  • Check: the dataset's category and data restrictions in Events Manager, and the conversion action's name in Google Ads

03

Treatments as campaign groups: implants, Invisalign, general dentistry

Dental ads sell different things at different prices: a cleaning for a new patient, a same-day appointment for a toothache, an implant plan worth thousands, an aligner case. Run each treatment line as its own campaign group so that cost per result means one thing inside it, and judge each against what that treatment is worth rather than against one blended cost per lead. Dentist ads for implants can pay more per booked consultation than general dentistry ads can per appointment, and the accepted plan sent back from your practice software is the figure that says how much more.

The Campaign Manager prepares a Meta Leads campaign from a brief, as an editable hierarchy of campaign, ad sets and ads, and Adrails asks Meta to check it before creating it paused. Save the campaign, ad set and ad settings of the treatment offer that works as a template, per channel and level: fields tied to one account, the pixel, the Page, media and audiences, are left out, and a name, dates and status are never copied, so the implant consultation template carries the structure to the next practice without the first practice's leftovers. Dental Facebook ads for the same offer in two practices can then be set side by side in Compare, which names the one that leads on cost per result and says whether the gap is reliable: 95% confidence, at least 10 conversions each.

Split tests settle the creative. Two to four versions of an ad differ in one variable, the text or the creative on Meta, Adrails reads the test about once an hour and names a winner at 95% confidence once every variant has 10 conversions. On Google Ads, a Search campaign per treatment with Performance Max for reach follows the same grouping once your workspace can connect it. Google Ads opens once Google finishes verifying Adrails, so connect Meta for now.

  • One campaign group per treatment line, each with its own cost per result ceiling
  • Templates carry the offer, not the account
  • Meta Ads today; Google Ads once your workspace can connect it

04

Several practices, one workspace, a cost per lead line for each

Dental practice marketing for a group means a dozen accounts that look alike and pay differently: a city practice can pay more per booked appointment than a suburban one and still come out ahead. Group the ad accounts by practice, region or brand in Adrails; grouping changes nothing on Meta or Google Ads, and every agent request names the accounts it reads. Plans start at $149 a month with unlimited ad accounts.

Give each practice its own line. An ad threshold automation watches a campaign, ad set or ad metric over today, the last 7 days or the last 30 days, is checked every hour and fires at most once a day for each item that crosses the line. The CPA alert template posts to Slack or Discord, or emails up to 10 addresses, when cost per result passes the figure that practice can pay; Stop-loss and Spend without results pause what spends without a booking, either at once after Adrails checks on the platform that nothing changed since it was read, or after waiting in Priorities on Home for 24 hours for an administrator to apply it. Every pause is logged with the figures that led to it.

A workspace runs up to 5 threshold automations switched on at once and 25 automations in all, so put the hourly checks on the practices where a bad week costs the most, and cover the rest with a scheduled automation: a Meta Ads step over the last 7 days, a Filter on cost per result, an email with the rows left. Only owners and administrators change automations, and the person who switches one on is responsible for it.

05

A report link per practice owner, and what the agent reads before moving budget

Each practice owner gets a read-only report over the accounts you tick: spend, results, cost per result and ROAS per currency, the best and weakest campaigns and creatives, up to five of each, the changes applied in Adrails over the period and the open recommendations. The link opens for 30 days, 90 days or until revoked, covers at most 92 days, needs no Adrails account and is shown once, because Adrails keeps only a fingerprint of it. The Weekly client report automation emails a fresh link on a schedule, and Shared report links under Automations lists every link with how often it was opened.

Between reports, the Media Buyer prepares the next change as a proposal you apply in Adrails. A budget move names the current value, the proposed value and the reason, moves at most 30% per change, and an increase needs measured spend and results behind it. Adrails measures each applied change after 24 hours, 3 days and 7 days, so a raise on the implant campaign that pushed cost per booked consultation above its ceiling is visible before the next one. Dental marketing read this way is one figure per treatment line, per practice, every week.

  • Report link: 30 days, 90 days or until revoked, over at most 92 days
  • Budget move: 30% at most per change, measured after 24 hours, 3 days and 7 days
  • Up to 100 open links per workspace; revoke one before sharing another

FAQ

Common questions

Is a dental practice website a health and wellness data source for Meta?

Meta's Health and wellness category covers sources associated with provider and patient relationships and health-related services, which a practice site that books appointments is. Check the dataset's category and data restrictions in Events Manager; you can categorize the source yourself and ask Meta to review a category it assigned.

Can Adrails send a booked appointment to Meta and Google Ads as a conversion?

Yes, when your server sends it signed with the server key: Meta receives it as a Lead right after it is recorded, and Google Ads receives it in hourly batches once it is 6 hours old and carries a gclid, under the conversion action you chose. Whether Meta then uses it depends on the restrictions on your dataset.

What should the appointment event contain, and what should it leave out?

The event name, lead or purchase, the booking reference as event_id, the fee as value where you send one, the click ids saved with the visit and the patient's email, which Adrails hashes with SHA-256. Leave the treatment and the condition out of the event name, the parameters and the page path, since Meta lists medical procedures and treatments as prohibited information.

Can each practice have its own cost per lead limit?

Yes. Each threshold automation is filled with the accounts you choose and its own value, checked every hour, and a workspace runs up to five at once. A scheduled automation with a Filter step covers the other practices on the day you choose.

Does Google Ads for dental practices work in Adrails today?

New Google Ads connections open once Google finishes verifying Adrails, so connect Meta for now. Once your workspace can connect it, Search, Performance Max, Display and Demand Gen campaigns per treatment line follow, with the conversion action that receives your bookings.