Case file 01 · Painting contractor · Texas, three metros

Fifteen days from baseline to a measurably bigger map.

A painting contractor covering three Texas metros was ranking around its shops and nowhere across the rest of each city. Four keywords, one grid, fifteen days to the first re-scan.

46.8% 66.9%

Top-three map coverage

Best keyword, 15 days

54 134

Direction requests

Up 148%, metro one

17 29

Phone calls

Up 71%, metro two

4 of 4

Keywords improved

No keyword went backwards

What that extra demand is worth

$9,100 a month

About $109,000 a year, from one of three metros.

13 calls x 35% close rate x $2,000 average job

Estimated, not invoiced. The leads are measured, the close rate and the job value are assumptions we hold under the industry benchmark. See the whole calculation

"affordable painters"

Top-three coverage 46.8% to 66.9%

Before Google Maps ranking grid before for "affordable painters", Painting contractor
After Google Maps ranking grid after for "affordable painters", Painting contractor

The situation

What the baseline actually showed.

This contractor had the problem almost every multi-location trade has and almost none of them can see. Each shop ranked in the blocks immediately around it and disappeared a few miles out. On paper the business covered three metros. On the map it covered three neighborhoods.

A single rank check hides this completely. Search from the office and the business looks like it is winning. The grid scan is what makes the gap visible, because it asks the same question from dozens of points spread across the whole service area and reports every answer, not the flattering one.

The baseline came back with the pattern you would expect. Coverage was strongest on the broadest term and weakest on the terms that describe the jobs the company actually wanted, which is the wrong way around. High-intent searches were the ones going to competitors.

Goals and measurement window

What we set out to move.

The engagement was scoped around four commercial terms, chosen because they describe work the company sells rather than work it tolerates.

  • Lift top-three coverage on all four terms across the full grid, not just near the shops
  • Close the gap between the broad term and the high-intent terms
  • Hold coverage in each metro independently, so one strong market does not mask a weak one
  • Convert the coverage into measurable profile activity: calls, clicks and direction requests

Measurement window: February to April 2025

What we implemented

The work, in the order it ran.

  1. Grid scan and baseline

    February 12, 2025

    Grid locked and baselined across all four keywords in each metro. This produced the fixed set of points every later scan is measured against.

  2. Competitor teardown

    Same week

    The three businesses holding the pack on the highest-value term were pulled apart: primary category, secondary categories, how deep the service list ran, review rate and recency. The gaps that explained their positions were ranked by how fast they could be closed.

  3. Profile rebuild

    Weeks one to three

    Categories reset against the benchmark rather than against habit. Every service the company sells listed and described instead of the usual three. Service area set to where the crews genuinely work, because an optimistic radius spreads the same signal across territory the company cannot service. Name, address and phone made identical everywhere they appear.

  4. Review system

    Built in, then ongoing

    Review requests attached to job close-out so they keep running without being chased, with prompts that encourage the reviewer to name the service and the area.

  5. Re-scan, report, adjust

    February 27, 2025

    Same grid, same points, same keywords. Fifteen days after baseline, all four terms had moved up.

This is the same sequence every account runs. See the full process

Before and after

Every keyword we tracked, including the ones that barely moved.

Top-three coverage is the share of grid points where the profile held position one, two or three. Same grid, same points, both dates.

Keyword Before After Scan dates Days
affordable painters 46.8% 66.9% Feb 12, 2025 → Feb 27, 2025 15
best painter 46.8% 61.5% Feb 12, 2025 → Feb 27, 2025 15
whole house painter 50.3% 59.8% Feb 12, 2025 → Feb 27, 2025 15
interior paint near me 27.2% 34.9% Feb 12, 2025 → Feb 27, 2025 15

"affordable painters"

46.8% → 66.9%

Before grid, "affordable painters", Painting contractorAfter grid, "affordable painters", Painting contractor

"best painter"

46.8% → 61.5%

Before grid, "best painter", Painting contractorAfter grid, "best painter", Painting contractor

