Get an estimate

Case study · Roofing

Blue Bird Roofing, channel by channel

A residential roofer in Round Lake, NY, doing replacements and metal roofs across Saratoga and Albany counties. What the Google leads sold, what I changed in the account, each channel's number on its own, and what is still open.

Elijah Nawrot · Google Partner · Updated October 12, 2026

$285k
in sold jobs from Google leads in 30 days
Blue Bird Roofing, Round Lake, NY. Local Services and Search. Sept 12 to Oct 12, 2026. Source: Blue Bird's job records in JobNimbus, matched to the Google Ads lead lists.

Each channel on its own, with its own window

85
charged Local Services leads in one month
Blue Bird Roofing, Round Lake, NY. Local Services. Aug 1 to 31, 2026. Source: the Local Services lead list in the Google Ads account, charged leads only, pulled Oct 6, 2026.
8
calls and forms from metal roofing Search in one month
Blue Bird Roofing, Round Lake, NY. Google Search, the metal roofing campaign, landing-page calls and form fills. Sept 1 to 30, 2026. Source: the Google Ads account, Metal Ads campaign by conversion action, pulled Oct 6, 2026.
22 of 81
points on a one-mile map grid where the profile ranks first for "roofing companies near me"
Blue Bird Roofing, Round Lake, NY. Google Business Profile (map pack). Measured Aug 26, 2026, a snapshot, not a before and after. Source: a Whitespark local rank grid, 9 by 9 points one mile apart.

Summary

ClientBlue Bird Roofing, a residential roofing company in Round Lake, NY. Replacements and metal roofs in Saratoga and Albany counties.
What I runThe Google Ads account since June 2025, and the Business Profile and SEO work. Local Services sits in the same account, and the owner sets its budget.
Sold$285k in jobs from Google leads, Sept 12 to Oct 12, 2026: $165k from Local Services and $120k from Search. Blue Bird's own job records.
Local Services85 charged leads, Aug 1 to 31, 2026. Volume only.
Metal roofing Search8 calls and forms in September 2026 against 1 in August, on about the same spend. One month.
Map packFirst at 22 of 81 points on a one-mile grid, top three at 47 of 81. One scan, Aug 26, 2026.
What counts as a leadA phone call or a form from a person. Nothing else
Not shownOne cost per lead for Local Services and Search together. They price very differently, so an average of the two describes neither

Where the account started

Blue Bird was Kornerstone Roofing until May 2026. When I came in, the only Search campaign was for metal roofs, and Local Services was doing most of the work.

Search had no way to count a phone call from the landing pages. The Saratoga County campaign went live in December 2025 and recorded no leads at all until late July 2026. Whether that meant no leads or no counting, the account could not say, and an account that cannot say is the first thing to fix.

Albany County had no campaign of its own, and the Search ads still sent people to an older page.

03

What I changed

  1. Pages built for the ads

    July 2026. Search moved to pages I built on Blue Bird's own domain: one for Saratoga, one for Albany, one for metal roofs. The county is in the headline and the form is on the first screen.

  2. A campaign for each county

    July 2026. Albany got its own campaign, written for its own towns. The metal campaign was rebuilt, with an ad group for people looking for an installer.

  3. Calls counted with forms

    July 2026. Calls from the landing pages are tracked and sent back to Google Ads, and the campaigns count them beside the form fills.

  4. Cleaner searches, calls from the ad

    August and September 2026. Negative keywords on all three campaigns, and a pause on an Albany keyword whose visible searches were mostly other roofers' names. Then the ads were linked to Blue Bird's Business Profile, so a phone can call straight from the ad.

The landing pages

Every Search click lands on a page built for the ad, not on the homepage. This is one of them, on a phone, with the five parts that do the work.

Blue Bird Roofing, a page I built

Blue Bird Roofing's landing page on a phone
  1. Proof firstWarranty and a free estimate in the first inch.
  2. The rating, in viewStars and review count above the headline.
  3. Their county in the headlineThe place they searched, not the company name.
  4. The form above the foldName and phone without scrolling.
  5. A phone that follows themSticky, tappable, tracked.

What the Google leads sold

From Sept 12 to Oct 12, 2026, Blue Bird sold $285k in jobs to people who came in through Google: 16 jobs. $165k came from Local Services leads and $120k from Search.

