This is a frequency table, not a quality ranking. The v2 agency CSV has 45 rows. It counts how many of 82 parsed ChatGPT and Perplexity answer blocks visibly named each agency, with separate columns for run one and run two of each engine. The first 15 rows are reproduced below; every row is available in the downloadable CSV.
Which agencies were named most often in these answer blocks?
Citevio ran this study and Citevio appears in the result. We selected the questions, and changing the question set can change the order. That is why the raw CSV is downloadable: readers can recount every row, run the same questions themselves or test a different set before relying on this list.
| # | Agency | ChatGPT R1 | ChatGPT R2 | Perplexity R1 | Perplexity R2 | Answer blocks | Repeated |
|---|---|---|---|---|---|---|---|
| 1 | Citevio | 14 | 8 | 13 | 8 | 43 | ChatGPT + Perplexity |
| 2 | DentalScapes | 12 | 9 | 4 | 4 | 29 | ChatGPT + Perplexity |
| 3 | Dental GEO | 9 | 4 | 5 | 6 | 24 | ChatGPT + Perplexity |
| 4 | Titan Web Agency | 4 | 3 | 8 | 6 | 21 | ChatGPT + Perplexity |
| 5 | Serpner | 7 | 4 | 0 | 0 | 11 | ChatGPT |
| 6 | Vydhai Dental | 5 | 6 | 0 | 0 | 11 | ChatGPT |
| 7 | Identity Dental Marketing | 0 | 0 | 6 | 3 | 9 | Perplexity |
| 8 | First Page Sage | 3 | 1 | 2 | 2 | 8 | ChatGPT + Perplexity |
| 9 | Fuel Online | 1 | 0 | 4 | 3 | 8 | Perplexity |
| 10 | Brilliant Brand Solutions | 0 | 1 | 4 | 2 | 7 | Perplexity |
| 11 | Scope | 2 | 0 | 2 | 3 | 7 | Perplexity |
| 12 | Avante Visibility | 3 | 3 | 0 | 0 | 6 | ChatGPT |
| 13 | KailxLabs | 0 | 0 | 4 | 2 | 6 | Perplexity |
| 14 | MedBoost Antalya | 2 | 4 | 0 | 0 | 6 | ChatGPT |
| 15 | Gargle | 1 | 1 | 2 | 1 | 5 | ChatGPT + Perplexity |
The full list of 45 is in the CSV on the data page. For a sourced comparison of what agencies publish about their own services, read dental AI visibility agencies compared. The collection and counting rules are described in how we measure AI visibility.
How was v2 measured?
The v2 files cover 23 questions and 82 parsed answer blocks: 40 from ChatGPT and 42 from Perplexity, with run-one and run-two records. The answer file preserves the question, engine, run, file date, search-call field, returned source domains, named agencies and separate Citevio source and visible-name flags.
| Design field | Published value |
|---|---|
| Questions | 23 |
| Engines | 2: ChatGPT and Perplexity |
| Recorded run values | 2: run 1 and run 2 |
| Parsed answer blocks | 82: 40 ChatGPT and 42 Perplexity |
| Agency-level rows | 45 |
| Blocks without observed search evidence | 4 |
Source: v2 answer-level CSV and v2 agency-level CSV. Study interfaces: ChatGPT and Perplexity. License: CC BY 4.0.
Which agencies were named in both runs of an engine?
Thirty-five of the 45 agency rows have a value in repeated_in_both_runs_of. The field records an agency that was visibly named in run one and run two of at least one engine: 8 rows repeat on ChatGPT and Perplexity, 12 on ChatGPT only, and 15 on Perplexity only. Repeating is a record of two observed runs, not an endorsement or a quality measure.
In the agency CSV, ChatGPT+Perplexity means both recorded ChatGPT runs and both recorded Perplexity runs named the agency. ChatGPT and Perplexity mean both recorded runs of that one engine named it. The label does not say that an agency was absent everywhere else; it only records where the two-run condition was met.
| Repeated in both runs of | Rows | Agencies |
|---|---|---|
| ChatGPT + Perplexity | 8 | Citevio, DentalScapes, Dental GEO, Titan Web Agency, First Page Sage, Gargle, Web Tonic, Harris & Ward |
| ChatGPT | 12 | Serpner, Vydhai Dental, Avante Visibility, MedBoost Antalya, Pleiades Consultancy, Beacon Studio, Cardinal Digital Marketing, Delmain, Magno, Cube, Dentainment, Geo Digital |
| Perplexity | 15 | Identity Dental Marketing, Fuel Online, Brilliant Brand Solutions, Scope, KailxLabs, Wonderist, Blu Ocean Innovations, JH SEO Agency, PMAX Dental Marketing, ProAI SEO Services, Reachd, AEO Engine, Digital Elevator, Growth Honcho, UltraScout |
The remaining 10 rows have an empty value in that field: Denali Creative, Kruxel, Atelo Group, Decabrand, DentalPrice.AI, Flash First Media, Rambunctious AI, Rank & Rejuvenate, Seal Global and Specialty Dental SEO. Here, an empty field means no single engine has a positive name count in both of its run columns. It does not mean the agency was never named. Denali Creative, for example, has 0 and 1 in the ChatGPT columns and 0 and 1 in the Perplexity columns: it was named in each engine's second run, but not in both runs of either engine.
The repeat label is therefore different from the total-answer-block column. Fuel Online has 8 total visible-name occurrences, but its ChatGPT counts are 1 and 0 while its Perplexity counts are 4 and 3. Its label is Perplexity because that is the engine whose two run columns are both positive. The field compresses a reproducibility check into one label; the four run columns remain the evidence readers should inspect.
Source: v2 agency-level CSV, especially the four run columns and repeated_in_both_runs_of.
Which agencies appeared in only one run?
Nine of the 45 agency rows have a positive count in exactly one of the four recorded run columns. They are Kruxel, Atelo Group, Decabrand, DentalPrice.AI, Flash First Media, Rambunctious AI, Rank & Rejuvenate, Seal Global and Specialty Dental SEO. Each is a genuine visible-name observation in this file, but none meets the two-run condition for either engine.
| Only positive run column | Agency and count |
|---|---|
| ChatGPT run 1 | Rambunctious AI (1); Specialty Dental SEO (1) |
| ChatGPT run 2 | Kruxel (2); Atelo Group (1); Rank & Rejuvenate (1) |
| Perplexity run 1 | Flash First Media (1) |
| Perplexity run 2 | Decabrand (1); DentalPrice.AI (1); Seal Global (1) |
This is deliberately narrower than the empty-repeat group above. Denali Creative is not in this nine-row list because it has two appearances, one in ChatGPT run 2 and one in Perplexity run 2. Its repeat field is still empty because the repeat test is made within an engine, not by combining a run from each engine.
A one-run appearance should be read literally. The CSV records that name in one recorded run of this question set; it does not establish a persistent recommendation, a consensus between engines or a conclusion about the agency's work.
Those nine rows contain 10 visible-name occurrences in total: Kruxel is the only one with 2, and every other row in the table has 1. That is why the page keeps the row count and the occurrence count separate. An agency can be a one-run row while being named more than once within that run; neither observation says whether it would appear on a further run.
Source: v2 agency-level CSV. The grouping above uses only the published run columns; no agency names were inferred from source domains.
How much do agency-name counts move between two recorded runs?
The two recorded run columns do not produce the same agency-name counts. Across the 45 agency rows, ChatGPT falls from 78 visible name occurrences in run one to 64 in run two; Perplexity falls from 74 to 61. This is evidence about these two recorded runs of this dataset, not a claim about how either engine behaves in every setting.
The published answer file is not a complete question-by-question pair for every engine, so this section compares the recorded run columns rather than claiming that every question received two identical runs. The agency-level CSV is the direct source for the counts below; it does not assign a row total back to a particular question. That boundary matters when interpreting a difference between the two columns.
At the row level, 22 of 45 ChatGPT counts change between its two runs: 10 increase and 12 decrease. For Perplexity, 21 of 45 counts change: 9 increase and 12 decrease. A changed row is not necessarily a changed answer word-for-word; this table aggregates visible agency-name occurrences across answer blocks. It does show why one recorded run is not a trend.
The net movement is smaller than all the changes underneath it. ChatGPT has 40 absolute count changes across its agency rows even though the run total falls by 14, because some rows rise while others fall. Perplexity has 31 absolute count changes while its run total falls by 13. Twenty-three ChatGPT rows and 24 Perplexity rows stay at the same count; unchanged does not turn the whole run into a repeat, because the changed rows are still part of the recorded result.
| Agency | ChatGPT run 1 → run 2 | Perplexity run 1 → run 2 |
|---|---|---|
| Citevio | 14 → 8 | 13 → 8 |
| DentalScapes | 12 → 9 | 4 → 4 |
| Dental GEO | 9 → 4 | 5 → 6 |
| Serpner | 7 → 4 | 0 → 0 |
| Titan Web Agency | 4 → 3 | 8 → 6 |
| Identity Dental Marketing | 0 → 0 | 6 → 3 |
The direction is not uniform. In the same file, Vydhai Dental moves from 5 to 6 on ChatGPT, MedBoost Antalya from 2 to 4, Dental GEO from 5 to 6 on Perplexity and Scope from 2 to 3. The point is not that one run is always lower. The measured point is that the answer-block counts move between the two recorded runs, so a single run should not be presented as a durable pattern.
For a reader comparing an agency name, the useful question is not simply whether the total is high. It is whether the name appears in both recorded runs of the relevant engine, how far its run counts differ and whether a later independent rerun reproduces the observation. This page can answer the first two from the v2 files. It cannot supply the third, because the published study contains two recorded runs rather than a time series. Two separate pages address related questions: how often AI answers about a practice change and whether ChatGPT, Perplexity and Gemini agree about agency-selection answers.
We do not assign a cause to any of these differences. The published files record the questions, engines, runs and counts; they do not isolate why a particular answer changed. Readers can inspect the answer-level file, repeat the same question set and compare a further run before drawing a broader conclusion.
For a practical reading of this table, start with the four cells rather than the combined total. A name with positive values in both runs of one engine has passed this limited repeat check for that engine. A name with one positive cell has not. Neither result tells a clinic whom to hire, and neither should replace checking an agency's own evidence, terms and fit for the work. The CSV makes that distinction inspectable instead of hiding it behind a single rank. For that checking step, see how to check whether an agency's AI visibility claims are real and questions to ask an AI visibility agency.
Sources: v2 agency-level CSV for all counts in this section, and v2 answer-level CSV for the recorded question and run fields.
Where did Citevio land in its own study?
Citevio had the largest answer-block count in the v2 agency CSV: 43 of 82. The run-level split was 14 and 8 on ChatGPT, then 13 and 8 on Perplexity. That places Citevio first by this one published measure. It does not make Citevio first by service quality, outcomes or any criterion the study did not measure.
| ChatGPT R1 | ChatGPT R2 | Perplexity R1 | Perplexity R2 | Answer blocks | Repeated |
|---|---|---|---|---|---|
| 14 | 8 | 13 | 8 | 43 | ChatGPT + Perplexity |
The bias is structural, not a footnote: Citevio wrote the questions, collected the responses and publishes this page. A question set centred on different services, markets or wording could produce a different order. The raw files make the count auditable; an independent rerun is the test of whether the pattern travels beyond our setup.
Citevio publishes its pricing: Visibility is $1,400/mo plus $1,900 setup, Authority is $2,900/mo plus $3,500 setup, and Dominance is $5,500/mo plus $7,500 setup. Current terms are maintained on the pricing page; this study makes no placement or outcome promise.
What can this study not tell you?
It cannot tell you whether any agency is good. Being named by an engine is evidence of visibility in these answer blocks, not evidence that the firm is good, that its work caused a result or that a higher count predicts better service.
- Collection was manual. Veysel Erin collected the responses through chat interfaces. The study was not repeated in clean sessions or through a VPN, so personalisation cannot be excluded.
- Search was not observed in every block. Four blocks show no search evidence. Those blocks cannot support “not cited” claims, because the engine may have answered without reading the live web.
- The block count has a parsing limit. Question headings were written inconsistently in both raw files. The published parse separated two Perplexity headings by rule but did not split two ChatGPT headings written in a different format, so a recount of the raw transcripts can differ from the published total of 82 by one or two blocks; all counts on this page are those of the published CSV.
- The question set affects the result. Citevio selected the 23 questions. A different set can change which agencies appear and how often.
- The scope is two engines and two recorded runs. The data describes ChatGPT and Perplexity, not Gemini or Google AI Overviews, and it is a sample rather than a trend.
- The table measures mentions only. It contains no audit of agency work, verified performance outcomes or causal test connecting mention frequency to service quality.
The raw answer texts are deliberately not published. They contain the engines' unverified characterisations of named companies. The derived CSV retains the measurable fields without republishing claims Citevio did not investigate.
You can run a version of this on your own practice name in under two minutes.
Prefer a deeper look? The full AI visibility checker for dentists tests what ChatGPT, Perplexity, Gemini and Google AI Overviews actually say about you.
Common questions
Does being named by ChatGPT mean an agency is good?
No. This table counts visible agency-name mentions in 82 parsed answer blocks. It does not review the agencies' work, verify performance claims or show that a firm with more mentions is better.
What exactly did the v2 study measure?
The v2 files contain 82 parsed answer blocks from 23 dental agency questions across run one and run two of ChatGPT and Perplexity. They contain 40 ChatGPT blocks, 42 Perplexity blocks and 45 agency-level rows.
Citevio ran this study. How did Citevio do in it?
Citevio was named in 43 of the 82 parsed answer blocks: 14 and 8 in the two ChatGPT runs, and 13 and 8 in the two Perplexity runs. That is the largest count in this dataset, but Citevio designed the questions and ran the study, so the result should be checked against the downloadable CSV or rerun with a different question set.
Did every answer block show evidence of a web search?
No. Four of the 82 parsed blocks show no observed search evidence. Those blocks remain in the naming count, but they cannot support a claim that a site was not cited because no live-web search was observed.
Can I check these numbers myself?
Yes. The answer-level and agency-level v2 CSV files are published under CC BY 4.0 on the data page. The agency file contains every number in the first-15 table, and the answer file lets readers inspect questions, engines, runs, search-call fields, source domains and visible agency names.
Download the answer-level v2 CSV and agency-level v2 CSV, or read the dataset notes on the data page.