A landscaper kneels to set a flagstone step into a freshly planted front-yard garden at golden hour.

Case study · Landscaping · Canada

How a Canadian
landscaper went from
page five to #1 on Google.
Page Five
to #1 on
Google Maps 🌳

Rebuilt the Google Profile, and local SEO plan, to take this landscaping company from $1.6M to $3.8M.

Annual revenue
$3.8Mfrom $1.6M
Inbound calls
+200%58 → 174 / mo
Crew
20+from 8
Spent on ads
$0all organic

Landscaping · Canada

$1.6M → $3.8M revenue

See the numbers
Client
Landscaping company
Location
Canada
Service area
6 cities
Timeframe
11 months, ongoing
Result
$1.6M → $3.8M

001 · Customer profile

A busy Google profile that never rang 🌳

This landscaping company had eight on the crew, a full summer and a Google profile pulling thousands of views a month. Almost none of those views turned into phone calls.

01 · The goal

More calls from the same traffic

  • Turn existing profile views into phone calls
  • Rank in every city the crews already drive to
  • Keep the crews busy outside of summer

02 · The challenge

Seen by many, trusted by Google by none

  • 9,400 profile views a month, 1.4% of them calling
  • Wrong primary category, half the services missing
  • Ranked in one of six service cities
  • Quotes going out three days late in peak season

03 · Our solution

Fix the profile, then own the map

  • Google Business Profile rebuilt and reverified
  • A real page for every service city
  • Same-day quotes with instant follow-up
  • Seasonal campaigns for the quiet quarters

What we ran

  • Google Business Profile
  • Local SEO
  • Website Rebuild
  • Service-Area Pages
  • Speed-to-Lead
  • Seasonal Campaigns
  • Review Engine
  • Call Tracking

The traffic was already there. We gave Google a reason to trust the profile and made sure every enquiry got a same-day quote. Calls tripled, and not a dollar went to ads.

NEWDAY · Campaign summary

+200%Inbound calls per month
$0Spent on paid ads

002 · The problem

Seen by thousands. Called by almost nobody 📉

The traffic was never the problem. What happened after someone found them was.

The business had been running crews for years. Eight on the payroll, a waiting list every June, and a Google Business Profile pulling 9,400 views a month. On paper it looked like a business that had already solved its marketing.

It was converting 1.4% of those views into phone calls. The profile ranked in one of the six cities the crews actually drove to, and in the other five a competitor with a fraction of the equipment was taking the work.

A busy profile isn't the same as a profile that makes the phone ring. Nobody had checked how many of those views actually called.

When we audited the account, six things were quietly costing them jobs every week.

  • Plenty of views, almost no calls

    9,400 profile views a month and a 1.4% call rate. The traffic was already there. It just wasn't converting.

  • A profile Google didn't trust

    Wrong primary category, half the services missing, no products, the last post 14 months old and unanswered Q&A.

  • Ranked in one city out of six

    Strong in the home city, on page five or worse in the other five cities the crews drove to every week.

  • Quotes going out three days late

    In peak season, requests sat in an inbox until someone got off a mower. The fastest competitor won the job.

  • Two dead quarters every year

    Everything rode on summer. Spring cleanups, fall work and snow contracts were never marketed at all.

  • No idea which calls came from where

    No call tracking and no form attribution, so there was no way to tell what was working and what wasn't.

Before

58 calls / month

9,400 profile views a month, 1.4% of them calling.

  • Wrong primary category
  • Ranked in 1 of 6 cities
  • 3-day quotes
  • Summer-only work

Month 11

174 calls / month

5.4% of profile views now call, and every quote goes out the same day.

  • #1 in 5 of 6 cities
  • Same-day quotes
  • Year-round work
  • $0 on ads

003 · What we did

Four moves. Zero ad spend 🛠️

