Google Business Profile Scorecard — Canonical Rubric¶
Generated from
rubric.json. Do not edit this file by hand. Runpython3 render_rubric.py.
Version: 1.0.0 · Framework: gbp-journey · Updated: 2026-10-27 · Total: 100
Evidence-based diagnosis of the public Google Business Profile journey
The seven categories¶
| Category | Weight | Question |
|---|---|---|
| A. Identity & Accuracy | 15 | Can a prospective customer confidently understand who this company is, where it operates, when it is available, and whether its public information is coherent? |
| B. Relevance & Service Coverage | 18 | Does the profile accurately communicate the services the business wants local customers to hire it for? |
| C. Conversion & Actionability | 22 | Can a ready-to-buy searcher take a useful next action with minimal friction? |
| D. Reputation & Trust | 20 | Does publicly observable reputation provide sufficient and current trust for a customer to act? |
| E. Content & Freshness | 10 | Does the profile visibly demonstrate an active, credible company performing the work it claims to perform? |
| F. Handoff & Journey Continuity | 10 | Does the customer journey remain coherent when the prospect leaves Google? |
| G. Measurement & Attribution | 5 | Can activity originating from the profile be meaningfully measured? |
| Total | 100 |
The score is not a completeness score. Conversion receives the highest weight because a profile that cannot produce a next step has failed its main job.
Bands¶
| Score | Band | Label |
|---|---|---|
| 90–100 | A | Elite |
| 75–89 | B | Strong |
| 60–74 | C | Average |
| 40–54 | D | Weak |
| 0–14 | F | Critical |
Scoring model¶
For each category: normalized = category.max * earned / applicable_max. Total = sum(normalized) * 100 / sum(category.max for categories with applicable checks). Category caps apply to normalized category points; overall caps apply to the total. Final = min(total, overall cap).
Rounding. Category normalized values are rounded to 2 decimals. Total and final are rounded to 1 decimal. Display = final rounded to the nearest integer. Bands use the display score.
Owner data. Owner-data questions are never scored and never reduce the public score.
Evidence. Every applicable check needs evidence and confidence verified or strong_signal. A deterministic check must be verified.
Check index¶
| ID | Title | Cat | Max | Severity | Evaluation | Applicability |
|---|---|---|---|---|---|---|
| GBP-ID-01 | Business status and identity | A | 2 | critical | deterministic | required |
| GBP-ID-02 | Primary category fits the core business | A | 2 | high | model_judgment | required |
| GBP-ID-03 | Additional categories are relevant, not stuffed | A | 2 | medium | model_judgment | required |
| GBP-ID-04 | Primary phone is present and coherent | A | 2 | critical | deterministic | required |
| GBP-ID-05 | Website action is present and plausibly owned | A | 2 | critical | deterministic | required |
| GBP-ID-06 | Location or service-area configuration is coherent | A | 2 | high | model_judgment | required |
| GBP-ID-07 | Regular hours are present and coherent | A | 1 | high | deterministic | required |
| GBP-ID-08 | Description is specific and accurate | A | 1 | medium | model_judgment | required |
| GBP-ID-09 | Relevant attributes support the buying decision | A | 1 | medium | model_judgment | required |
| GBP-SVC-01 | Major services are explicit | B | 4 | critical | model_judgment | required |
| GBP-SVC-02 | Commercially important services are represented | B | 3 | high | model_judgment | required |
| GBP-SVC-03 | Emergency or urgent service is represented | B | 3 | high | deterministic | conditional (emergency_service) |
| GBP-SVC-04 | Service descriptions are clear | B | 3 | high | model_judgment | required |
| GBP-SVC-05 | Service organization is coherent | B | 2 | medium | model_judgment | required |
| GBP-SVC-06 | Profile services match the website offering | B | 2 | high | deterministic | required |
| GBP-SVC-07 | Category-specific attributes add service context | B | 1 | low | model_judgment | required |
| GBP-CON-01 | Phone action is usable | C | 4 | critical | deterministic | required |
| GBP-CON-02 | Website action is clear and labeled | C | 2 | high | deterministic | required |
| GBP-CON-03 | Booking or appointment action | C | 3 | critical | deterministic | conditional (online_booking_expected) |
| GBP-CON-04 | Messaging action | C | 2 | medium | deterministic | conditional (messaging_expected) |
| GBP-CON-05 | Directions or location action | C | 2 | high | deterministic | conditional (physical_storefront) |
| GBP-CON-06 | Mobile handoff is compatible | C | 2 | high | model_judgment | required |
| GBP-CON-07 | Emergency action pathway | C | 2 | high | deterministic | conditional (emergency_service) |
| GBP-CON-08 | After-hours path when observable | C | 2 | medium | model_judgment | conditional (after_hours_expected) |
| GBP-CON-09 | Preferred next action is clear | C | 2 | high | model_judgment | required |
| GBP-CON-10 | Contact paths do not conflict | C | 1 | medium | deterministic | required |
| GBP-TRU-01 | Rating provides a credible baseline | D | 3 | high | deterministic | required |
| GBP-TRU-02 | Review count provides enough context | D | 3 | high | deterministic | required |
| GBP-TRU-03 | Recent reviews are present | D | 4 | critical | deterministic | required |
| GBP-TRU-04 | Review velocity is consistent | D | 3 | high | deterministic | required |
| GBP-TRU-05 | Recent rating distribution does not signal a trust problem | D | 3 | high | deterministic | required |
| GBP-TRU-06 | Owner responses are present | D | 2 | medium | deterministic | required |
| GBP-TRU-07 | Owner responses are recent and relevant | D | 1 | low | deterministic | required |
| GBP-TRU-08 | Reviews contain service-specific proof | D | 1 | low | model_judgment | required |
| GBP-CNT-01 | Profile imagery is present | E | 2 | medium | deterministic | required |
| GBP-CNT-02 | Imagery is business-relevant | E | 2 | high | model_judgment | required |
| GBP-CNT-03 | Useful job, team, vehicle, or before/after media | E | 3 | high | model_judgment | required |
| GBP-CNT-04 | Media is recent | E | 1 | low | deterministic | required |
| GBP-CNT-05 | Business-uploaded context is observable | E | 1 | low | deterministic | required |
| GBP-CNT-06 | Recent posts or updates where applicable | E | 1 | low | deterministic | conditional (content_posts_expected) |
| GBP-HND-01 | Website destination resolves over HTTPS | F | 2 | critical | deterministic | required |
| GBP-HND-02 | Destination identity matches the profile | F | 2 | high | model_judgment | required |
| GBP-HND-03 | Phone, hours, and service signals stay consistent | F | 2 | high | deterministic | required |
| GBP-HND-04 | Booking destination resolves and belongs to the business | F | 2 | critical | deterministic | conditional (online_booking_expected) |
| GBP-HND-05 | No obvious dead end at handoff | F | 1 | medium | model_judgment | required |
| GBP-HND-06 | Source context is preserved at handoff | F | 1 | low | model_judgment | required |
| GBP-MSR-01 | Website action carries observable source context | G | 2 | medium | deterministic | required |
| GBP-MSR-02 | Booking action carries observable source context | G | 2 | high | deterministic | conditional (online_booking_expected) |
| GBP-MSR-03 | Destination structure allows profile-origin measurement | G | 1 | low | deterministic | required |
Checks by category¶
A. Identity & Accuracy — 15 points¶
Can a prospective customer confidently understand who this company is, where it operates, when it is available, and whether its public information is coherent?
GBP-ID-01 — Business status and identity (2 points)¶
Stage: identify · Severity: critical · Evaluation: deterministic · Applicability: required · RAD: gbp_optimization
Principle: A closed or misidentified listing cannot serve a customer.
| Score | Anchor |
|---|---|
| 2 | The profile is operational and the business name matches the trade and destination website. |
| 1 | The profile is temporarily closed, or status/name cannot be verified from available public data. |
| 0 | The profile is marked permanently closed, or the name belongs to a different business. |
Evidence to capture: businessStatus, displayName, destination title
Recommended intervention: Confirm the profile status and legal trading name, then correct any mismatch.
GBP-ID-02 — Primary category fits the core business (2 points)¶
Stage: identify · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: Category is the strongest relevance signal in Maps.
| Score | Anchor |
|---|---|
| 2 | The primary category accurately names the main service a customer would hire. |
| 1 | The primary category is broader, narrower, or adjacent enough to create ambiguity. |
| 0 | The primary category describes a different business or a service the business does not sell. |
Evidence to capture: primaryType, website service language
Recommended intervention: Choose the most specific accurate primary category for the core service.
GBP-ID-03 — Additional categories are relevant, not stuffed (2 points)¶
Stage: identify · Severity: medium · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: Category stuffing dilutes relevance and can mislead customers.
| Score | Anchor |
|---|---|
| 2 | Additional categories reflect services the business actually sells and can support. |
| 1 | One or more additional categories are adjacent or weakly supported. |
| 0 | Additional categories are unrelated, duplicated, or clearly used as keyword inventory. |
Evidence to capture: types, website service pages
Recommended intervention: Remove unsupported categories and keep only services with real delivery evidence.
GBP-ID-04 — Primary phone is present and coherent (2 points)¶
Stage: identify · Severity: critical · Evaluation: deterministic · Applicability: required · RAD: call_tracking
Principle: A customer must be able to call the business the profile describes.
| Score | Anchor |
|---|---|
| 2 | A usable primary phone is present and matches the main public phone on the destination. |
| 1 | A phone is present but formatted inconsistently, unverified, or different in one public location. |
| 0 | No phone is present, or the profile phone clearly belongs to another business. |
Evidence to capture: nationalPhoneNumber, destination tel: links
Recommended intervention: Use one tracked or primary number and keep it consistent on the profile and site.
GBP-ID-05 — Website action is present and plausibly owned (2 points)¶
Stage: identify · Severity: critical · Evaluation: deterministic · Applicability: required · RAD: gbp_optimization
Principle: The website action is the primary path to deeper information.
| Score | Anchor |
|---|---|
| 2 | A website action is present and the domain plausibly belongs to the business. |
| 1 | A website is present but generic, mismatched, or weakly connected to the profile identity. |
| 0 | No website action is present, or it points to an unrelated domain. |
Evidence to capture: websiteUri, domain, destination title
Recommended intervention: Point the profile at the business's own primary domain.
GBP-ID-06 — Location or service-area configuration is coherent (2 points)¶
Stage: understand · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: Service-area businesses should not be penalized for hiding an address.
| Score | Anchor |
|---|---|
| 2 | A storefront address is coherent, or a service-area business correctly hides its address and communicates a plausible service area. |
| 1 | The location signal is incomplete or ambiguous, without contradicting the business model. |
| 0 | The profile presents a false storefront, a contradictory address, or no usable location signal for a local service. |
Evidence to capture: formattedAddress, service-area indicators, business configuration
Recommended intervention: Make the location or service-area configuration match how the business actually sells.
GBP-ID-07 — Regular hours are present and coherent (1 points)¶
Stage: understand · Severity: high · Evaluation: deterministic · Applicability: required · RAD: gbp_optimization
Principle: Hours set the expectation for when a customer can reach the business.
| Score | Anchor |
|---|---|
| 1 | Regular hours are present and consistent with the destination. |
| 0 | No regular hours are present, or they contradict the destination. |
Evidence to capture: regularOpeningHours, destination hours
Recommended intervention: Publish accurate regular hours and mirror them on the site.
GBP-ID-08 — Description is specific and accurate (1 points)¶
Stage: understand · Severity: medium · Evaluation: model_judgment · Applicability: required · RAD: content_production
Principle: A specific description helps a customer confirm fit.
| Score | Anchor |
|---|---|
| 1 | The description names the services, customer, and local context in plain language. |
| 0 | There is no description, or it makes claims the business cannot support. |
Evidence to capture: editorialSummary or profile description
Recommended intervention: Write a short description around services, customer, and service area.
GBP-ID-09 — Relevant attributes support the buying decision (1 points)¶
Stage: understand · Severity: medium · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: Attributes answer practical questions without a click.
| Score | Anchor |
|---|---|
| 1 | Relevant attributes are present and consistent with the business. |
| 0 | No relevant attributes are present, or they contradict the service model. |
Evidence to capture: attributes, accessibility, payment, emergency signals
Recommended intervention: Add only attributes the business can verify and support.
B. Relevance & Service Coverage — 18 points¶
Does the profile accurately communicate the services the business wants local customers to hire it for?
GBP-SVC-01 — Major services are explicit (4 points)¶
Stage: understand · Severity: critical · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: A customer cannot hire a service they cannot identify.
| Score | Anchor |
|---|---|
| 4 | Every major service line the business sells is named clearly in the profile. |
| 3 | Most major service lines are present, but one material line is missing or vague. |
| 1 | Only a generic category is present, or major services are absent. |
| 0 | The profile communicates no usable service coverage. |
Evidence to capture: services, description, categories
Recommended intervention: Name the major services in the profile and keep them aligned with the site.
GBP-SVC-02 — Commercially important services are represented (3 points)¶
Stage: understand · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: Coverage is not the same as commercial clarity.
| Score | Anchor |
|---|---|
| 3 | The profile highlights the services the business most wants to sell, not just every possible task. |
| 2 | The profile includes the main services but does not distinguish the commercially important ones. |
| 1 | The profile omits the commercially important services or buries them under generic categories. |
| 0 | There is no usable service prioritization. |
Evidence to capture: services, service order, website service pages
Recommended intervention: Put the highest-value services first and make them easy to recognize.
GBP-SVC-03 — Emergency or urgent service is represented (3 points)¶
Stage: understand · Severity: high · Evaluation: deterministic · Applicability: conditional · condition: emergency_service · RAD: emergency_routing
Principle: A customer with an urgent problem needs a fast, explicit path.
| Score | Anchor |
|---|---|
| 3 | Emergency or urgent service is clearly named and an urgent path is visible. |
| 2 | Urgent service is implied but not clearly named, or the path is incomplete. |
| 1 | The business sells emergency work but the profile does not show an urgent path. |
| 0 | Emergency work is not part of the business, so this check does not apply. |
Evidence to capture: profile services, 24/7 language, urgent action link
Recommended intervention: State emergency availability and connect it to one usable urgent action.
GBP-SVC-04 — Service descriptions are clear (3 points)¶
Stage: understand · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: content_production
Principle: A service name alone may not answer what the job includes.
| Score | Anchor |
|---|---|
| 3 | Service descriptions explain the job, the customer problem, and the outcome in plain language. |
| 2 | Descriptions are present but generic, duplicated, or too thin to help. |
| 1 | Service descriptions are absent or are keyword lists with no customer meaning. |
| 0 | The profile has no usable service descriptions. |
Evidence to capture: service descriptions, profile copy
Recommended intervention: Write one clear sentence per major service: problem, work, outcome.
GBP-SVC-05 — Service organization is coherent (2 points)¶
Stage: understand · Severity: medium · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: Organization affects whether a customer finds the right service.
| Score | Anchor |
|---|---|
| 2 | Services are grouped and ordered in a way a customer can scan. |
| 1 | Services are present but duplication or ordering creates some confusion. |
| 0 | Services are a disorganized list that obscures what the business does. |
Evidence to capture: service list and order
Recommended intervention: Group related services and remove duplicates.
GBP-SVC-06 — Profile services match the website offering (2 points)¶
Stage: understand · Severity: high · Evaluation: deterministic · Applicability: required · RAD: gbp_optimization
Principle: A mismatch breaks confidence at the handoff.
| Score | Anchor |
|---|---|
| 2 | The profile and destination name the same core services, with no material contradiction. |
| 1 | There is a minor mismatch that does not change the core offer. |
| 0 | A material service mismatch would send a customer to a business that does not sell what the profile promises. |
Evidence to capture: profile services, website service pages
Recommended intervention: Align the profile and site service lists, then remove stale services.
GBP-SVC-07 — Category-specific attributes add service context (1 points)¶
Stage: understand · Severity: low · Evaluation: model_judgment · Applicability: required · RAD: gbp_optimization
Principle: Attributes can answer fit questions at a glance.
| Score | Anchor |
|---|---|
| 1 | Category-specific attributes clarify the service model (for example emergency, financing, accessibility). |
| 0 | No category-specific context is present, leaving the offer ambiguous. |
Evidence to capture: category attributes, service model
Recommended intervention: Add the category attributes that materially help a customer decide.
C. Conversion & Actionability — 22 points¶
Can a ready-to-buy searcher take a useful next action with minimal friction?
GBP-CON-01 — Phone action is usable (4 points)¶
Stage: act · Severity: critical · Evaluation: deterministic · Applicability: required · RAD: call_tracking
Principle: A phone call is the most common high-intent action in home services.
| Score | Anchor |
|---|---|
| 4 | A tel: action is present, usable on mobile, and the number is not obviously invalid. |
| 3 | A phone action is present but less accessible, inconsistently formatted, or not directly tappable. |
| 1 | A number is shown as plain text only, with no usable call action. |
| 0 | No phone action exists. |
Evidence to capture: nationalPhoneNumber, tel: link
Recommended intervention: Publish one primary number and make it tappable everywhere.
GBP-CON-02 — Website action is clear and labeled (2 points)¶
Stage: act · Severity: high · Evaluation: deterministic · Applicability: required · RAD: gbp_optimization
Principle: The action must be recognizable before it is tapped.
| Score | Anchor |
|---|---|
| 2 | The website action is present, clearly labeled, and points to a plausible destination. |
| 1 | The website action is present but weakly labeled or points to a generic page. |
| 0 | No website action is present. |
Evidence to capture: websiteUri and action label
Recommended intervention: Use the business's primary website and a clear label.
GBP-CON-03 — Booking or appointment action (3 points)¶
Stage: act · Severity: critical · Evaluation: deterministic · Applicability: conditional · condition: online_booking_expected · RAD: online_booking
Principle: A ready customer should be able to book without a scavenger hunt.
| Score | Anchor |
|---|---|
| 3 | A booking action is present, clearly labeled, and resolves to a relevant booking experience. |
| 2 | A booking action is present but indirect, ambiguous, or requires unnecessary steps. |
| 1 | The business expects online booking but offers no visible booking action. |
| 0 | The business does not expect online booking, so this check does not apply. |
Evidence to capture: booking link, destination state
Recommended intervention: Add one direct booking action and make the destination relevant.
GBP-CON-04 — Messaging action (2 points)¶
Stage: act · Severity: medium · Evaluation: deterministic · Applicability: conditional · condition: messaging_expected · RAD: sms_messaging
Principle: Some customers will not call; a usable message path captures them.
| Score | Anchor |
|---|---|
| 2 | A messaging action is present, usable, and clearly owned by the business. |
| 1 | Messaging is present but could route to a generic or slow channel. |
| 0 | Messaging is not part of the intended contact mix, so this check does not apply. |
Evidence to capture: message action, destination state
Recommended intervention: Add one business-owned messaging path with a clear response expectation.
GBP-CON-05 — Directions or location action (2 points)¶
Stage: act · Severity: high · Evaluation: deterministic · Applicability: conditional · condition: physical_storefront · RAD: gbp_optimization
Principle: A storefront customer needs a reliable way to arrive.
| Score | Anchor |
|---|---|
| 2 | A storefront business exposes a coherent directions action and address. |
| 1 | A directions action exists but the address or destination is unclear. |
| 0 | This is a service-area business without a public storefront, so directions are not applicable. |
Evidence to capture: address, maps link, business configuration
Recommended intervention: Provide a correct address and directions action.
GBP-CON-06 — Mobile handoff is compatible (2 points)¶
Stage: act · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: conversion_recovery
Principle: Most local searches happen on a phone.
| Score | Anchor |
|---|---|
| 2 | The primary action destinations are usable at mobile width, with no blocking interstitials or app-only dead ends. |
| 1 | One destination has friction that may cause some mobile customers to abandon. |
| 0 | A primary action sends mobile customers to a broken, blocked, or clearly unusable destination. |
Evidence to capture: destination mobile checks, redirects
Recommended intervention: Make the first destination a mobile-usable page owned by the business.
GBP-CON-07 — Emergency action pathway (2 points)¶
Stage: act · Severity: high · Evaluation: deterministic · Applicability: conditional · condition: emergency_service · RAD: emergency_routing
Principle: Urgency amplifies friction.
| Score | Anchor |
|---|---|
| 2 | Emergency work is clearly paired with one usable urgent action. |
| 1 | An urgent path exists but is ambiguous or competes with non-urgent actions. |
| 0 | Emergency work is not part of the business, so this check does not apply. |
Evidence to capture: urgent copy, call or booking path
Recommended intervention: Make one urgent action unmistakable.
GBP-CON-08 — After-hours path when observable (2 points)¶
Stage: act · Severity: medium · Evaluation: model_judgment · Applicability: conditional · condition: after_hours_expected · RAD: after_hours
Principle: A customer outside business hours still needs a next step.
| Score | Anchor |
|---|---|
| 2 | The profile or destination states what happens after hours and offers a usable path. |
| 1 | An after-hours path is mentioned but incomplete or hard to find. |
| 0 | After-hours demand is not expected, so this check does not apply. |
Evidence to capture: hours, after-hours copy, action links
Recommended intervention: State after-hours availability and connect it to one action.
GBP-CON-09 — Preferred next action is clear (2 points)¶
Stage: act · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: conversion_recovery
Principle: Clarity reduces decision friction.
| Score | Anchor |
|---|---|
| 2 | One preferred action is clearly dominant and appropriate to the customer's likely intent. |
| 1 | Several actions compete, but a customer can still infer a reasonable next step. |
| 0 | The profile presents no clear preferred action or creates choice paralysis. |
Evidence to capture: action order, labels, destination copy
Recommended intervention: Choose one primary action per intent and let the others support it.
GBP-CON-10 — Contact paths do not conflict (1 points)¶
Stage: act · Severity: medium · Evaluation: deterministic · Applicability: required · RAD: gbp_optimization
Principle: Conflicting paths create dead ends and distrust.
| Score | Anchor |
|---|---|
| 1 | Phone, website, booking, and messaging actions point to one coherent business. |
| 0 | Two or more public contact paths conflict in a way that could misdirect a customer. |
Evidence to capture: phone, website, booking, messaging, destination
Recommended intervention: Remove stale numbers, domains, and booking destinations.
D. Reputation & Trust — 20 points¶
Does publicly observable reputation provide sufficient and current trust for a customer to act?
GBP-TRU-01 — Rating provides a credible baseline (3 points)¶
Stage: trust · Severity: high · Evaluation: deterministic · Applicability: required · RAD: review_automation
Principle: Rating is a first-pass trust signal, not a quality proof.
| Score | Anchor |
|---|---|
| 3 | The rating is at or above the local category baseline, or the profile has too few reviews for a rating to be meaningful. |
| 1 | The rating is below the baseline but not severely. |
| 0 | The rating is materially below the local category baseline. |
Evidence to capture: rating, local category context
Recommended intervention: Investigate recurring causes of low ratings; do not chase a number.
GBP-TRU-02 — Review count provides enough context (3 points)¶
Stage: trust · Severity: high · Evaluation: deterministic · Applicability: required · RAD: review_automation
Principle: Count alone is not quality, but near-zero social proof weakens trust.
| Score | Anchor |
|---|---|
| 3 | The review count is sufficient for the local category and consistent with business age. |
| 1 | The review count is thin but not necessarily a trust failure. |
| 0 | The profile has very few reviews relative to its age or local category. |
Evidence to capture: userRatingCount, business age when available
Recommended intervention: Build a consistent review-request process; never buy reviews.
GBP-TRU-03 — Recent reviews are present (4 points)¶
Stage: trust · Severity: critical · Evaluation: deterministic · Applicability: required · RAD: review_automation
Principle: Recent proof matters more than a historical average.
| Score | Anchor |
|---|---|
| 4 | A review was published within the recent window expected for the category. |
| 3 | The most recent review is older than expected but within a plausible seasonal window. |
| 1 | The most recent review is stale enough that current trust cannot be inferred. |
| 0 | No reviews are available to assess. |
Evidence to capture: review publishTime sample
Recommended intervention: Make review requests part of every completed job.
GBP-TRU-04 — Review velocity is consistent (3 points)¶
Stage: trust · Severity: high · Evaluation: deterministic · Applicability: required · RAD: review_automation
Principle: A sudden stop or burst is a signal worth investigating.
| Score | Anchor |
|---|---|
| 3 | Reviews arrive at a reasonably steady rate for the business's job volume. |
| 1 | Review velocity is uneven or slowing, but recent proof exists. |
| 0 | Review acquisition appears to have stopped or occurred in one implausible burst. |
Evidence to capture: review timestamps
Recommended intervention: Use a repeatable post-job request instead of sporadic campaigns.
GBP-TRU-05 — Recent rating distribution does not signal a trust problem (3 points)¶
Stage: trust · Severity: high · Evaluation: deterministic · Applicability: required · RAD: review_recovery
Principle: A historic average can hide a current problem.
| Score | Anchor |
|---|---|
| 3 | Recent ratings are broadly consistent with the overall rating. |
| 1 | There is a modest recent dip or a small cluster of complaints. |
| 0 | Recent one-star reviews or a sharp distribution change suggest an unresolved service problem. |
Evidence to capture: review ratings, recent sample
Recommended intervention: Read recent negatives, fix the recurring cause, and respond publicly where appropriate.
GBP-TRU-06 — Owner responses are present (2 points)¶
Stage: trust · Severity: medium · Evaluation: deterministic · Applicability: required · RAD: review_automation
Principle: A response shows the business is present after the job.
| Score | Anchor |
|---|---|
| 2 | The owner visibly responds to a meaningful share of reviews. |
| 1 | Some responses are present, but coverage is thin or inconsistent. |
| 0 | No owner responses are observable. |
Evidence to capture: review responses sample
Recommended intervention: Respond to reviews, especially recent negative ones, in a calm, specific voice.
GBP-TRU-07 — Owner responses are recent and relevant (1 points)¶
Stage: trust · Severity: low · Evaluation: deterministic · Applicability: required · RAD: review_automation
Principle: Generic responses can feel automated and reduce trust.
| Score | Anchor |
|---|---|
| 1 | Responses are recent and address the specific review content. |
| 0 | No recent, relevant owner response is observable. |
Evidence to capture: response timestamps and text
Recommended intervention: Write short, specific replies that acknowledge the job and the customer's concern.
GBP-TRU-08 — Reviews contain service-specific proof (1 points)¶
Stage: trust · Severity: low · Evaluation: model_judgment · Applicability: required · RAD: review_automation
Principle: Specific proof is more credible than a star average.
| Score | Anchor |
|---|---|
| 1 | Reviews repeatedly mention specific services, jobs, or outcomes. |
| 0 | Reviews are too generic to support the claimed service quality. |
Evidence to capture: review text sample
Recommended intervention: Ask satisfied customers to mention the job and the result, without scripting a fake review.
E. Content & Freshness — 10 points¶
Does the profile visibly demonstrate an active, credible company performing the work it claims to perform?
GBP-CNT-01 — Profile imagery is present (2 points)¶
Stage: trust · Severity: medium · Evaluation: deterministic · Applicability: required · RAD: content_production
Principle: Imagery is often the first visual trust cue.
| Score | Anchor |
|---|---|
| 2 | A profile image or cover image is present and usable. |
| 1 | Imagery is present but sparse or low quality. |
| 0 | No usable profile imagery is present. |
Evidence to capture: photos, profile media
Recommended intervention: Add a clear cover image and a recognizable profile image.
GBP-CNT-02 — Imagery is business-relevant (2 points)¶
Stage: trust · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: content_production
Principle: A real job photo is stronger than a generic graphic.
| Score | Anchor |
|---|---|
| 2 | Images show the actual business, team, work, vehicles, or job context. |
| 1 | Some relevant images are mixed with generic stock or graphics. |
| 0 | Images are generic, unrelated, or visibly misleading. |
Evidence to capture: photo sample and captions
Recommended intervention: Replace stock imagery with real, permissioned job and team photos.
GBP-CNT-03 — Useful job, team, vehicle, or before/after media (3 points)¶
Stage: trust · Severity: high · Evaluation: model_judgment · Applicability: required · RAD: content_production
Principle: Useful media demonstrates capability, not just activity.
| Score | Anchor |
|---|---|
| 3 | The media set shows enough real work variety to support the claimed services. |
| 2 | Some useful media is present, but variety or service coverage is thin. |
| 1 | The media set is too thin or generic to support the claimed work. |
| 0 | There is no useful media to assess. |
Evidence to capture: photo sample, service list
Recommended intervention: Add captioned photos for each major service, including before/after where appropriate.
GBP-CNT-04 — Media is recent (1 points)¶
Stage: trust · Severity: low · Evaluation: deterministic · Applicability: required · RAD: content_production
Principle: Recent media suggests the business is active.
| Score | Anchor |
|---|---|
| 1 | New media was added within the recent window expected for the category. |
| 0 | Media appears years old, with no recent proof of activity. |
Evidence to capture: photo timestamps where available
Recommended intervention: Add a small number of recent job photos each month.
GBP-CNT-05 — Business-uploaded context is observable (1 points)¶
Stage: trust · Severity: low · Evaluation: deterministic · Applicability: required · RAD: content_production
Principle: Owner media signals intentional presentation.
| Score | Anchor |
|---|---|
| 1 | At least some media is attributable to the business rather than only customers. |
| 0 | Only generic or user-contributed media is visible, with no business context. |
Evidence to capture: photo attribution metadata
Recommended intervention: Upload a small, current set of owner-provided photos.
GBP-CNT-06 — Recent posts or updates where applicable (1 points)¶
Stage: trust · Severity: low · Evaluation: deterministic · Applicability: conditional · condition: content_posts_expected · RAD: content_production
Principle: Fresh, useful updates can support trust and activity.
| Score | Anchor |
|---|---|
| 1 | A recent post or update is visible and relevant to the service. |
| 0 | Posts are not part of the intended profile strategy, so this check does not apply. |
Evidence to capture: posts, update timestamps
Recommended intervention: Publish occasional job or service updates that help a customer, not filler.
F. Handoff & Journey Continuity — 10 points¶
Does the customer journey remain coherent when the prospect leaves Google?
GBP-HND-01 — Website destination resolves over HTTPS (2 points)¶
Stage: handoff · Severity: critical · Evaluation: deterministic · Applicability: required · requires: website_present · RAD: conversion_recovery
Principle: A broken handoff loses the customer at the moment of highest intent.
| Score | Anchor |
|---|---|
| 2 | The primary website destination resolves successfully over HTTPS, with a valid certificate and no unrelated redirect. |
| 1 | The destination resolves but has a slow, insecure, or confusing redirect. |
| 0 | The destination is dead, unreachable, or redirects to unrelated content. |
Evidence to capture: destination fetch, final URL, certificate
Recommended intervention: Repair the destination and serve the site over HTTPS.
GBP-HND-02 — Destination identity matches the profile (2 points)¶
Stage: handoff · Severity: high · Evaluation: model_judgment · Applicability: required · requires: website_resolves · RAD: gbp_optimization
Principle: Identity continuity is trust continuity.
| Score | Anchor |
|---|---|
| 2 | The destination clearly represents the same business name, brand, and location. |
| 1 | The connection is plausible but one identity signal is weak or missing. |
| 0 | The destination appears to belong to a different business or a directory. |
Evidence to capture: destination title, brand, contact details
Recommended intervention: Align the business name, logo, and location across Google and the site.
GBP-HND-03 — Phone, hours, and service signals stay consistent (2 points)¶
Stage: handoff · Severity: high · Evaluation: deterministic · Applicability: required · requires: website_resolves · RAD: gbp_optimization
Principle: Public inconsistency creates hesitation.
| Score | Anchor |
|---|---|
| 2 | Phone, hours, and core service language match between the profile and destination. |
| 1 | One signal is inconsistent without changing the core offer. |
| 0 | A material inconsistency would make a customer question whether they reached the right business. |
Evidence to capture: phone, hours, service pages
Recommended intervention: Update the destination and profile from one source of truth.
GBP-HND-04 — Booking destination resolves and belongs to the business (2 points)¶
Stage: handoff · Severity: critical · Evaluation: deterministic · Applicability: conditional · condition: online_booking_expected · requires: booking_present · RAD: online_booking
Principle: A dead booking link is worse than no booking link.
| Score | Anchor |
|---|---|
| 2 | The booking destination resolves, is usable, and is clearly branded for the business. |
| 1 | The booking destination works but is generic or requires avoidable steps. |
| 0 | Online booking is not expected, so this check does not apply. |
Evidence to capture: booking destination state
Recommended intervention: Repair or remove the booking action; use a branded, working destination.
GBP-HND-05 — No obvious dead end at handoff (1 points)¶
Stage: handoff · Severity: medium · Evaluation: model_judgment · Applicability: required · requires: website_resolves · RAD: conversion_recovery
Principle: The handoff must continue the journey.
| Score | Anchor |
|---|---|
| 1 | The destination offers a clear next action appropriate to the profile intent. |
| 0 | The destination is a dead end for the likely intent. |
Evidence to capture: destination action path
Recommended intervention: Keep one visible action on the destination that matches the profile promise.
GBP-HND-06 — Source context is preserved at handoff (1 points)¶
Stage: handoff · Severity: low · Evaluation: model_judgment · Applicability: required · requires: website_resolves · RAD: advanced_attribution
Principle: Without source context, profile-driven demand cannot be measured.
| Score | Anchor |
|---|---|
| 1 | The handoff preserves useful source context (campaign parameters, booking source, or a coherent landing structure). |
| 0 | The handoff discards all observable source context. |
Evidence to capture: URL parameters, landing structure
Recommended intervention: Use a consistent, non-breaking source parameter on profile and booking links.
G. Measurement & Attribution — 5 points¶
Can activity originating from the profile be meaningfully measured?
GBP-MSR-01 — Website action carries observable source context (2 points)¶
Stage: measure · Severity: medium · Evaluation: deterministic · Applicability: required · requires: website_resolves · RAD: advanced_attribution
Principle: Profile-origin demand needs a measurable entry point.
| Score | Anchor |
|---|---|
| 2 | The website action includes a stable, non-breaking source parameter that distinguishes profile traffic. |
| 1 | A parameter exists but is inconsistent or likely to be stripped. |
| 0 | No observable source parameter distinguishes profile traffic. |
Evidence to capture: websiteUri query parameters
Recommended intervention: Use one consistent source parameter that survives redirects.
GBP-MSR-02 — Booking action carries observable source context (2 points)¶
Stage: measure · Severity: high · Evaluation: deterministic · Applicability: conditional · condition: online_booking_expected · requires: booking_resolves · RAD: advanced_attribution
Principle: A booking that cannot be attributed cannot be evaluated.
| Score | Anchor |
|---|---|
| 2 | The booking action carries a source parameter or a booking source field that identifies profile traffic. |
| 1 | Some attribution context exists but is incomplete. |
| 0 | Online booking is not expected, so this check does not apply. |
Evidence to capture: booking URL parameters, booking form fields
Recommended intervention: Preserve source context through the booking redirect or form.
GBP-MSR-03 — Destination structure allows profile-origin measurement (1 points)¶
Stage: measure · Severity: low · Evaluation: deterministic · Applicability: required · requires: website_resolves · RAD: advanced_attribution
Principle: Attribution should be observable without harming the handoff.
| Score | Anchor |
|---|---|
| 1 | The destination structure supports clean measurement without breaking the customer experience. |
| 0 | The destination structure prevents meaningful profile-origin measurement. |
Evidence to capture: landing URL and redirect behavior
Recommended intervention: Use stable landing URLs and avoid redirect chains that strip query context.
Hard caps¶
A cap is exceptional. It exists only where an observable failure can invalidate the rest of the diagnosis.
| Cap | Scope | Cap | Deterministic trigger | Rationale |
|---|---|---|---|---|
The profile is marked permanently closed (profile_closed) |
overall | 25 | profile_status = CLOSED_PERMANENTLY | A permanently closed profile can stop nearly every customer action. This is the only status cap; temporary closure is a strong signal, not a punitive cap. |
No meaningful customer action path (no_action_path) |
overall | 30 | phone_action_usable = False; website_action_usable = False; booking_action_usable = False; other_action_usable = False | If a customer cannot call, visit the site, book, or use another action, the profile cannot complete its job. |
Major business-identity mismatch (major_identity_mismatch) |
category A | 6 | identity_consistent = False | A material name, category, or destination mismatch makes every other identity signal unreliable. Caps Identity & Accuracy at 6/15. |
Broken primary website action (primary_site_broken) |
category F | 4 | website_destination_state in ['dead', 'unrelated', 'insecure'] | A broken primary website handoff is a handoff failure. It caps Handoff & Journey Continuity at 4/10 and is not also applied as a Conversion cap. |
Dead booking destination presented as a primary action (dead_booking_primary) |
category C | 10 | booking_is_primary_action = True; booking_destination_state in ['dead', 'unrelated'] | Advertising a dead booking destination is worse than not advertising booking. Caps Conversion & Actionability at 10/22. |
Category caps apply to the normalized category points before the overall cap. A cap is applied once. The verifier recomputes every trigger from facts.
Journey stages¶
| # | Stage | Coverage | Customer question | Checks | Owner data |
|---|---|---|---|---|---|
| 1 | Identify | scored | Is this the right business, in the right place, with a coherent public identity? | GBP-ID-01, GBP-ID-02, GBP-ID-03, GBP-ID-04, GBP-ID-05 | — |
| 2 | Understand | scored | Do I understand what this business does, where, when, and for whom? | GBP-ID-06, GBP-ID-07, GBP-ID-08, GBP-ID-09, GBP-SVC-01, GBP-SVC-02, GBP-SVC-03, GBP-SVC-04, GBP-SVC-05, GBP-SVC-06, GBP-SVC-07 | — |
| 3 | Trust | scored | Does the public reputation and content give me enough confidence to act? | GBP-TRU-01, GBP-TRU-02, GBP-TRU-03, GBP-TRU-04, GBP-TRU-05, GBP-TRU-06, GBP-TRU-07, GBP-TRU-08, GBP-CNT-01, GBP-CNT-02, GBP-CNT-03, GBP-CNT-04, GBP-CNT-05, GBP-CNT-06 | — |
| 4 | Act | scored | Can I take a useful next action with minimal friction? | GBP-CON-01, GBP-CON-02, GBP-CON-03, GBP-CON-04, GBP-CON-05, GBP-CON-06, GBP-CON-07, GBP-CON-08, GBP-CON-09, GBP-CON-10 | — |
| 5 | Handoff | scored | Does the journey remain coherent when I leave Google? | GBP-HND-01, GBP-HND-02, GBP-HND-03, GBP-HND-04, GBP-HND-05, GBP-HND-06 | — |
| 6 | Response | owner_data_required | What happens after I call or message, and how fast? | — | OD-CALL-ANSWER-RATE, OD-SPEED-TO-LEAD |
| 7 | Book | owner_data_required | Does a booking request become a scheduled job? | — | OD-BOOKING-CONVERSION |
| 8 | Customer | owner_data_required | Which profile-origin customers became jobs, and what revenue did they produce? | — | OD-GBP-REVENUE |
| 9 | Review | owner_data_required | Does every completed job feed a consistent review acquisition process? | — | OD-REVIEW-REQUEST |
| 10 | Measure | scored | Can profile-origin activity be distinguished and measured? | GBP-MSR-01, GBP-MSR-02, GBP-MSR-03 | — |
Owner-data questions (never scored)¶
These questions require CRM, phone, booking, messaging, or financial data. They do not reduce the public score.
| ID | Stage | Question | Why it matters |
|---|---|---|---|
| OD-CALL-ANSWER-RATE | response | Call answer rate | The profile can produce a call, but only the phone system can show whether it was answered. |
| OD-SPEED-TO-LEAD | response | Speed to lead | Response time affects whether a ready customer books; public data cannot prove it. |
| OD-BOOKING-CONVERSION | book | Booking conversion | A working booking link does not prove a booked job. |
| OD-REVIEW-REQUEST | review | Review request operations | Public reviews show the result, not whether the request process is consistent or selective. |
| OD-GBP-REVENUE | customer | Profile-origin revenue | Only authorized CRM and financial data can connect profile activity to booked revenue. |
Opportunity flags (never scored)¶
An optional RAD service is never the reason a business loses points.
| Flag | RAD module | Why it may matter |
|---|---|---|
| Financing | financing |
High-ticket trades may lose ready customers who cannot pay the full amount up front. |
| Maintenance plans or memberships | membership |
Recurring service can increase customer lifetime value. |
| Seasonal maintenance | maintenance |
Seasonal service can create repeat demand without a new acquisition cost. |
| Emergency routing | emergency_routing |
Urgent customers need one unmistakable path. |
| Text/SMS path | sms_messaging |
Some customers will not call. |
| AI or after-hours reception | ai_receptionist |
Missed after-hours demand can be captured. |
| Online estimate requests | online_estimates |
Complex jobs may need a scoped estimate before booking. |
| Review request automation | review_automation |
Consistent requests produce more current proof. |
| Missed-call recovery | missed_call_recovery |
A missed call is a ready customer. |
| Advanced attribution | advanced_attribution |
Profile-origin demand should be separable from other channels. |
| Video or job walkthrough | content_production |
Video can show work quality and team credibility. |
| Enhanced content cadence | content_production |
Useful updates and recent job media support trust. |
Cross-scorecard boundaries¶
| Question | GBP Scorecard | Website Scorecard | Local Visibility |
|---|---|---|---|
| GBP category quality | SCORE | — | explanatory only |
| GBP service coverage | SCORE | — | explanatory only |
| GBP phone, website, booking, or messaging action present | SCORE | — | — |
| Website destination resolves | SCORE handoff | — | — |
| Website HTTPS and certificate | SCORE handoff | SCORE | — |
| Website mobile form usability | — | SCORE | — |
| Website page speed | — | SCORE | — |
| Local Pack rank and grid visibility | — | — | SCORE |
| Review recency and owner response | SCORE | explanatory only | — |
| Review widget on the website | — | SCORE | — |
| Website conversion tracking | — | SCORE | — |
| GBP-origin source or UTM preservation | SCORE | — | — |
| GBP call-click, direction, and booking volume | OWNER DATA REQUIRED or authorized connected diagnostics | — | — |
| Organic ranking and query performance | — | — | SCORE |
The same defect is not scored by two scorecards in one run. The only deliberate overlap is HTTPS at the handoff; GBP caps Handoff, while Website Scorecard judges the owned site.
Fix mapping¶
Each check has a deterministic fix mapping in rubric.json. A mapping is metadata, not a sales recommendation.
| Check | Priority | Fix | RAD modules |
|---|---|---|---|
| GBP-ID-01 | critical | Confirm operational status and correct the public business name. | gbp_optimization |
| GBP-ID-02 | high | Choose the most specific accurate primary category. | gbp_optimization |
| GBP-ID-03 | medium | Remove unsupported additional categories. | gbp_optimization |
| GBP-ID-04 | critical | Publish one primary phone and make it tappable and consistent. | call_tracking |
| GBP-ID-05 | critical | Point the website action at the business's own primary domain. | gbp_optimization |
| GBP-ID-06 | high | Make the storefront or service-area configuration match the business model. | gbp_optimization |
| GBP-ID-07 | high | Publish accurate regular hours and mirror them on the site. | gbp_optimization |
| GBP-ID-08 | medium | Write a specific description around services, customer, and service area. | content_production |
| GBP-ID-09 | medium | Add verified attributes that answer practical buying questions. | gbp_optimization |
| GBP-SVC-01 | critical | Name every major service line in the profile. | gbp_optimization |
| GBP-SVC-02 | high | Prioritize the services the business most wants to sell. | gbp_optimization |
| GBP-SVC-03 | high | State emergency availability and connect it to one urgent action. | emergency_routing |
| GBP-SVC-04 | high | Write one clear problem-work-outcome sentence per service. | content_production |
| GBP-SVC-05 | medium | Group and order services so a customer can scan them. | gbp_optimization |
| GBP-SVC-06 | high | Align profile services with the website offering. | gbp_optimization |
| GBP-SVC-07 | low | Add category attributes that materially help a customer decide. | gbp_optimization |
| GBP-CON-01 | critical | Make the primary phone tappable everywhere. | call_tracking |
| GBP-CON-02 | high | Use a clear website action label and the own primary domain. | gbp_optimization |
| GBP-CON-03 | critical | Add one direct booking action with a relevant destination. | online_booking |
| GBP-CON-04 | medium | Add one business-owned messaging path with a response expectation. | sms_messaging |
| GBP-CON-05 | high | Provide a correct address and directions action for a storefront. | gbp_optimization |
| GBP-CON-06 | high | Make the first destination mobile-usable and free of blocking interstitials. | conversion_recovery |
| GBP-CON-07 | high | Make one urgent action unmistakable. | emergency_routing |
| GBP-CON-08 | medium | State the after-hours path and connect it to one action. | after_hours |
| GBP-CON-09 | high | Choose one primary action per intent and reduce competing actions. | conversion_recovery |
| GBP-CON-10 | medium | Remove stale numbers, domains, and booking destinations. | gbp_optimization |
| GBP-TRU-01 | high | Investigate recurring causes of low ratings; do not chase a number. | review_automation |
| GBP-TRU-02 | high | Build a consistent review-request process. | review_automation |
| GBP-TRU-03 | critical | Ask every completed customer for a review through one process. | review_automation |
| GBP-TRU-04 | high | Replace sporadic review campaigns with a repeatable post-job request. | review_automation |
| GBP-TRU-05 | high | Read recent negatives, fix the recurring cause, and respond publicly where appropriate. | review_recovery |
| GBP-TRU-06 | medium | Respond to reviews, especially recent negative ones. | review_automation |
| GBP-TRU-07 | low | Write short, specific replies instead of generic acknowledgements. | review_automation |
| GBP-TRU-08 | low | Ask customers to mention the job and result without scripting a fake review. | review_automation |
| GBP-CNT-01 | medium | Add a clear profile image and cover image. | content_production |
| GBP-CNT-02 | high | Replace stock imagery with real, permissioned business photos. | content_production |
| GBP-CNT-03 | high | Add captioned photos for each major service, including before/after where appropriate. | content_production |
| GBP-CNT-04 | low | Add a small number of recent job photos each month. | content_production |
| GBP-CNT-05 | low | Upload a current set of owner-provided photos. | content_production |
| GBP-CNT-06 | low | Publish occasional useful job or service updates. | content_production |
| GBP-HND-01 | critical | Repair the destination and serve the site over HTTPS. | conversion_recovery |
| GBP-HND-02 | high | Align the business name, logo, and location across Google and the site. | gbp_optimization |
| GBP-HND-03 | high | Update the profile and site from one source of truth. | gbp_optimization |
| GBP-HND-04 | critical | Repair or remove the booking action; use a branded working destination. | online_booking |
| GBP-HND-05 | medium | Keep one visible next action on the destination that matches the profile promise. | conversion_recovery |
| GBP-HND-06 | low | Preserve one stable source parameter through the handoff. | advanced_attribution |
| GBP-MSR-01 | medium | Use one consistent source parameter that survives redirects. | advanced_attribution |
| GBP-MSR-02 | high | Preserve source context through the booking redirect or form. | advanced_attribution |
| GBP-MSR-03 | low | Use stable landing URLs and avoid redirect chains that strip query context. | advanced_attribution |