Multi-location ops

Why a five-location shop needs a different Google Business Profile cadence than a single-location shop

Single-location GBP ops runs on a weekly digest and a Monday retro. At three or more listings, the same cadence breaks — desk time stops being the bottleneck, per-location NAP hygiene and per-location reply-rate decay become the new failure modes. Here is the per-listing cadence that holds across N listings.

Repwyn team · Multi-location ops8 min read

Why a five-location shop needs a different GBP cadence than a single-location shop

A single-location shop has one GBP listing and one owner who reads the morning digest before the desk opens. The cadence is a thin one: weekly digest, Monday retro, a polarity-aware reply that fires same shift on a 0.3-star drift. It holds because every signal the desk reads is the same signal Google reads — one listing, one address, one review queue, one owner-response thread.

At three or more locations the cadence starts breaking. The desk time is no longer the bottleneck — there is whole-team time on the manager-of-managers handoff, on duplicate-listing cleanup, and on per-location reply-rate decay that an aggregate dashboard never surfaces. Google reads each listing independently; the local three-pack at each address is its own ranking calculation; an aggregate (brand-level) reply rate is not a substitute for a per-listing reply rate. The weekly digest that worked at one location camouflages the drift on the slowest-responding location until that listing has fallen out of its local three-pack.

The fix is structural, not heroic. It is a per-location feed that scores polarity on each listing independently, a per-location reply rate that compounds on each address, escalation rules that route when one location crosses an SLA, and a manager-of-managers handoff that lets the same operator own every listing without inheriting one listing's quiet decay. The four operations below are the operating cadence that holds across N listings — without growing the operations team in proportion to the listing count.

NAP consistency and the duplicate-listing trap

NAP — Name, Address, Phone — is the single most-leveraged GBP signal Google reads at every location. The address has to match the address on the brand site, on the covering-site aggregators, and on every citation across the web, character for character. The abbreviate-vs-spell-out question (Street vs St, Suite vs Ste) is the one that creates the cleanest duplicates — Google reads the slight variation as a separate business and rewards it with its own listing page, its own photo threshold, its own review queue, and its own local three-pack slot.

The duplicate-listing trap is the operational one. A duplicate that has been indexed for two years is, by Google's reckoning, the canonical location — even when the owner's actual listing is the one Google created. The duplicate out-ranks the brand page because it has more reviews, more photos, and a longer history on the address. The owner's actual listing sits at a handicap every other signal has to overcome. The fix is to claim the duplicate first, mark it as a duplicate of the real listing, and ask Google to merge them through the support channel — but the merge itself can take sixty to ninety days, and the mapping cluster around the address can survive.

Three NAP signals the per-location feed has to watch

  • Address formatting across the brand site and the covering aggregators (Yelp, Apple Maps, Bing Places, Facebook, Nextdoor) — the slightest variation creates a candidate duplicate Google can index independently.
  • Phone number line consistency — every listing per location has to carry the same local phone number, and the tracking-phone-number substitution that some marketing teams run on web campaigns is the most common foot-gun.
  • Hours of operation drift — the Sunday hours, the holiday hours, and the per-location specials hours have to be mirrored across every listing, every aggregator, and the brand site; mismatches trigger a "permanently closed" suggestion Google has been known to honor automatically.

Per-location reply rate is the only signal that scales linearly with location count

Most multi-location dashboards report reply rate at the brand level — a single number, averaged across every listing, presented in the Monday retro. The number reads well; it tracks up over time; it makes the multi-location cadence look healthier than it is. Google's indexer does not read it that way. The local three-pack at each address is its own ranking calculation, built on its own listing's reply rate, reply velocity, and review volume over the trailing ninety days. A location with a 12% reply rate competing against three sister listings at 95% does not pull its weight up by averaging; it pulls its own listing's prominence score down on every reply the other three locations earn.

Polarity scoring compounds the gap. A polarity-aware feed on a single listing scores every review on arrival against the themes the listing cares about — wait, billing, response time, follow-up. At N listings, the same feed has to score per listing; the polarity on "response time" at Location A and the polarity on "response time" at Location B are independent signals, and the themes that drift at Location A (a transparent-quoting gap on a $4,800 compressor swap) are not the themes that drift at Location B (a response-time gap on a Sunday no-cool Sunday). The aggregate polarity is a false composite, and the per-location theme scores are the only signal that scales linearly with the listing count.

