Find Customer Pain Points Without Reading Bad Reviews: A Practical Guide to Google Maps Review Classification

Among reviews for 4.45-star dental clinics, 15.9% contain complaints—structured classification reveals pain points better than star ratings.
Using 500 Google Maps reviews from 10 Chicago dental clinics, the article shows average star ratings (e.g., 4.45 stars) mask complaint distribution: among 377 reviews with text, 15.9% contain complaints and 19 are serious issues, concentrated in staff attitude (8.0%) and appointments (7.2%). It introduces Apify's Google Maps Review Classifier, which tags reviews and generates reply queues and per-location reports for $0.50 per 1,000 reviews, walks through a five-minute workflow, and notes 89% agreement with human labels—suitable for trends and triage, not human fact-finding.
Why Star Ratings Can Be Misleading
A dental clinic has an average Google Maps rating of 4.45 stars, which looks quite respectable. But after scraping the 50 most recent reviews from 10 dental clinics in Chicago (500 reviews total, 377 of which had text) and classifying them, an uncomfortable fact surfaced: among the reviews with text, 15.9% contained complaints, and 19 were flagged as serious issues.
Positive signals were equally concentrated—83% of reviews praised staff attitude, 55% praised quality of care, and 25% praised the appointment process. Negative sentiment accounted for 13.3%. The star rating averages these two forces out; all you see is a number, not where the specific pain points are.
This isn't to say ratings don't matter—it's that when you want to know "what exactly are customers complaining about," reading reviews one by one isn't feasible, and looking only at star ratings isn't enough. What's missing in between is a layer of structure: breaking each review down into complaint type, praise points, severity, and whether a merchant reply is still needed—then reading the summary instead of the raw text.
The Google Maps Review Classifier on Apify does exactly this—it can take the dataset from any Google Maps review scraper, automatically tag reviews, and generate a reply queue and per-location summary reports. Pricing is $0.50 per 1,000 reviews, with no prompt writing and no need to bring your own LLM key.

