DDS Web Solutions
Practice Operations

How a dental group shows which office offers which treatment

15 min

The short answer

Keep one internal sheet that says which office offers which treatment, and make every public surface read from that sheet. A group treatment page lists only the offices that offer that treatment and links to those office pages. Each office page lists only what that office offers, and that office's Business Profile services list only what that office offers. Ads for a treatment point at offices that offer it. Do not build one near-copy page per treatment per town to catch searches.

This guide is for a marketing lead at a dental group of about 3 to 50 or more offices. Not every door offers every treatment. Implants, clear aligners, sedation, pediatric visits, or orthodontics may be only at some offices, or a visiting provider may be at one office on certain days. The group wants the treatment pages, the office pages, the Business Profiles, and the ads to say the same true thing about where each treatment is offered. Oak Park, Pine Hill, and Elm Street in the samples are placeholders. This is marketing and web guidance. It is not clinical, legal, or compliance advice. The map of the other group jobs is marketing a multi-location practice or DSO.

The service-by-office sheet

One sheet is the source, and the group chooses its columns.

  • Office slug
  • Treatment
  • Offered: yes, no, or visiting provider days
  • Who confirms, by role
  • Office page section URL
  • Group treatment page URL
  • Business Profile service listed: yes or no
  • Ads ad group
  • Last confirmed date
  1. The operations lead writes a row for each office and each treatment the group offers anywhere. A no is a row. Leaving the office off the sheet is how a treatment gets advertised at the wrong door.
  2. That lead confirms the row with the office. Confirm again when a provider joins, leaves, or rotates. How doctor pages and practitioner profiles follow the same kind of change is in provider pages and practitioner profiles.
  3. The web team, the profile owner, and the paid search owner read the confirmed row before they publish. A row with no confirming role stays off the public page, the profile, and the ad.
  4. For a visiting provider, the offered cell names the days. The office page says those days in plain words. It does not promise that a given day still has an opening.

If Oak Park is yes for implants and Pine Hill is no, the implant page names Oak Park and does not send the patient to Pine Hill for that treatment. Elm Street can be yes for clear aligners on visiting days and no for pediatric visits. Those are four different rows, not one group menu copied everywhere.

Treatment pages and office pages

Use one URL per treatment on the group domain. The page explains the treatment once. Under a heading such as "Offices that offer this," list only the offices whose sheet row is yes or visiting provider days. Each name is a plain <a href> link to that office page, and the anchor text is the office name.

Google's page on crawlable links says Google can generally only crawl a link that is an <a> element with an href attribute. The same page says anchor text is the visible text of the link, and that it tells people and Google something about the page you are linking to. A button that depends on a script, or an empty link, is not the pattern. "Oak Park" is the anchor. "Click here" is not.

Offices that do not offer the treatment are simply not listed. Our practice, when staff get frequent calls about a treatment that door does not offer: name the office with a plain line, "not offered at this office," and do not link it as if the treatment were available. Label that line so a later edit does not turn it into an offer.

The office page services section lists only that office's treatments. Each one links to the group treatment page, so the explanation lives in one place and the office page stays about that door. What else belongs on an office page is in location pages for a multi-office site.

Spam policies describe doorway abuse as sites or pages created to rank for specific, similar search queries. They lead users to intermediate pages that are not as useful as the final destination. The examples include multiple domain names or pages targeted at specific regions or cities that funnel users to one page, and substantially similar pages that sit closer to search results than a hierarchy a person can browse. So do not publish an "implants in this town" page for every town and every treatment when the page only funnels to one office. One treatment page that names the real offices is the page. The town pages are the pattern to skip.

Creating helpful content describes people-first content as content created primarily for people, and not to manipulate search rankings. A treatment page that tells a person which doors offer the work is for that person. A stack of near-copy town pages is not.

Structured data