Make Google trust the profile, rank in every city the crews work in, answer faster than anyone, then fill the quiet seasons.

  1. 01 · Profile

    Rebuilt the Google Business Profile

    The traffic was already there. The profile just gave Google no reason to send it anywhere. We reset the primary category, listed every service, loaded products with real price ranges, answered the old Q&A, and started weekly posts and geo-tagged job photos as the crews finished each job.

    • Primary category corrected and reverified
    • Every service and product listed
    • Weekly posts and seasonal offers
    • 3–4 geo-tagged job photos a week
    • Q&A seeded and answered
    • Every review replied to within 24 hours

    Profile performance

    Profile views 9,400 → 14,800
    Views → calls 1.4% → 5.4%
    Direction requests +264%
  2. 02 · Coverage

    Ranked in every city the crews drive to

    They were strong in one city and invisible in the other five their trucks drove to every week. We built a real page for each one, with local job photos, the neighbourhoods they actually serve and the services they offer there. Then we cleaned up 52 directory listings that all disagreed on the phone number.

    • A page for each of the 6 service cities
    • 22 keywords mapped and tracked weekly
    • 52 directory listings corrected
    • Local neighbourhoods named on every page
    • Job galleries for each city
    • Seasonal pages for snow and cleanups

    Google Maps rankings

    Cities ranked #1 1 → 5 of 6
    Avg. map position #11 → #1.6
    Keywords in top 3 3 → 19 of 22
  3. 03 · Speed

    Cut quote turnaround to same day

    In peak season, a quote request could sit for three days. Now every request sends the homeowner an instant text and alerts whoever is on rotation, and the site visit books straight into the crew calendar. The fastest quote usually wins the job, and now they're the fastest.

    • Instant text and email on every enquiry
    • Missed-call text-back within 30 seconds
    • Leads rotated to whoever is on call
    • Site visits booked into the crew calendar
    • Every lead logged in one pipeline
    • Weekly report on unbooked leads

    Response

    Quote turnaround 3 days → same day
    First response 4h 10m → 90s
    Quote-to-book rate 24% → 41%
  4. 04 · Seasons

    Filled the two dead quarters

    The whole business rode on summer. We gave spring cleanups, fall work and snow removal their own pages, profile posts and offers, and reached out to past customers before each season started. For the first time, snow contracts were signed before the first snowfall.

    • Seasonal service pages and offers
    • Profile posts timed to each season
    • Past-customer reminders before each season
    • Snow contracts sold in the fall
    • Bigger bundled contracts, not one-off jobs
    • Crews kept busy all year round

    Year-round work

    Snow contracts pre-sold 0 → 84
    Avg. contract value $4,300 → $5,150

004 · The results

Eleven months later, hiring is the bottleneck 📈

Measured against the twelve months before we started. Every figure below is tracked, not estimated.

+200%Inbound calls per month58 → 174
$3.8MAnnual revenuefrom $1.6M
5 / 6Cities ranked #1 on Google Mapsfrom 1
5.4%Profile views → callsfrom 1.4%
20+Crew on payrollfrom 8
84Snow contracts pre-soldfrom 0
$0Spent on paid adsall organic
5.0★Google ratingheld throughout
MetricBeforeAfterChange
Inbound calls / month58174+200%
Booked jobs / month3196+210%
Average contract value$4,300$5,150+20%
Cities ranked #115 of 6+4
Profile views → calls1.4%5.4%+4 pts
Quote turnaround3 daysSame day−97%
Trailing 12-month revenue$1.6M$3.8M+138%

Results from one client. Every business starts from a different place.

005 · Timeline

Month by month. How it actually unfolded 🗓️

Local SEO isn't instant. Here is the honest month-by-month, quiet stretches included.

  1. Week 1

    Audit & plan

    A full teardown of the profile, the site and every competitor across all six cities. Twenty-two keywords chosen on search volume and contract value. Baseline numbers locked before anything changed.

  2. Week 2

    Profile rebuilt & reverified

    Views → calls 3.1%

    Primary category corrected, every service and product loaded, Q&A answered and weekly posts started. The single biggest fix on the account.

  3. Weeks 3–5

    City pages & listings

    6 cities live

    A page for each service city built and published, 52 directory listings corrected, and the new site live with job galleries for every city.

  4. Day 30

    Page five to #1

    First #1 ranking

    The first target keyword went from page five to #1 on Google Maps inside a month of the profile rebuild.

  5. Month 2

    Automations switched on

    Same-day quotes

    Speed-to-lead and missed-call text-back went live, with site visits booking straight into the crew calendar.

  6. Month 4

    Into the top 3

    Calls +79%

    Fourteen keywords in the Google Maps top 3 across most of the service cities. The crew grew to twelve.

  7. Month 7

    #1 across the map

    84 snow contracts

    Ranked #1 in five of six cities, and snow contracts pre-sold for the first time.

  8. Month 11

    Where it stands

    Calls +200%

    #1 in five of six cities, 20+ on the payroll and $3.8M booked across the year. Still nothing spent on ads.

The takeaway

They never had a traffic problem. Google just didn't trust the profile, and fixing that tripled the calls.

006 · Your turn

Same playbook. Your trade, your town 🚀

We only take on one company per service per city. Free audit first: you will see your real Google Maps position and what it is costing you, before you decide anything.

No contracts · No setup fee · Cancel any time