Google Business Profile Mastery
Claim, verify, and fill every Google Business Profile field that moves the local pack: primary and secondary categories, services, attributes, photos, posts, Q&A, products, booking, messaging, and the GBP API for multi-location ops.
Google Business Profile (GBP) — formerly Google My Business — is the single highest-leverage asset in local SEO. It controls your appearance in the local pack, Google Maps, AI Overview merchant carousels, and Knowledge Panel. A fully optimized profile routinely outranks better websites with weaker profiles. This module is the field-by-field implementation guide.
TL;DR
- Every GBP field is a ranking input. Primary category and review profile carry the heaviest weight, but completeness across all fields acts as a quality multiplier — a fully filled profile beats a 60% one even when both have identical reviews.
- Photos and Posts move the needle more than most owners think. Profiles with 10+ photos receive 35% more clicks to website and 42% more direction requests according to Google’s own published data.
- GBP automation requires the GBP API. For 10+ locations, manual updates do not scale. The Business Profile Performance API (post-2022 successor to the GMB API) handles bulk operations programmatically.
The mental model
Google Business Profile is your storefront on Google’s high street. The high street is Google Maps + the local pack. Just like a physical storefront, the more clearly you signal what you sell, who you are, and what people think of you, the more passers-by walk in.
Each field on the profile is a sign in your window: category is the sign that says “we are a dentist”, reviews are the sign that says “127 people thought we were great”, photos are the window display itself, posts are the daily chalkboard out front. Google’s algorithm is the urban planner deciding which storefronts are visible from the sidewalk — it rewards storefronts that look open, busy, and accurate.
Deep dive: the 2026 reality
Claiming and verification
Visit business.google.com > Manage now > search for your business. Three outcomes:
| Status | Action |
|---|---|
| Listed and claimed by you | Sign in, manage |
| Listed and unclaimed | Click “Claim this business”, verify via available method |
| Listed but claimed by someone else | Request ownership transfer (5-7 day process) |
| Not listed | Create new profile, verify |
Verification methods (2026):
- Postcard by mail (5-14 days, original method, still most common)
- Phone call for select categories
- Email for some service-area businesses
- Video verification (recorded walk-through showing signage, equipment, and address — required for many categories since 2022)
- Live video call for complex cases
Google may suspend your profile if it suspects fake business address, virtual office, or guideline violation. Suspensions require reinstatement requests with proof of operation (utility bill, business license, photos).
Every field that matters
Business name
Use the legal trade name as it appears on signage and licenses. Do not keyword-stuff. “Joe’s Plumbing” is correct. “Joe’s Plumbing - Best Plumber in Austin Same Day Service” is a violation that can trigger suspension and is reportable by competitors via the Redressal form.
Primary category
The single highest-impact field. Pick the most specific match. Categories are a closed taxonomy — Google does not let you write your own.
Use GMB Spy (Chrome extension) or PlePer Local SEO Tools to see what category your top-ranking local competitors use. If three of the top five rank as “Mexican Restaurant” not “Restaurant”, set yours to “Mexican Restaurant”.
Secondary categories
You can add up to 9 secondary categories for a total of 10. Use them sparingly — only for categories you genuinely serve. Adding “Pediatric Dentist” when you do not see kids is a guideline violation.
Services and service areas
Under the Services tab, list every service with name, description, and price (where allowed by category).
Service: Teeth Whitening
Description: In-office Zoom whitening, 60 minutes. Includes
consultation, shade matching, and 2-week touch-up gel.
Price: $475
Duration: 60 min
For service-area businesses, set service areas by ZIP code or city. Up to 20 areas. Hide the storefront address if you serve customers at their location only.
Attributes
Click “Edit profile” > “More”. Attributes are checkboxes Google offers based on category — accessibility (wheelchair-accessible entrance, restroom), amenities (free Wi-Fi, outdoor seating), payment (accepts crypto, Apple Pay, Google Pay), planning (appointment required, by reservation), highlights (women-owned, veteran-owned, Black-owned, LGBTQ+ friendly), and dozens more.
Set every applicable attribute. Many attributes feed into AI Overview filtering and near me qualifiers (“dentist near me with wheelchair access”).
Hours and special hours
Standard hours plus Special hours for holidays and one-off closures. Profiles that do not update for major holidays get marked “may be closed” by Google’s predictive system, which kills click-through.
Phone number
Use a local phone number, not a tracking number from CallRail or similar that proxies to a different area code. NAP consistency matters here — see Module 54.
Website URL
Point to the most relevant location-specific page, not always the homepage. For multi-location businesses, each profile gets the location’s own page (acme.com/austin).
Business description
750 characters, displayed in the profile sidebar. Include primary services, location, and unique value proposition. Avoid keyword stuffing — Google’s classifier reads this and penalizes spam.
Hill Country Dental is a family-owned practice in South Austin
serving the 78704 community since 2014. We provide preventive,
cosmetic, and restorative dentistry, including same-day crowns
with CEREC technology. Most major insurance accepted; financing
available through CareCredit. Saturday appointments available.
Photos and videos
| Photo type | Recommended | Why |
|---|---|---|
| Logo | 1 | Branding |
| Cover | 1 | First impression |
| Exterior | 3-5 | Helps customers find you |
| Interior | 5-10 | Trust signal |
| Team | 2-5 | Human connection |
| Products / services | 10+ | Buying decision |
| At work | 5+ | Authenticity |
Upload at minimum 25 photos in the first month, then 2-3 per week ongoing. Profiles with frequent photo uploads get more impressions per Google’s published data.
Videos: 30 seconds max, MP4 format, sub-100MB. Add 1-3 short clips of the space, team, or service in action.
Posts
Free 1,500-character announcements that appear in your profile. Four types:
- Updates — general news, events, content
- Offers — promotions with start/end dates
- Events — date-bounded events
- Products — featured products with photos and prices
Posts expire after 7 days (except Events, which run their date range). Post 1-3 times per week. Posts include a CTA button (Book, Order, Buy, Learn more, Sign up, Call). They do not pass equity but they correlate with engagement and conversion.
Q&A
Anyone can ask a question on your profile. Anyone can answer. Seed Q&A yourself with the 10-15 most common questions you get — write the answer from the business owner account so it carries the verified badge.
Q: Do you accept walk-ins or do I need an appointment?
A: We see walk-ins for emergencies (toothache, broken tooth)
during business hours. For cleanings, exams, or cosmetic work,
appointments are required. Same-day appointments are often
available — call (512) 555-1234.
Products
Mini e-commerce display in your profile. List individual items or services with photos, prices, and short descriptions. Especially impactful for retail, restaurants (menus), and service businesses with package pricing.
Booking and Messaging
- Booking — integrate a booking provider (Square Appointments, Booksy, Vagaro, Acuity) so customers book directly from the profile. Reduces friction and feeds engagement signals.
- Messaging — enable chat. Respond within 24 hours. Profiles with response time over 24 hours get the messaging feature deprioritized.
Review responses
Respond to every review — positive and negative — within 7 days. See Module 55 for response templates.
The GBP API (multi-location)
For 10+ locations, manual edits do not scale. Use the Business Profile Performance API and Business Information API.
import { google } from 'googleapis';
const auth = new google.auth.GoogleAuth({
credentials: JSON.parse(process.env.GBP_SERVICE_ACCOUNT),
scopes: ['https://www.googleapis.com/auth/business.manage']
});
const mybusiness = google.mybusinessbusinessinformation({ version: 'v1', auth });
await mybusiness.locations.patch({
name: 'locations/12345678901234567890',
updateMask: 'regularHours,specialHours,phoneNumbers',
requestBody: {
regularHours: { /* hours object */ },
specialHours: { /* holiday hours object */ },
phoneNumbers: { primaryPhone: '+1-512-555-1234' }
}
});
The API supports bulk updates, photo uploads, posts, and Q&A management. Rate limits apply (around 600 requests per minute per project as of 2026).
Visualizing it
flowchart TD
A[User local query] --> B[Google identifies intent + location]
B --> C[Query GBP index by proximity]
C --> D[Score profiles by completeness + relevance + reviews]
D --> E[Primary category match]
D --> F[Photos + posts + activity recency]
D --> G[Review count + rating + recency]
D --> H[Citation consistency + website]
E --> I[Composite score]
F --> I
G --> I
H --> I
I --> J[Top 3 in local pack]
I --> K[Map results]
I --> L[AI Overview carousel]
Bad vs. expert
The bad approach
A coffee shop owner claims GBP, sets primary category to “Restaurant”, uploads 2 photos (a logo and one front-of-house shot taken 3 years ago), writes “We have great coffee. Come visit us!” as the description, ignores Posts and Q&A, never responds to reviews. They have a 4.2 rating with 14 reviews, last review from 2024.
In the local pack for “coffee near me” they appear position 7. They blame Google’s algorithm.
This fails because the profile signals “abandoned” to Google. Category mismatch (Restaurant vs Coffee Shop) hurts relevance. Two stale photos signal inactivity. No Posts, no Q&A, and no review responses signal disengagement. The composite score puts them below competitors who do the basic work.
The expert approach
Same coffee shop. The owner runs a 30-day GBP sprint:
gbp_sprint:
week_1:
- change_primary_category: "Coffee Shop"
- add_secondary_categories: ["Espresso Bar", "Cafe", "Breakfast Restaurant"]
- upload_photos: 30 (interior, exterior, drinks, food, team)
- rewrite_description: 720_chars_with_specifics
- set_attributes: [wifi, outdoor_seating, vegan_options, oat_milk, women_owned]
- configure_services: [pour_over, espresso, cold_brew, pastries]
week_2:
- seed_qa: 12_questions
- publish_post: 1
- request_reviews_at_checkout: enabled
- book_table_link: configured
week_3_4:
- daily_post_or_photo
- respond_to_every_review_within_24h
- track_insights_in_gbp_dashboard
Result by day 60: 38 new reviews (up from 14 to 52), photo uploads 60+, response rate 100%, Posts engagement 14% click-through. Local pack position 2 for “coffee shop near me” within a 1-mile radius, position 1 for “best coffee Bushwick”.
This works because every relevant signal — category specificity, photo recency, review velocity, owner engagement — was systematically activated.
Do this today
- Sign in to Google Business Profile Manager (
business.google.com). If unclaimed, claim and start verification (postcard or video). If claimed by someone else, file ownership transfer. - Set the most specific primary category. Use GMB Spy Chrome extension to compare against the top 3 ranking competitors in your area. Mismatch is the #1 cause of poor local pack placement.
- Add up to 9 secondary categories that genuinely apply. Skip categories you do not actually serve.
- Upload at minimum 25 photos: 5 exterior, 10 interior, 5 team, 5 services/products. Use real photos from the last 12 months — Google detects stale stock imagery.
- Write a 600-750 character business description with location, services, and unique value. Avoid keyword stuffing.
- Configure all attributes Google offers for your category (Edit profile > More). Accessibility, payment, planning, amenities — every relevant box checked.
- Add Services with prices where category permits. Add Products if retail or restaurant.
- Seed Q&A with the 10 most common customer questions, answered from your verified owner account.
- Enable Booking (integrate Square, Vagaro, Booksy, Acuity, or your category-specific provider) and Messaging. Set response goal to under 24 hours.
- Schedule 1-3 Posts per week. Use Updates for content, Offers for promos, Events for dated events. Track post-level engagement in GBP Insights.
- For multi-location operations, request access to the Business Profile API at
developers.google.com/my-business. Build a bulk update script before location count exceeds 10. - Audit your GBP Insights monthly: search views, profile views, calls, direction requests, photo views. Falling metrics with a steady listing usually means a category or proximity competitor changed.
Mark complete
Toggle to remember this module as mastered. Saved to your browser only.
More in this part