Local business structured data says that with this markup you can tell Google about business hours, different departments within a business, and more. The same page says to define each local business location as a LocalBusiness type and to use the most specific subtype you can. A dental office page uses Dentist. Address is a required property on that page. If you add an address, the same address has to be visible on that office page. The sample below leaves the address out; add your office's real address when you use it.

schema.org Dentist is a LocalBusiness, a MedicalBusiness, and a MedicalOrganization. The type carries medicalSpecialty, described there as a medical specialty of the provider. Use it only when the office page itself states that specialty. availableService is "a medical service available from this provider." The expected types are MedicalProcedure, MedicalTest, or MedicalTherapy. The property page lists it for Hospital, MedicalClinic, and Physician. It does not list Dentist. MedicalClinic is a separate type, and that is where availableService appears on the clinic page. makesOffer is a pointer to products or services offered by the organization or person, and the expected type is Offer. It is listed for Organization and Person, and it shows on the Dentist page among the properties from Organization.

The plain conclusion: the visible services list is what the patient reads. If the team adds markup, it has to match what that page shows. Structured data guidelines say Google does not promise that markup will show in search results even when a test passes. The reasons on that page include structured data that is not representative of the main content, or that is potentially misleading, and content referred to by the structured data that is hidden from the user. The same page says a structured data manual action means the page loses eligibility to appear as a rich result, and that this does not change how the page ranks in Google web search. Do not claim that Google uses Dentist, availableService, or makesOffer for rankings or for rich results. The service schema glossary entry covers the basics.

Here is a sample for the Oak Park office, which lists dental implants and no other treatment. Swap in your own office name and URL before you use it.

{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Example Dental Oak Park",
  "url": "https://example.com/locations/oak-park",
  "makesOffer": {
    "@type": "Offer",
    "name": "Dental implants"
  }
}

Business Profile services and categories

Guidelines for representing your business on Google say to choose the fewest number of categories it takes to describe your overall core business. Later on the same page: use as few categories as possible from the provided list, choose categories that are as specific as possible but representative of your main business, and do not use categories solely as keywords or to describe attributes. For chains, the page says to keep names and categories consistent across locations. All locations must have the same name unless the real-world representation consistently varies, and all locations must have the same category if they provide the same service. Our reading for a dental group: offices that are the same kind of practice keep the same primary business category. Change it only when that office really is a different kind of practice, such as an orthodontic-only office.

Manage your business category says to select a primary category that best describes your business, and that you can't create your own category. Additional categories are for special departments or services. The page says not to select a category for every product or service. It also says, in Google's wording, "The categories you select affect your local ranking on Google." Even so, adding a category per treatment is not the answer.

Manage your services says the services editor offers suggested options for the business type, and that you can add custom services. Custom services that violate policy are rejected automatically. The page says to avoid profanity, gibberish, personal information, prices, or phone numbers in custom service names. Descriptions and prices can sit in the service details, not in the name. Our practice: on each profile, list only the services that office offers, in the same wording family as that office page. The GBP services glossary entry explains the editor itself.

Manage your local business links says a profile can include a single link that helps people review a list of services, and up to 10 links per category for actions such as booking an appointment. The same page says local business links are not available through the Business Profile API or spreadsheet upload, so a group edits them on each profile. Point the booking link at that office's booking page. If the profile has more than one link, the page says you can set a preferred link. Prefer the link that starts a booking at that office.

Tips to improve your local ranking say local results are mainly based on relevance, distance, and popularity. The same page says businesses with complete and accurate information are more likely to show up in local search results, and that if the information is not accurate the profile might not show up for relevant searches in the area. That is Google's description. It is not a promise that a complete services list will place any office in a map result.

Bulk location management says a business with 10 or more locations can add, verify, and manage them in bulk. Bulk management does not replace the per-office check. Services are still confirmed from the sheet, one profile at a time, because a shared upload is how every door ends up listing a treatment only some doors offer. Who may edit a profile is in Google Business Profile governance.

Google Ads location groups