A job counts as sold once Blue Bird invoices the deposit or the customer signs the estimate. Most of these are deposit-paid and still in progress, so this is work sold, not money collected yet.

Google Ads can count a call. It cannot tell you whether the call became a roof. So I took Blue Bird's job records and matched each sold job to a lead by phone number, against the Local Services lead list and the Search calls, or by the lead source Blue Bird's office recorded.

What I won't print is a cost per lead for the two channels together. Local Services bills per lead and Search bills per click, and an average of the two describes neither.

Local Services: the volume

Local Services charged for 85 leads in August 2026. That is how many leads the channel found at Blue Bird's rank in one month.

In August the budget sat well above what Local Services actually spent. It bills per lead and stops when the leads in the area run out, so the budget is a cap, not a dial. Those are the first leads I want for any roofer, and there is a limit to them. How Local Services and Search differ.

The owner sets that budget. He lowered it on Aug 28, 2026, which is why I quote August and not September.

Metal roofing Search: one good month

The metal campaign brought 8 calls and forms in September 2026, against 1 in August. It spent $1,063.57 in September and $1,056.24 in August, so the money did not change.

Both months are counted the same way: calls from the landing page and form fills. September also had 2 calls straight from the ad, a path August did not have, so I left them out.

It is one month, and I can't tell you why it happened. In September I added negative keywords, set bids by age and audience, linked the ads to the Business Profile and, late in the month, moved the campaign to Maximize Conversions. Any of those could be the reason, or none of them. At this volume one month can move this much on its own, so October has to hold before I call it a result.

The map pack

I also do Blue Bird's Business Profile and SEO. On Aug 26, 2026, a rank grid for "roofing companies near me", with points a mile apart around their office in Round Lake, had Blue Bird first at 22 of 81 points and in the top three at 47 of 81.

Rank grid for roofing companies near me: Blue Bird Roofing ranks first across most of the grid around Round Lake, NY
Rank grid for "roofing companies near me", 9 by 9 points a mile apart, Aug 26, 2026. Each circle is Blue Bird's place in the map pack from that spot.

That is one scan on one evening, not a before and after. I don't have a grid from before the work started, so it shows where they stand, not how far they moved.

On a live search from Country Knolls that evening, Blue Bird showed in the map pack, in the paid results and in the organic results, on the same page. How I approach SEO for contractors.

09

What did not work, and what is still open

Maximize Conversions raised the price of a click

On Sept 24, 2026 I moved Search to Maximize Conversions. On the two county campaigns a click went from $38.52 to $64.74, while the share of clicks that became a lead stayed about the same (9.8%, then 9.7%, on few clicks). So each lead cost more. On Oct 5 I gave those two campaigns a target and took metal out of the shared strategy. It is too early to read.

The metal campaign sat idle through the spring

In March 2026 I cut the metal campaign back to its home county. It barely showed from April until I put the counties back in July. It cost nothing, because Google only charges for clicks, but for a whole spring the metal line was missing from Search.

The call button on the ads is not approved yet

The tracked number I added to the ads on Sept 30, 2026 is still waiting on Google's phone check. Until it passes, calls from the ads come only through the Business Profile link.

The pages are slow on a phone

In one lab test on Oct 5, 2026, the Saratoga page took 13.2 seconds to show its main content on a phone. It is the first reading on record, so it is a starting point. Speeding the pages up is on the list.

What this does not show

It does not show what a lead would cost you. That depends on your trade, your county and your page, which is what the estimate call works out.

It does not show one cost per lead for Blue Bird either, on purpose. Where a number belongs to one channel, it stays with that channel. If an agency's report gives you one blended figure for Local Services and Search, ask what is inside it. Questions to ask any agency.

Your account

Want each channel counted on its own?

Bring your Google Ads and Local Services numbers to the estimate call and I'll split them out for you.

  • No account access needed for the estimate
  • Thirty minutes on a screen share
  1. Your trade and county
  2. Pick a call time on the next screen
  3. 30-minute screen share

See what a lead should cost you

Type your trade.

Required.

Next: name, email and phone. Then you pick a 30-minute call time.

Step 2 of 2

Required.

Required.

Enter an email I can reply to.

Enter a 10-digit phone number.

Pick one.

Next you pick a 30-minute call time.

Get my estimateText