"whole house painter"

50.3% → 59.8%

Before grid, "whole house painter", Painting contractorAfter grid, "whole house painter", Painting contractor

"interior paint near me"

27.2% → 34.9%

Before grid, "interior paint near me", Painting contractorAfter grid, "interior paint near me", Painting contractor

What the coverage produced

Rankings are the input. This is the output.

Read from the client's own Google Business Profile performance panel. Each row compares a period against the period immediately before it, or against the same period a year earlier where the row says so.

Metric Before After Change Window
Direction requests 54 134 +148% Period to March 14, 2025 against the prior period
Phone calls 17 29 +71% Period to April 25, 2025 against the prior period
Website clicks 43 70 +63% Period to April 25, 2025 against the prior period
Phone calls 18 31 +72% Last 30 days against the prior 30
Direction requests 25 43 +72% Period to April 20, 2025 against the prior period
Website clicks 6 9 +50% Period to April 20, 2025 against the prior period
Website clicks 50 64 +28% Last 30 days against the prior 30

Source: GBP performance panel, metro one · GBP performance panel, metro two · GBP performance panel, metro three · GBP performance panel, account level

What that demand is worth

The calculation, with every assumption showing.

One number here is measured and two are assumptions. They are laid out separately so you can throw ours away and put your own close rate and your own average job in their place. Your numbers are the only ones that matter.

+13 calls a month
Measured
Measured. Phone calls went 18 to 31 over thirty days against the prior thirty in metro two. Metro one and metro three are not counted here, because their panels show directions and clicks rather than calls, so the real number across all three profiles is higher than this.
35% close rate
Assumption
Assumption, held deliberately under the benchmark. Invoca puts phone lead conversion at 46% across home services, and the industry booking rate average is 42%.
$2,000 average job
Assumption
Assumption, held at the low end. The 2026 national average for a full interior repaint is about $3,500, with most jobs landing between $1,800 and $6,500.

13 calls x 35% close rate x $2,000 average job

$9,100 a month

About $109,000 a year, from one of three metros.

Read this before you quote the number

This is a model, not an invoice. The lead figure is measured off the client’s own Google Business Profile. The close rate and the job value are assumptions, both held at or below the published benchmark, and both printed above so you can replace them with your own. We did not follow these leads to signed jobs or paid invoices, so this is what the extra demand is worth at those assumptions, not revenue we have verified.

Benchmarks used: Invoca home services lead conversion benchmarks 2026, phone leads convert at 46% · Angi, cost to paint a house interior, 2026 data

How this was measured

So you can check it rather than trust it.

Rankings are measured with a geo-grid, not a single rank check. The scanner queries Google Maps from a fixed lattice of points spread across the client’s service area and records the business position at every point. Top-three coverage is the share of those points where the profile holds position one, two or three.

The same grid, the same points and the same keywords are used for the baseline and for every re-scan. Moving the grid between scans would make the comparison meaningless, so the grid is locked at baseline and never changed.

Call, website click and direction request figures are read from the client’s own Google Business Profile performance panel, comparing a period against the immediately preceding period of equal length, or against the same period a year earlier where stated.

Every scan carries its date. Both dates are printed next to every row in the keyword table below, so any claim on this page can be checked against the pair of images it came from.

What these numbers do not say

  • These results were selected. They are not typical of every engagement and they are not a forecast of yours.
  • Google Business Profile performance figures measure demand reaching the profile. They are not signed jobs and they are not revenue. This page does not claim either.
  • Nobody can guarantee a Google ranking. Positions move with competitors, categories, proximity and Google’s own updates.
  • The engagement windows for the ranking scans and the performance panels are not identical. Ranking movement is measured over fifteen days. The profile activity figures cover the periods stated in each row and run later, which is the normal lag between a position changing and the volume following it.

Client name, city and profile ID are withheld on every case study we publish. Contractors get called by vendors the moment they show up in a results page, so we do not put them there.