First, the fields that decide whether you rank at all
Not every field on the profile carries the same weight. A handful of them are ranking levers and the rest are trust signals that help at the margin. If you only fix three things, fix these three, because they move the pin more than everything else combined.
Primary category. This is the single biggest lever on the whole profile. Google decides which searches you are even eligible for based on your primary category, so a plumber filed under "Contractor" instead of "Plumber" is fighting uphill for every plumbing search. Pick the category that names the exact trade a homeowner would type. Then add secondary categories for the real services you also sell (a roofer might add "Gutter cleaning service" or "Siding contractor"), but do not stack categories you do not actually do. Wrong or padded categories are one of the most common reasons a contractor never cracks the 3-pack.
Service-area setup. You serve an area, not a walk-in counter, so the profile has to be built as a service-area business (SAB) with your address hidden and your real coverage listed. List the towns and zip codes you actually drive to, not the whole metro to look bigger. An honest, tight service area beats a bloated one, because proximity to the searcher is a real ranking factor and padding it does not fool Google.
Business name. Use your real, registered name exactly as it appears on your truck and your license. Do not stuff it with keywords or cities ("Joe's Plumbing Naples Best Emergency Plumber"). Keyword stuffing the name is against Google's guidelines, it is the fastest way to get reported by a competitor, and it is a leading cause of suspension. The name field is a rule to follow, not a lever to game.
Get these three right before you touch anything else. A profile with perfect photos and a wrong primary category still loses. A profile with the right category and a clean service area is already in the race.
The complete field-by-field checklist
Here is the whole profile, top to bottom, with what to enter and why it matters. Work it in order. Most contractors have three or four fields left blank or filled wrong, and closing those gaps is the cheapest ranking work you will ever do.
| Field | What to do | Why it moves the pin |
|---|---|---|
| Primary category | Name the exact trade (Plumber, Roofing contractor, Electrician) | Decides which searches you rank for at all |
| Secondary categories | Add real add-on services only, no padding | Widens the searches you can appear in |
| Service area | List the towns and zips you actually drive to | Ties you to the searcher by proximity |
| Services list | Add every job type with a short honest description | Feeds long-tail "service near me" queries |
| Hours | Match how you take calls; mark holiday hours | Wrong hours drop you and annoy callers |
| Phone | One consistent local number, matching your site | NAP consistency; a call-tracking mismatch can hurt |
| Website | Link the page for that trade, not just the home page | Passes relevance and sends the click somewhere useful |
| Description | 750 characters, plain, name your trade and towns once | Trust signal; read by customers, minor rank value |
| Photos | Real job-site and truck photos, added monthly | Engagement signal; freshness helps |
| Attributes | Set what applies (24-hour, family-owned, veteran-led) | Filters and badges that catch the right buyer |
| Products / Services | Populate if your trade fits (fixtures, units, materials) | Extra surface area in the profile panel |
Two fields owners routinely leave blank cost them the most: the services list and the hours. The services list is where you can list every job type a homeowner searches ("water heater replacement," "panel upgrade," "tear-off reroof") with a short description, and it feeds the exact long-tail searches that turn into calls. Hours matter because Google will quietly deprioritize a profile that looks closed when someone searches, and nothing kills a lead faster than a customer calling a number your holiday hours say is shut. Fill both, keep them true, and you have already beaten most of the block.
Work the table top to bottom once, then set a reminder to re-check it every quarter. Google changes what fields exist and how they show, categories get renamed, a services entry drops off, an attribute you set clears itself. A profile is not a form you file and forget; it is a listing that drifts if nobody watches it. Ten minutes a quarter re-walking this list keeps the drift from costing you a spot in the pack.
Reviews: the lever most owners underuse
After categories and proximity, reviews are the biggest thing separating the three shops in the 3-pack from everyone below them. Google weighs both how many reviews you have and how recent they are, so a shop with 40 reviews and a fresh one every week outranks a shop with 200 reviews that all stopped two years ago. Volume without recency is a stale signal.
The fix is a review engine, not a review campaign. A campaign is a one-time push; an engine is a habit built into how you close a job. The mechanics that actually work for a contractor:
- Ask at the right moment. The best time is when the crew is packing up and the customer is happy, not three days later by email. Have the tech ask, then send the link by text before they leave the driveway.
- Make it one tap. Use your profile's short review link, wired into a text your staff can send from their phone. Every extra step loses a review. A link that opens straight to the star box converts far better than "search us on Google."
- Reply to every review, good and bad. A short, plain reply that names the job and the town is a freshness and relevance signal, and it shows the next reader you are a real shop that answers.
- Never buy reviews or gate them. Bought reviews and "only send the link to happy customers" schemes violate Google's policy, get caught, and can wipe your review count or suspend the profile. The honest slow way is the only way that holds.
One steady review a week from real jobs, replied to promptly, will do more for your map position over a year than any single field on the profile. It is unglamorous, it never finishes, and it is exactly why most of your competitors do not do it. That is the opening. (Deep review-reply writing at scale and reputation repair are their own discipline; here we mean the acquisition habit that feeds the pin.)
Photos, posts, and Q&A: the freshness signals
These three fields will not, by themselves, drag you from page two into the 3-pack. What they do is tell Google the profile is active and tended, and an active profile ages better than a set-and-forget one. Think of them as the difference between a truck that gets washed and a truck that sits.
Photos. Add real ones, monthly. Job-site progress shots, the crew, the truck, before-and-after work. Skip stock photos and logos-only. Geotagging photos before you upload is a small, legitimate edge that ties the image to your service area. A profile with 30 real job photos reads as a working shop; a profile with a logo and one blurry storefront reads as abandoned. Photos also carry through into how a homeowner decides which of the three pins to tap, so they earn the click, not just the rank.
Posts. Google Business Profile posts are short updates that show in your panel: a finished job, a seasonal reminder ("book gutter cleaning before leaf season"), a service you want to push. Post weekly or every two weeks. Posts expire, so cadence beats any single post. They are not a huge ranking lever, but they are a live signal and free real estate in front of a customer already looking at you.
Q&A. The questions section on your profile is public and anyone can answer, including a competitor or a confused stranger. Seed it yourself with the real questions homeowners ask ("Do you offer emergency service?" "What areas do you cover?" "Do you give free estimates?") and answer them plainly. If you leave it empty, someone else fills it, and a wrong public answer sits on your profile until you catch it. Owning your Q&A is ten minutes of work that most contractors never do.
None of these three is a heavy lever. Together they are the maintenance that keeps a profile from going stale, and a stale profile slowly loses ground to the shop next door that keeps its own tended.
NAP consistency: the trust signal you can break offsite
Here is the field that lives inside your profile but gets broken outside it. NAP stands for Name, Address, Phone, and Google cross-checks the name, number, and coverage on your profile against how your business appears everywhere else on the web: your website, Yelp, the BBB, Angi, your chamber listing, old directories you forgot about. When those do not match, Google trusts the profile less, and less trust means a lower pin.
The common ways a contractor's NAP drifts out of sync:
- An old phone number still listed on a directory from three years ago, or a call-tracking number on the site that does not match the profile.
- A business name variation, "ABC Plumbing" here, "ABC Plumbing LLC" there, "ABC Plumbing & Drain" somewhere else.
- An old address from before you moved or went service-area-only, still pinned on listings you never updated.
The checklist item is simple to state and tedious to do: your Name, Address, and Phone must read identically on your profile and on every citation across the web. On the profile itself, that means one consistent local phone number and a name that matches your site exactly. Cleaning up the citations that live off the profile (auditing where your business is listed, fixing the mismatches, and killing the duplicates) is real work, and it is the part of map-pack ranking that most owners never realize is dragging them down.
This is where the profile connects to the wider map job. Optimizing the fields inside the dashboard gets you most of the way. Citation cleanup and a geo-grid track across the whole service area (to see where you rank block by block, not just at your own address) are the rest of it. That off-profile cleanup is its own body of work, and it is exactly what our Local SEO and Google Maps service handles alongside the field work in this checklist.
What optimization can't fix, and where the profile ends
An optimized profile is necessary and it is not everything. Knowing where the profile's job ends keeps you from paying to "optimize" things that are not actually profile problems, and it keeps you from expecting the map to do work that belongs to another lane.
Proximity you can't outwork. The single strongest factor in the 3-pack is how close you are to the person searching. A homeowner across town from your shop may see three competitors closer to them, no matter how clean your profile is. You cannot fake your way past this with a fake pin (that gets you suspended), but you can compete for it honestly with a tight service area, strong reviews, and consistent citations, which is why the whole-service-area geo-grid matters more than your rank at your own front door.
The list under the map is a different game. Below the three map results sits the organic list of blue links. That is won by your website: its content, its structure, and the links pointing at it. Optimizing your profile does nothing for the organic list, and optimizing your website does little for the map. They are two separate ranking systems on the same results page, and they need two separate bodies of work. We keep them in their own lanes on purpose.
AI answers are a third game again. Whether ChatGPT, Gemini, or Google's AI Overviews name your shop when a customer asks it for a contractor is its own discipline, driven by your site and how it is structured to be cited, not by your Business Profile.
Paid map placement is not optimization. Local Services Ads and the Google Screened badge that sometimes sit above the map are paid placement, a separate channel with its own budget and rules. They are not a substitute for a ranked profile and they are not what this checklist buys.
So run the checklist, and run it fully. It is the foundation and it is the part with the best return for the least money. Just know the pin is one of four systems fighting for that results page, and a shop that wins the whole page runs all four in their own lanes, not one lane pretending to be all of them.