About location assets says the data for location assets in Google Ads comes directly from Google Maps and Google Business Profile. You can narrow account-level locations with location groups, or choose "No location asset" so the asset does not show for a campaign or an ad group. The page says campaign-level settings override account-level settings. The location asset glossary entry explains the asset. Below is how to choose which offices go in the group.

Location groups and Business Profile link filtering say location groups are reusable collections of physical business locations, applied at the account, the campaign, or an ad group. If a location group is empty, or becomes empty, it functions the same as "No location assets." A Business Profile link can filter by the exact business name, or by labels. The label filter takes up to 3 labels, and added labels are OR: a location with any one of the labels can sync, not only a location that has all of them.

Target ads to geographic locations says location targeting lets ads appear in the geographic locations you select. Those locations can include countries, areas within a country, a radius around a location, or location groups that can include places of interest, your business locations, or tiered demographics. That page is about where a person is. It is a different control from the location asset, which is which office address can show with the ad.

Our practice, not a Google rule: a treatment campaign, such as implants, uses a location group made only of the offices the sheet marks yes for implants. The ad is then not set up to associate the address of an office marked no. Do not leave that group empty, because an empty group acts like no location asset. If you filter the Business Profile link with labels, label the profiles by treatment and use the one label for that campaign. Adding a second treatment label pulls in offices that have either label. How budget and call measurement are split by office is in Google Ads budgets and call attribution.

Phones and the front desk

The central team, or each office, uses the same sheet to route a caller to an office that offers the treatment. If Pine Hill is no for implants, the caller is offered Oak Park, or whichever yes row is the right door, and nobody tells the caller that Pine Hill does that work. How the group chooses office phones, a central team, or a hybrid is in office phones or a central team.

Service by office checker

Compare your service-by-office sheet with your treatment pages, office pages, Business Profiles, and Ads location groups before a mismatch reaches a patient.

Paste your service-by-office sheet and what each office publishes, one row per line. Each finding links to the part of this guide that explains it: the sheet, treatment and office pages, Business Profile services, or Ads location groups. Treatment names match regardless of letter case. The office names oak-park, pine-hill, and elm-street are sample names.

If this browser allows it, a draft is saved on this device after you type. Nothing is sent to a server. Do not paste patient data.

One row per line, up to 300. Format: office slug | treatment | offered | confirmed by (role) | last confirmed date. Offered is yes, no, or visiting: days, such as visiting: Tue, Thu. Role and date can be blank. A date, when present, is YYYY-MM-DD.

One row per line, up to 300. Format: office slug | treatment | treatment page lists office | office page lists treatment | Business Profile service | in Ads location group | Business Profile custom service name. The four middle columns are yes or no. The custom service name can be blank.

Summary

Sample rows. 3 offices. 2 treatments. 3 sheet rows. 3 published rows. 3 findings. 0 field errors.

Example

These are sample rows. Your own results replace them when you paste. A line with the wrong number of fields, an offered value other than yes, no, or visiting, a yes or no column with another value, or a date that does not parse, is a field error. That row is not checked further.

Office by treatment

Sample office by treatment. Each cell is yes, no, visiting with the days, or not on sheet, and a count of findings.
Office implantsclear aligners
oak-park yes (0 findings)not on sheet (0 findings)
pine-hill no (1 finding)not on sheet (0 findings)
elm-street not on sheet (0 findings)visiting: Tue (2 findings)

Findings

Sample findings. Each row names the guide section that explains it.
Input line What was found Guide section
Published line 2: pine-hill | implants | yes | no | no | no | Implants The treatment page lists pine-hill. Offices that do not offer the treatment are simply not listed. The sheet says pine-hill does not offer implants. Treatment pages and office pages
Published line 3: elm-street | clear aligners | yes | no | yes | no | Clear aligners The office page does not list clear aligners. The office page services section lists only that office's treatments, and the sheet says this office offers it. Treatment pages and office pages
Published line 3: elm-street | clear aligners | yes | no | yes | no | Clear aligners Note: the office page says the days in plain words and does not promise a given day still has an opening. The offered cell names Tue. The service-by-office sheet