Three reply-rate signals the per-location feed owns

  • Per-listing reply rate over a trailing 90-day window — every listing individually, not the brand-level average; one listing at 12% is one listing out of the local three-pack.
  • Per-listing reply velocity — the gap from review arrival to owner reply, scored per listing; same-shift replies compound ranking credit on the specific address that earned them.
  • Per-listing polarity on the two themes that caused the last quarterly dip, by address — Location A does not inherit Location B's themes; the rule set is per-listing, not brand.

Polarity themes drift differently across locations

The single-location cadence reads the polar themes as a single feed — one theme, one threshold, one rule. At N listings the same themes drift independently. Location A drifts on "response time" because its on-call tech is overloaded on weekends; Location B drifts on "transparent quoting" because its dispatcher quotes over the phone without a written line-set; Location C drifts on "follow-up" because its follow-up call never reaches the customer. The themes are not interchangeable, and a centralised feed that fires the same rule across every listing will mis-spend attention on Location B's response-time theme when the actual gap is on Location B's transparent-quoting theme.

The structural answer is one centralised feed with per-location escalation rules — the feed routes the same polarity score to the same operator, but the rule set underneath is per listing. Location A gets the "response-time" rule with the Sunday escalation path; Location B gets the "transparent-quoting" rule with the quote-template rebuild; Location C gets the "follow-up" rule with the call-list reattempt cadence. The operator watches one feed; the per-listing rule sets stay separate; the same alertness that catches a 0.3-star drift at one listing now catches a different drift at the next, with the threshold tuned to the local reality.

The compounding effect is substantial. A centralised feed with per-location rules produces the same same-shift lever at every address — the operator owns the alert regardless of which listing fired it, the four-part reply cadence ships unchanged, and the ranking credit compounds per listing rather than per brand. The cost is a thin rule set per location (one threshold per theme, per listing) and a manager-of-managers escalation that hands a listing off to the local manager when the alarm crosses a threshold the centralised operator cannot move.

Owner coverage and same-shift escalation per listing