Apify is a cloud web scraping and automation platform for developers, offering thousands of prebuilt "Actors" (reusable mini-programs) covering scenarios such as Google Maps review scraping and social media data collection. Users can call them on demand and get structured data without building their own scraping infrastructure. In this case, both the review scraper and the classifier run as Actors, data is passed between Actors via datasets, and billing follows a "pay per result" model—the $0.50 per 1,000 reviews falls into this category.
Complaint Type Distribution: Staff and Appointments Top the List
Among the 377 reviews with text, the complaint type distribution is as follows (a single review can hit multiple types):
| Complaint Type | Reviews | Share |
|---|---|---|
| Staff attitude | 30 | 8.0% |
| Appointment process | 27 | 7.2% |
| Price | 22 | 5.8% |
| Trust issues (overtreatment/upselling) | 20 | 5.3% |
| Wait time | 19 | 5.0% |
| Quality of care | 16 | 4.2% |
What ranks at the top isn't medical quality itself, but staff and appointments—precisely the operational areas that are easiest to improve and easiest to overlook. Staff were praised 313 times (83%), but 30 complaints also pointed to staff, showing that the same people can generate both positive and negative reviews; the difference often lies in how specific situations are handled.
All 19 serious-issue alerts are patient claims, involving misdiagnosis, overtreatment, upselling, or mistakes during tooth extraction. One reads: "Insisted I needed a $3,000 deep cleaning." These are allegations in reviews, not confirmed facts, but for merchants, this kind of content is something they need to see the same day—not wait for a monthly review.
Unanswered Reviews Matter More Than the Average Rating
57 reviews required a merchant reply, and 34 of them have gone unanswered to date. The overall reply rate is 57.3%. Anonymizing the 10 clinics as A through E reveals stark differences:
| Clinic | Reviews | Avg. Rating | Share with Complaints | Serious Alerts | Unanswered (Need Reply) | Reply Rate | Common Complaints |
|---|---|---|---|---|---|---|---|
| A | 42 | 3.71 | 31% | 2 | 13 | 0% | Wait, staff |
| B | 41 | 4.10 | 24% | 7 | 1 | 95% | Trust, price |
| C | 39 | 4.18 | 26% | 1 | 9 | 8% | Appointments, staff |
| D | 29 | 4.45 | 24% | 2 | 0 | 97% | Wait, appointments |
| E | 26 | 5.00 | 0% | 0 | 0 | 100% | — |
A never replies and has the lowest average rating; B has the most serious alerts but replies to almost every one. This contrast says more about operational status than any single metric—reply rate doesn't directly equal service quality, but it reflects whether merchants care about the signals coming through their reviews.
Another notable data point: the complaint share over the last 90 days is 15.5%, versus 16.2% before that—essentially flat. In other words, this isn't a recent sudden decline but a long-standing structural issue.
Run It Yourself: A Five-Minute Workflow
If you manage multiple locations or client sites, the whole workflow can be compressed into a few minutes:
- Scrape reviews. Use a tool like Google Maps Reviews Scraper and sort by "Newest." Be careful not to retain reviewers' personal data.
- Connect the classifier. Open Google Maps Review Classifier on Apify and select the dataset from that run.
- Filter as needed. Look only at reviews from the last 90 days or with 1–3 stars; you can also add up to 10 custom yes/no tags, such as "mentions parking." Skipped reviews are not billed.
- Read the results. Open "Needs a reply" or download
REPLY_QUEUE.csv(unanswered reviews, sorted by star rating from low to high) andREPORT_PLACES.csv(complaint and praise composition, reply rate, and trends per location). - Schedule it. Use Apify Schedules to automatically run new reviews weekly.
Cost reference: scraping 500 reviews costs about $0.29, and classifying 377 reviews with text costs about $0.19—roughly $0.48 total. Pure star-only ratings are skipped and not charged.
You can also use the Apify MCP server to ask Claude, Cursor, or Claude Code directly: "Which of these reviews still need replies, and what are they about?"
MCP (Model Context Protocol) is an open protocol proposed by Anthropic for connecting large language model applications to external data sources and tools in a standardized way. The Apify MCP server wraps Actors on the Apify platform as tools that LLMs can call, enabling clients like Claude and Cursor to directly initiate scraping, classification, and other operations without manually writing API call code. This makes it possible to "ask review data questions in natural language" and serves as a bridge between automated analysis workflows and conversational interfaces.
Accuracy and Limits: 89% Complaint Classification Agreement Rate
Officially, testing was done on 100 manually labeled English-language reviews of Chicago businesses (not used for tuning): complaint type agreement rate 89%, sentiment 98%, praise 95%. All 10 serious-issue alerts were caught, with 1 false positive out of 93.
Other languages are supported but not yet measured, and are treated as beta. Automated tags make mistakes, so it's best to spot-check before acting on any single review. This caveat is necessary—the classifier is suited for trend judgment and queue triage, not for replacing human fact-finding on individual reviews, especially for sensitive content like medical allegations.
The "agreement rate" in this article corresponds to an evaluation metric in machine learning, typically referring to the proportion of a classification model's outputs that match human-labeled tags. Here, an 89% complaint type agreement rate means that among 100 manually labeled samples, about 89 had complaint classifications consistent with the labelers' judgments. The same applies to 98% sentiment and 95% praise. Note, however, that agreement rate is not the same as accuracy; it depends on labeling standards. Also, testing covered only English reviews, other languages have not been measured, and cross-language generalization is unknown—which is why it is treated as a beta feature.
How It Differs from Other Approaches
Reading reviews yourself one by one: fine for one store and a few dozen reviews. It's unrealistic at the scale of 10 stores run weekly, and the average star rating hides one in six complaint reviews anyway.
Using the platform's built-in review inbox: good for replying, but it doesn't categorize by complaint type, and you can't compare across stores.
Pasting reviews into a chatbot: fine for a quick skim, but you have to maintain the prompt yourself, and you have to convert free text into a table yourself. The classifier returns the same set of tags plus probabilities on every run, giving you a stable output structure.
Each of these approaches has its place; the difference lies in whether you're trying to answer "how should I reply to this review" or "what are these reviews saying?" The latter question requires summarization, not reading.
One-line Summary
Among reviews for 4.45-star dental clinics, 15.9% contain complaints—structured classification reveals pain points better than star ratings.
Paragraph Summary
Using 500 Google Maps reviews from 10 Chicago dental clinics as a sample, the article shows that average star ratings (e.g., 4.45 stars) mask the actual complaint distribution: among 377 reviews with text, 15.9% contain complaints and 19 are serious issues, concentrated in staff attitude (8.0%) and the appointment process (7.2%) rather than quality of care. The article introduces the Google Maps Review Classifier on Apify, which automatically tags reviews and generates reply queues and per-location reports for just $0.50 per 1,000 reviews, and demonstrates a five-minute workflow of scraping, classifying, filtering, and scheduling. Testing shows 89% agreement with human labels for complaint classification, with all 10 serious issues caught and 1 false positive. The article stresses that the classifier is suited for trend judgment and queue triage, not for replacing human fact-finding, and compares alternatives such as reading reviews one by one, platform inboxes, and chatbots.
Related articles

Chain of Thought Isn't Just for AI: How Humans Can Use CoT to Improve Thinking Quality
Chain of Thought isn't just a prompt trick for large models. Starting from a Hacker News discussion, this article analyzes why CoT works for human thinking too, breaks down actionable ways to transfer it, and highlights the key differences between human CoT and machine CoT.
Cloudflare Teams Up with OpenAI: Closi…
Cloudflare Teams Up with OpenAI: Closing the Loop from Vulnerability Discovery to Defense with AI
Cloudflare uses OpenAI Daybreak to investigate security vulnerabilities and generate reviewable remediation plans, while developers use Codex to boost coding efficiency and quality.

Orca Multi-Agent Orchestration in Practice: A Guide to Parallel Collaboration with Claude and Codex
Orca is Stable AI's free open-source agent workbench supporting 34 agents like Claude Code and Codex in parallel. Learn its Git worktree isolation, multi-model orchestration, and mobile management.