Google's local pack and Maps rankings depend on roughly 50+ signals, but they cluster into three weighted buckets. Google Business Profile optimization drives 30-40% of local ranking power. That means your primary category selection, secondary categories, business description with natural keyword use, complete attributes, regular posts, and photo uploads all compound. Distance is non-negotiable—if you're 8 km away and a competitor is 2 km from the searcher, you need overwhelming strength elsewhere to outrank them. Reviews contribute 15-20% of ranking weight, but it's not just star rating. Google weighs review recency, velocity (how many per month), response rate, keyword mentions in review text, and reviewer credibility. A business getting 4-6 reviews monthly with owner responses will outperform one with 200 old reviews and no new activity. We've seen clients jump 4-5 positions in the local pack within 60 days just from systematic review generation. On-page and citation signals make up another 25-30%. Your website needs NAP (name, address, phone) matching your GBP exactly, dedicated location pages if you serve multiple areas, local keywords in title tags and H1s, and embedded Maps. Citations—your business listed on Yelp, Yellow Pages, industry directories—need identical NAP across 40-60 sources. Even one digit off in your phone number creates confusion. Backlinks from local sources (newspapers, chambers of commerce, local blogs, .ca domains if you're Canadian) carry more weight than generic directory links. A link from the Ottawa Business Journal beats a link from a random blog network. Proximity to city center used to matter more but has declined. What hasn't declined: click-through rate from the local pack to your GBP and then to your website. Google tracks user behavior. If searchers consistently choose your listing and stay on your site, that's a ranking signal. Ottawa SEO runs regular GBP audits because these factors shift every 4-6 months as Google tweaks the algorithm.