The structural question every multi-location owner reaches by the third listing is: who owns each location at 7am, when the reply crosses an SLA, and how the manager-of-managers handoff works? The centralised answer (one operator reads every feed) works for the first thirty minutes of the morning and collapses when three locations cross the SLA at the same hour. The fully distributed answer (each location's manager owns everything) works for the largest operators and is unaffordable for anyone below a hundred listings. The cadence that holds for the middle — three to twenty listings — is a hybrid: one centralised operator owns the feed across all listings during business hours, the per-location manager owns the alert that the centralised operator cannot move, and the escalation chain sleeps during the off hours but wakes on a same-shift trigger.

Escalation chain that scales across N listings without growing the team

  • Business hours — centralised operator owns every feed; reply same shift on every listing; per-location rule sets determine which theme fires and at what threshold.
  • SLA crossings (two or more listings cross the response-time threshold in the same hour) — automatic escalation to the manager-of-managers; the centralised operator stays on the lowest-friction reply, the manager handles the routing decision.
  • Off hours (Sunday 7am on the HVAC vertical) — the on-call tech at the listing closest to the emergency owns the alert; centralised operator is paged only on a multi-listing simultaneous alarm.
  • Quarterly retro — per-location theme review, not brand-level; one listing's transparent-quoting gap does not get averaged with another listing's response-time theme in the same retro line.

Does an aggregate (brand-level) reply rate protect my local-pack slots on every location?

No. Google's indexer reads each listing's reply rate, reply velocity, and review volume independently when calculating the local three-pack at each address. A 95% brand-level reply rate that includes one listing at a 12% reply rate will still let that one listing fall out of its local three-pack. The only signal that protects every slot is per-listing reply rate — every listing individually, scored against its own trailing-90-day window. The brand-level dashboard is a lagging summary; the per-listing feed is the lever.

When should one rule set fit all locations vs per-location themes?

Below ~three locations, one rule set fits all — the themes drift slowly enough that a single threshold catches the dip. Above three, the rule set has to be per listing. Location A's response-time theme and Location B's transparent-quoting theme are independent signals; a centralised rule will mis-spend attention on the wrong theme at the wrong address. The structural answer is one feed with per-location rule sets — the operator watches one stream, the rules underneath stay separate, and the per-location polarity scores compound ranking credit on the listing that earned them.

How do I handle duplicate listings that have already out-ranked my own?

Claim the duplicate first, mark it explicitly as a duplicate of your real listing through GBP's "duplicate" suggestion flow, and request a merge through Google Business Profile support. The merge itself can take sixty to ninety days, and the mapping cluster around the address will often survive — the duplicate still pulls clicks, still collects stray reviews, and still competes with your listing until Google re-crawls the area. In the interim, treat the listing-merge cleanup as a separate operations line on its own, not folded into the reply cadence, and budget two quarters of consistent same-shift replies on the real listing before the ranking math catches up to the address.

What's the smallest shop size at which multi-location GBP management stops being a flat-line cost?

Below three locations, a weekly digest and a Monday retro cover the multi-listing cadence cheaply — the per-listing reply rate does not need to compound yet. Above three, the cost shifts from a flat digest to a per-location feed that scales linearly with the listing count, and the manager-of-managers handoff becomes a real cost line. The break point most multi-location operators cite is five listings: at five, the per-location feed pays for itself in roughly one quarter when the dispatcher labor is above $22/hour and any one listing handles more than ~60 reviews per quarter. Below five, the centralised digest is the honest answer; above five, the per-location feed is the only cadence that holds.

See it on the HVAC vertical and the pricing page

The Northgate case study ships pre-scoped to the HVAC vertical — four-truck shop across five service locations, per-location reply-rate decay caught on the listing that lags, manager-of-managers escalation rule set tuned to the Sunday no-cool surge. Open the vertical to watch the per-location feed rebuild ranking credit on the slowest-responding address in real time.

See it live on the HVAC vertical

Northgate Heating & Cooling, four-truck shop, 5 channels watched.

When the same per-location cadence is what the listings need on every address, the pricing page lays out what the multi-location feed costs once the per-listing reply rate + per-location escalation rules are wired up — theme scoring per listing, manager-of-managers escalation, and the four-part reply cadence that compounds ranking credit on every address independently. The multi-location tier is the line that wires per-location reply rate + per-location escalation; the single-location tier stops being the right answer at three listings.

See the same-shift pricing

Per-location theme scoring, same-shift escalation per listing, and the four-part reply cadence — laid out by tier.

Frequently asked questions

Does an aggregate (brand-level) reply rate protect my local-pack slots on every location?

No. Google's indexer reads each listing's reply rate, reply velocity, and review volume independently when calculating the local three-pack at each address. A 95% brand-level reply rate that includes one listing at a 12% reply rate will still let that one listing fall out of its local three-pack. The only signal that protects every slot is per-listing reply rate — every listing individually, scored against its own trailing-90-day window. The brand-level dashboard is a lagging summary; the per-listing feed is the lever.

When should one rule set fit all locations vs per-location themes?

Below ~three locations, one rule set fits all — the themes drift slowly enough that a single threshold catches the dip. Above three, the rule set has to be per listing. Location A's response-time theme and Location B's transparent-quoting theme are independent signals; a centralised rule will mis-spend attention on the wrong theme at the wrong address. The structural answer is one feed with per-location rule sets — the operator watches one stream, the rules underneath stay separate, and the per-location polarity scores compound ranking credit on the listing that earned them.

How do I handle duplicate listings that have already out-ranked my own?

Claim the duplicate first, mark it explicitly as a duplicate of your real listing through GBP's "duplicate" suggestion flow, and request a merge through Google Business Profile support. The merge itself can take sixty to ninety days, and the mapping cluster around the address will often survive — the duplicate still pulls clicks, still collects stray reviews, and still competes with your listing until Google re-crawls the area. In the interim, treat the listing-merge cleanup as a separate operations line on its own, not folded into the reply cadence, and budget two quarters of consistent same-shift replies on the real listing before the ranking math catches up to the address.

What's the smallest shop size at which multi-location GBP management stops being a flat-line cost?

Below three locations, a weekly digest and a Monday retro cover the multi-listing cadence cheaply — the per-listing reply rate does not need to compound yet. Above three, the cost shifts from a flat digest to a per-location feed that scales linearly with the listing count, and the manager-of-managers handoff becomes a real cost line. The break point most multi-location operators cite is five listings: at five, the per-location feed pays for itself in roughly one quarter when the dispatcher labor is above $22/hour and any one listing handles more than ~60 reviews per quarter. Below five, the centralised digest is the honest answer; above five, the per-location feed is the only cadence that holds.

Digest: loading…
Weekly digest: loading