acceptedInsurance vs healthPlanNetworkId.
The standardized property vs the custom property
healthPlanNetworkId is the standardized Schema.org property under MedicalBusiness for surfacing insurance-network participation in a machine-readable format. The value carries the network ID as the canonical identifier for the payer relationship. Directory aggregators and Google's parser handle the standardized property consistently because the property has a defined schema definition with structured semantics. acceptedInsurance, by contrast, is a custom property without standardized Schema.org vocabulary; the values parse as raw strings rather than as structured references to the actual payer network. Practices and SEO tools commonly use acceptedInsurance as a free-text field, which works as a fallback but does not feed downstream surfaces consistently. The CDT codes and service schema hub covers the broader Dentist schema deployment, and the dental schema markup engagement runs the per-slot work.
Payer-search SEO and the local pack
Patients search for dental practices filtered by insurance acceptance: "dentist that takes Delta Dental near me", "Cigna dentist [city]", "in-network Aetna dentist". The local pack surfaces practices whose GBP carries the insurance attribute and whose schema layer surfaces the network ID consistently. Practices with messy or absent insurance schema lose the conversion because the surface does not render in the filtered local pack. NavBoost (Google's engagement-signal local-pack ranking adjustment) reads the click-through-and-stay patterns on insurance-filtered results; consistent in-network surfacing generates strong stay-and-book signals that compound the practice's local-pack standing. The schema layer feeds the entire downstream payer-search surface from the GBP attribute to the directory aggregator to the search-result preview.
Directory aggregator parsing and downstream consistency
Directory aggregators (Healthgrades, ZocDoc, Vitals, Wellness.com, WebMD, 1-800-Dentist) crawl the practice's schema layer to populate the per-platform insurance attribute. Aggregators that recognize healthPlanNetworkId parse the structured value and surface the practice in the platform's insurance-filtered search. Aggregators that fall back on acceptedInsurance string-match against a normalized payer list, which produces inconsistent results across platforms (some surface the practice for the relevant filter, others do not). The practice's surface in each directory feeds back into the citation density that supports the local-pack signal Google reads. Inconsistency at the schema layer propagates into inconsistency at the directory tier, which dilutes the practice's payer-network signal across the broader local-disambiguation surface.
In-network vs out-of-network display patterns
In-network plans render through healthPlanNetworkId with the structured payer reference. Out-of-network plans render through acceptedInsurance as a secondary free-text layer where the practice accepts the patient's plan benefits but is not contracted at in-network rates. On-page chrome surfaces the distinction clearly: a verified in-network listing converts at a higher rate than ambiguous "we accept most insurance" language, and the distinction shapes patient expectation around the explanation-of-benefits surface they will see post-visit. At DSO scale, insurance contracts are per-location: a DSO's Boston location may participate in Delta Dental's Massachusetts PPO while the Chicago location may not. healthPlanNetworkId populates independently per location's Dentist node; blanket population at the parent Organization level is inaccurate at multi-location scale. The full Bright engagement maintains the per-location insurance schema alongside the broader Dentist deployment.
What practices ask about the insurance-schema slot choice.
Why is <code>acceptedInsurance</code> a custom property rather than a standardized Schema.org field?
acceptedInsurance property is not part of the standardized Schema.org vocabulary. Practices and SEO tools commonly use it as a free-text field to surface the insurance plans the practice accepts, but directory aggregators and Google's parser handle the property inconsistently because there is no canonical schema definition behind it. The values parse as raw strings rather than as structured references to the actual payer network.What is <code>healthPlanNetworkId</code> and why is it the recommended primary signal?
healthPlanNetworkId is the standardized Schema.org property under MedicalBusiness for surfacing insurance-network participation in a machine-readable format. The value carries the network ID as the canonical identifier for the payer relationship. Directory aggregators and Google's parser handle the standardized property consistently, which feeds the local-pack ranking signal NavBoost reads when patients filter local-pack results by insurance acceptance.How does payer-search SEO work for dental practices?
How should in-network and out-of-network plans display?
healthPlanNetworkId with the structured payer reference. Out-of-network plans render through acceptedInsurance as a secondary free-text layer where the practice accepts the patient's plan benefits but is not contracted at in-network rates. On-page chrome surfaces the distinction clearly: a verified in-network listing converts at a higher rate than ambiguous "we accept most insurance" language, and the distinction shapes patient expectation around the explanation-of-benefits surface they will see post-visit.Populate healthPlanNetworkId per location with the actual contracted networks. Keep acceptedInsurance for the free-text fallback. Stop losing payer-filtered local-pack visibility. Book a diagnostic.
We audit your current insurance schema deployment per location, identify the gaps, and ship the rebuild plan with the per-location network ID populated against actual contracts. The diagnostic comes back inside two weeks.