The CSV is for your own sheet.

This is marketing and web guidance. It is not clinical, legal, or compliance advice.

Who owns which edit

Accounts stay with the group. A vendor can have a seat. The vendor is not the owner of record. Treatment rows on the report belong in the per-office marketing report, under the office slug that report already uses. Profile access is the governance guide linked above.

Who keeps the service sheet, the pages, the profiles, the ads, and the report
Role What they change What you can open
Operations lead The service-by-office sheet, and the confirmation with each office when a provider joins, leaves, or rotates. The group can open the sheet. Every row names a role and a last confirmed date.
Web team Group treatment pages, office-page service lists, the links between them, and any markup. A treatment page lists only offices that offer it. An office page lists only that office. Markup matches the visible list.
Profile owner Categories, services, and links on each Business Profile. The services on a profile match that office's yes rows. Same-kind offices share a primary category. The booking link is that office's page.
Paid search owner Location groups and the ad group for each treatment campaign. The implants location group contains only offices marked yes for implants, and the group is not empty. The ad account stays with the group.
Reporting owner Per-office report rows that can be read by treatment. The report can show which offices offer a treatment. It does not add a row for a treatment that office does not offer.

Questions for an agency

Ask these in a proposal or a handoff.

Questions to ask an agency about which office offers which treatment
Question A useful answer names Ask a follow-up if you hear
1. Where is the service-by-office sheet, and who can open it? One sheet the group can open. Columns cover office slug, treatment, offered (yes, no, or visiting provider days), the confirming role, the office page section, the group treatment page, whether the profile lists the service, the ads ad group, and the last confirmed date. The sheet lives only in the agency's account, or each office keeps a private list that the other surfaces do not use.
2. Which offices appear on a group treatment page? Only offices marked yes, or visiting provider days, for that treatment. Each name is a plain link to that office page. An office marked no is left off, or named with a plain not-offered line when the phones keep getting that question. Every office is listed on every treatment page, or the list is a button that is not an ordinary link.
3. What does the office page list? Only treatments that office offers, each linking to the group treatment page. A visiting provider is described with the days, in plain words, and the page does not promise a day is open. The office page copies the full group menu, including treatments that door does not offer.
4. How are categories and services set on each profile? Same primary category for offices that are the same kind of practice. A different kind of office, such as an orthodontic-only door, uses the category that matches that door. Services on the profile are only the treatments that office offers, in the same wording family as the office page. Custom service names do not carry a price or a phone number. A category is added for every treatment, or every profile lists every group treatment.
5. How does a treatment campaign choose offices? The location group for that campaign contains only the offices that offer the treatment. The group is not empty. If labels filter the Business Profile link, the filter uses the treatment label, and the team knows extra labels are OR, up to 3. The treatment campaign uses all locations, so an office that does not offer the treatment can still supply the address on the ad.
6. Who confirms a change, and who owns the accounts? The operations lead confirms with the office. The web team, the profile owner, and the paid search owner update their surfaces from the same row. The group owns the profiles and the ad account. A vendor is the only owner of record, or a provider rotation is updated on the website and left stale on the profile.

Red flags

