All posts
Owner GuidesStep-by-step

Competitor Reviews: Find the Complaint Your Practice Can Fix

Pull competitors' low-star reviews into a sheet, label each complaint with an AI assistant, count them, and turn the top one into an offer and an ad.

October 6, 2026·8 min read·by Alexander Cheberko
Table of contentstap to expand

Competitors' low-star reviews show which complaints patients near you make most often, and the checks below turn them into a counted list with a spreadsheet and an AI assistant. The complaint at the top of that count, if your own reviews are free of it, becomes the offer you put in one ad and test against your current one.

Start here

Build the review pile

Check 1: Which competitors are you up against?

WhereGoogle Mapssearch your service and area
Do: Search your main service plus your area the way a patient would (for example "dental implants Brooklyn"), and list the first 5 to 10 practices in the results. Name the area in the search: Google weighs how far each business is from the person searching (Google Business Profile Help: local ranking, checked 2026-10-06).
You should see: A list of real competitors who show up for the searches your own ads target, not just the practices you already know by name.
If not: If your own practice is missing from those results, note it as a separate problem; it does not change which competitors you pick.

Check 2: Pull the low-star reviews into a sheet

WhereGoogle Mapsthe competitor's listingnumber of reviews
Do: Search for each competitor and click the number of reviews to the right of its rating (Google Maps Help: read reviews, checked 2026-10-06). Sort so the lowest ratings come first. For every 1 to 3 star review, plus any 4-star review with a written complaint, add a row: row number, competitor, stars, date, and the sentences that state the complaint.
You should see: One row per low-star review, the complaint in the reviewer's own words, no reviewer names, and every row typed or pasted by you.
If not: Redo by hand any rows a tool pulled in. The Places API returns a "maximum of 5 reviews" per place, sorted by relevance (Google: Place resource reference, checked 2026-10-06); section 3.2.3(a) of the terms for Maps API customers bars them from scraping Maps content, for example to "copy and save business names, addresses, or user reviews" (Google Maps Platform Terms of Service, checked 2026-10-06); and Google's Terms of Service treat automated access that ignores its robots.txt instructions as abuse (Google Terms of Service, checked 2026-10-06).

Label and count the complaints

Check 3: Write your complaint list before you read the pile

WhereYour sheeta new tab
Do: Before reading any review text, write 6 to 8 complaint labels you expect to see (examples: long wait, billing surprise, rude front desk, hard to reach by phone, appointment canceled, pain not managed), plus "other" and "unsure," and two yes/no questions: is the reviewer looking for another provider, and does the review read as a real visit. Fixing the list first and reading the whole pile, not a handful at random, comes from a Russian-language video by Dmitry Popov (YouTube).
You should see: A list fixed before you read a single review, so the labels reflect what you decided matters, not the last review you read.
If not: If the list grew while you read, start again with a blank one: a list built while reading collects a label for every one-off complaint.

Check 4: Label every review with an AI assistant

WhereClaude or ChatGPTa new chat
Do: Paste the prompt below into a new chat, and fill in the brackets with your labels and your sheet's rows. Allowing "unsure" and asking for word-for-word quotes follow Anthropic's advice for fewer made-up answers (Anthropic: Reduce hallucinations, checked 2026-10-06).
For each review below, assign exactly one label from this list only:
[paste your labels from check 3, including "other" and "unsure"]
Never create a new label. For each review, give:
1. the review's row number
2. the label
3. a quote of under 15 words, copied word for word from the review, that supports the label
4. is the reviewer looking for another provider? yes, no or unsure
5. does the review read as a real patient visit? yes, no or unsure
If the text does not clearly support a label, answer "unsure" and say why.
Do not add anything that is not in the review.
Answer as a table with one row per review, in the same order.
Reviews:
[paste row number, competitor, stars, date, complaint]
You should see: One row per review: a label from your list, a quote you can find in that review, and the two answers. Paste the table into your sheet, matched by row number.
If not: If it invents labels or skips quotes, add "use only labels from this list, never create new ones" and rerun those rows.
Careful: Paste only the competitor rows from your sheet. Never paste patient names, charts, appointment notes or anything else from your own practice's records into an AI tool.

Check 5: Hand-check the labels

WhereYour sheetthe AI's labels
Do: Read every review marked "unsure" yourself, plus a random sample of the rest, such as every tenth row, and confirm each quote really appears in its review. Anthropic's own guide says its techniques reduce made-up answers but "don't eliminate them entirely" (Anthropic: Reduce hallucinations, checked 2026-10-06).
You should see: Labels that match what the review actually says, and few enough wrong ones that you would trust the count in the next check.
If not: If a label keeps landing on the wrong reviews, write down what it covers and what it does not, then rerun check 4 on those rows.

Check 6: Count the labels per competitor

