# Methodology

## Fixed design

Three convenience-selected US cities × three nonsurgical procedures × two wordings = 18 exact cells. Three sequential same-day waves across ChatGPT, Gemini, Google AI Overviews and Google AI Mode produce 216 scheduled slots. The plan and protocol were fixed before paid collection. No clinic or practitioner brand was seeded. The evidence wording intentionally requests more information and is not an isolated causal prompt experiment.

Fieldwork: 2026-10-27T12:42:24.960Z–2026-10-27T13:25:28.963Z. Excluded technical collection attempts: 10 (6 preflight attempts across 4 fixed technical cells; 4 diagnostic probes). Read-only queue GET operations: 359; they are retrievals, not additional collection attempts.

- ChatGPT: 54 answer-bearing; 0 successful no-answer; 0 collection-error states from 54 planned slots.
- Gemini: 54 answer-bearing; 0 successful no-answer; 0 collection-error states from 54 planned slots.
- Google AI Overviews: 43 answer-bearing; 11 successful no-answer; 0 collection-error states from 54 planned slots.
- Google AI Mode: 54 answer-bearing; 0 successful no-answer; 0 collection-error states from 54 planned slots.

## Actual requests and recovery

First-pass core requests: 216; original technical failures: 5; approved missing-only recovery attempts: 5; recovered captures: 5; total core requests: 221. Observations are not request attempts. No-answer/no-source outcomes are not replaced. Original status and both timestamps remain in public metrics. Any delayed recovery retains its scheduled label and actual completion time.

## Observable surfaces

DataForSEO LLM Scraper live/advanced for ChatGPT and Gemini; ChatGPT force_web_search=true. The initial Google segment used organic and ai_mode Live endpoints. A prospectively admitted execution overlay changed remaining Google delivery and four exact-input recoveries to the same provider's Standard queue task_post and task_get/advanced, at normal priority 1. AI Overviews retained depth 10 and load_async_ai_overview=true; AI Mode retained its distinct Google surface. Valid Live originals were preserved. US-English location 2840; Google desktop/Windows; city named in the query. Provider-returned model labels are retained where supplied. Physical city IP, signed-in personalization and provider-side caching were not controlled. These are provider-collected surfaces, not ClinicTruth owner reports or consumer-UI replicas.

## Delivery counts

- chatgpt: 54 retained Live captures; 0 Standard queue captures.
- gemini: 54 retained Live captures; 0 Standard queue captures.
- ai_overviews: 0 retained Live captures; 54 Standard queue captures.
- ai_mode: 3 retained Live captures; 51 Standard queue captures.

Execution-overlay SHA-256: cc6e759ebe788bceeb0065e61a9cb92ff393e484cfc092997558b69ceaa9dee5. Scheduled wave labels and actual collection timestamps remain separate. This transport change is a collection limitation, not a platform effect.

## Citation inputs and normalization

ChatGPT/Gemini use declared answer sources, not unused search results, image/ad/navigation URLs. Google uses references inside top-level AI answer items, not ordinary organic/local/PAA results. HTTP(S) references are deduplicated per answer after hostname/www, fragment, trailing slash and known tracking normalization. Nontracking query parameters and HTTP versus HTTPS remain distinct. Hostname is not corporate ownership.

## Source-set comparisons

Jaccard = intersection / union. Both answers must exist. Empty/empty source sets are undefined, one-empty pairs are zero, and a separate both-nonempty sensitivity view is provided. Means weight defined pairs equally. Three within-cell pairs × 18 cells × 4 surfaces = 216 planned within pairs. Six platform combinations × 54 exact-query/scheduled-wave matches = 324 cross-platform pairs. Actual capture timestamps remain available. No probability confidence interval or patient-demand weighting is implied.

## URL-codebook

Known directory/social hosts are coded first, then homepage, editorial, treatment/services, location/contact, explicit practitioner/team, and unclassified. Specific procedure paths take precedence over generic provider or location prefixes. These are navigation proxies, not content-quality or causal-source labels. The complete rules are in url-codebook.mjs and every recorded type is independently recomputed.

## Predetermined source follow-up

36 slots: city × procedure × surface, ordinary-selection wording, wave 1, first declared normalized reference. The exact originally selected URL remains; no convenient replacement is made. Repeated selected URLs retain every slot but each unique page is inspected once. Saved source bytes retain SHA256 and retrieval time privately. Positive procedure/practitioner/location/contact/fee-context evidence is recorded only for the inspected scope. Unknown or inaccessible facts remain unknown. Static text alone cannot establish whole-site absence or missing image/dynamic content. Named practitioner information is not license or clinical-quality validation. No automated clinic-accuracy rate is inferred.

## Interpretation and provenance

This convenience panel is not all US clinics or searches. Same-day repeat source variation does not establish long-term stability. No website intervention was applied; practical recommendations are Rotgar interpretations and testable hypotheses, not measured causal ranking effects. Historical Aesthetic Medicine & Medspa source-overlap data retain their original population and surface definitions; IVF, Dental, Bariatric and surgical results are not relabeled as nonsurgical aesthetics. No human methodology/clinical review is claimed.

Protocol SHA-256: 33c51d182c85fe3b5a11c244e534b3c0eb93ba0d7d4d0c700e1d23a0937ad330
Analytical JSON SHA-256: 394b2cd2b9eff0df23965430608804ed326287900be88e3a1336ce86bc76edb3

## Finite recovery chronology

Four original Google temporary failures received exact-input Standard queue recovery before completion of the first scheduled wave. One original Gemini Live timeout received a separate exact-input Live recovery only after all 216 original first-pass attempts were terminal. These five additional attempts are not independent observations. Original failures, delivery modes and actual capture times remain in response-metrics.csv.

Separate after-first-passes Gemini recovery admission SHA-256: ee9d006ab4f8d165cc2b7313480e76b1715918ece157096aac4da8e970ab4ab8. The earlier Google execution-overlay bytes and its four-target list were not changed by this later admission.