Watch for these in any plan for your offices.

  1. 1. Every office profile lists every group treatment.

    A patient can request implants at a door that does not offer them. The services editor is per profile. List only the treatments that office offers, in the same wording family as that office page.

  2. 2. One page per treatment per town, and the pages all funnel to one office.

    Google's spam policies describe doorway abuse as pages created to rank for specific, similar queries that lead to intermediate pages less useful than the final destination. The examples include pages targeted at specific regions or cities that funnel users to one page. A near-copy implants page for every town is that pattern.

  3. 3. Categories are used as keywords, or there is a category for every treatment.

    The representation guidelines say not to use categories solely as keywords or to describe attributes, and to choose the fewest number that describe the overall core business. The category page says not to select a category for every product or service. Treatments belong in the services list.

  4. 4. An office page lists a treatment that office does not offer.

    The page and the sheet disagree. Callers and the Business Profile then inherit the wrong menu. The office page lists only that office's yes rows, and visiting-provider days when that is the row.

  5. 5. A treatment campaign shows an office that does not offer the treatment.

    An all-locations asset on a treatment campaign can associate every synced office, including doors marked no. Our practice is a location group made only of the offices that offer that treatment, and the group is not left empty.

  6. 6. A custom service name contains a price or a phone number.

    The services page says custom services that violate policy are rejected automatically, and it says to avoid prices or phone numbers in custom service names. Put the price, if you publish one, in the service details, not in the name.

  7. 7. The sheet lives only in the agency's account.

    When the relationship ends, the group cannot see which door offers which treatment. The sheet stays in an account the group can open. A vendor can have a seat. The vendor is not the owner of record.

  8. 8. Markup lists services the page does not show.

    Google's structured data guidelines list markup that is not representative of the main content, or that refers to content hidden from the user, among the reasons a rich result may not appear. If the team adds markup, it matches the visible services list and nothing else.

Samples

Here is a sample sheet and office page for three offices: Oak Park, Pine Hill, and Elm Street. Swap in your own office names, URLs, and dates before you use the pattern.

office slug | treatment | offered | who confirms | office page section URL | group treatment page URL | Business Profile service listed | ads ad group | last confirmed date
oak-park | dental implants | yes | operations lead | https://example.com/locations/oak-park#services | https://example.com/services/dental-implants | yes | implants | 2026-11-11
pine-hill | dental implants | no | operations lead | https://example.com/locations/pine-hill#services | https://example.com/services/dental-implants | no |  | 2026-11-11
elm-street | clear aligners | visiting provider days | operations lead | https://example.com/locations/elm-street#services | https://example.com/services/clear-aligners | yes | aligners | 2026-11-11
elm-street | pediatric visits | no | operations lead | https://example.com/locations/elm-street#services | https://example.com/services/pediatric-visits | no |  | 2026-11-11
<!-- Sample office page. Replace example.com with your own URLs. -->

<!-- Oak Park office page. The sheet says implants: yes. Clear aligners are not on this door. -->
<h2>Services at Oak Park</h2>
<ul>
  <li><a href="https://example.com/services/dental-implants">Dental implants</a></li>
</ul>

<!-- Elm Street office page. Clear aligners are a visiting provider. Pediatric visits: no, so they are not listed. -->
<h2>Services at Elm Street</h2>
<ul>
  <li><a href="https://example.com/services/clear-aligners">Clear aligners</a>. A visiting provider is at this office on Tuesdays. Ask the office which dates are open.</li>
</ul>

<!-- Group treatment page. Pine Hill is no, so it is not in the offer list. -->
<h2>Offices that offer dental implants</h2>
<ul>
  <li><a href="https://example.com/locations/oak-park">Oak Park</a></li>
</ul>
<!-- Our practice, only when staff get frequent calls: -->
<!-- <p>Pine Hill: not offered at this office.</p> -->

Checklist

Twelve checks before you treat the public surfaces as matched to the sheet. Ticks stay in this browser only.

Service availability checklist

12 items

What DDS Web Solutions builds

DDS Web Solutions builds practice websites. Our team has been building websites since 2014, and we have served 100+ practices. The offices are in Sacramento and San Mateo. Smyly, SmileTrak, and ToothRank are the products. A service-by-office sheet, and pages that list only the doors that offer the treatment, are the work we do with the group. The planning page is DSO and multi-location marketing. A scorecard for hiring a firm is how to choose a DSO dental marketing company.

Sources

Wording on these pages can change, so confirm the live page. This is marketing guidance, not legal advice.

Explore Our Services

Next step

Need help turning reading into results?

Our team specializes in dental and healthcare marketing. Get a quote and we will scope a plan that fits your practice.