WhereGoogle SheetsInsertPivot table
Do: Select the data, with a header on every column, and click Insert, then Pivot table (Google: Create & use pivot tables, checked 2026-10-06). In the side panel, click Add next to Rows and choose competitor, next to Columns and choose label, then next to Values and choose label again. If the values are not summarized as a count, change that with the arrow next to the field.
You should see: A table showing how many reviews carry each complaint, competitor by competitor.
If not: If one label holds almost every review, it is too broad: split it and rerun check 4 on its rows only.

Act on what you found

Check 7: Check your own reviews for the same complaint

WhereGoogle Business ProfileRead reviews
Do: Go to your Business Profile and select Read reviews (Google Business Profile Help: read and reply to reviews, checked 2026-10-06). Look for the complaint that leads the count from check 6, before promising to fix it anywhere public.
You should see: The complaint is absent from your own reviews, so you can offer its opposite in check 8, provided you really deliver it.
If not: If your own reviews show the same complaint, fix it in the practice first. An ad that promises what your own patients say you do not deliver invites the same low-star review you just counted.
Careful: Never answer a review with anything that identifies the patient or their care. A patient complained to HHS in 2016 that Elite Dental Associates in Dallas had answered her Yelp review with her last name, treatment plan, insurance and cost information; in 2019 the practice agreed to pay $10,000 and adopt a corrective action plan (HHS OCR: Elite Dental Associates resolution agreement, checked 2026-10-06).

Check 8: Turn the top complaint into an offer, and measure it

WhereGoogle AdsCampaignsExperiments
Do: Turn the leading complaint into something you actually deliver (shape: if "no price before treatment" leads the count, offer a written estimate before treatment starts), and put it on the first screen of a copy of your landing page and in a new ad. Then go to Experiments in the Campaigns menu, select the plus button, then Custom, and give the trial campaign the new ad and page while the original keeps the old ones (Google Ads Help: Set up a custom experiment, checked 2026-10-06). Google lists landing pages among what custom experiments typically test (Google Ads Help: the Experiments page, checked 2026-10-06).
You should see: The original and the trial running at the same time on the 50% split Google recommends, with the offer as the only difference between them.
If not: Do not call it early: Google recommends running an experiment for at least 4 to 6 weeks, longer with a long conversion delay (Google Ads Help: Experiments FAQs, checked 2026-10-06). Judge the two versions on booked appointments and calls, not clicks: see Google Ads conversions: calls, forms, or both and GA4 key events for leads.
Careful: Keep the claim true: the FTC says advertisers need a "reasonable basis," meaning objective evidence, before the ad runs (FTC: Advertising FAQs, a Guide for Small Business, checked 2026-10-06). Leave competitors' names and their reviewers' words out; Google notes that user reviews belong to the people who wrote them (Google: customer reviews guidelines, checked 2026-10-06). Never write or buy reviews to answer a competitor: the FTC's Consumer Reviews and Testimonials Rule, in effect since October 21, 2024, bans businesses from writing or selling fake reviews and from paying for reviews that must be positive or negative (FTC: Rule Q&A, 16 CFR Part 465, checked 2026-10-06). Each state sets its own advertising rules for licensed practices, so check yours first.

Tags

competitor-reviewsreview-analysisanalyze-competitor-reviewscompetitor-weaknessesreview-miningai-review-analysis

Frequently asked questions

How much does competitor review analysis cost?

Done by hand, only time. Google Sheets is free with a Google account, and Claude and ChatGPT both have free plans. Paid review software exists, but nothing in the checks below needs it.

Is there a free website that can do this for me?

You can run the labeling in check 4 on the free plans of Claude or ChatGPT once you have copied the reviews into a sheet yourself. If a long pile stops partway or gets cut off, split it into one chat per competitor. Tools that pull the reviews for you run into the limits in the last answer below.

Can you give an example of a labeled review?

Each row of the assistant's reply holds the review's row number, one label from your list (say, 'hard to reach by phone'), a quote of under 15 words copied from the review, and yes, no or unsure for the two questions from check 3. The quote is what you check by hand in check 5, never the label alone.

Do Google's terms let me copy competitors' reviews into a sheet?

Google's Maps end-user terms say you may not copy Maps content unless Google's permissions page or intellectual property law, fair use included, allows it, and may not mass download it; Google adds that it cannot tell you whether a use is fair use. The Maps Platform clause against saving user reviews binds customers who pull data through Google's Maps APIs, and Google's Terms of Service count automated access that ignores its robots.txt instructions as abuse. I am not a lawyer: keep the sheet internal, copy only the sentences that state the complaint, never republish them, and ask an attorney before doing more.

Written by

Alexander Cheberko

Marketing Analytics & Conversion Tracking Engineer, NYC-focused, run remotely

LinkedIn

Related posts