top of page
Fixing the Roof

Case Study: Apex Roofing Solutions — Dallas, GA

Business Overview

A steady flow of roofing leads is the holy grail for roofing contractors.

​

But for one Georgia-based metal roof installer, their lead flow was anything but steady.

​

They found themselves knocking on doors, passing out flyers, and doing pretty much anything they could to win new business.

​

And even though it worked to some degree, it just wasn’t scalable.

That’s when they decided enough was enough and began looking for outside marketing support.

​

As a marketing agency that specializes in lead generation for local businesses, we were in a perfect position to help.

Step 1: Calculate the Maximum Cost Per Lead

The first step to getting more roofing leads for Apex Roofing Solutions (Apex for short) was to determine how much they could actually afford to pay for a new lead.

​

In other words, we needed to know how much they were comfortable spending in exchange for either:

​

  • a form submission on their website, including the prospect’s name, phone number, and email address

  • a direct call from an interested prospect during business hours

  • a chat conversion that turns into a qualified lead​

​

To determine that number, we looked at some of Apex’s important business metrics, like:

​

  • the lifetime value of a customer

  • the gross profit Apex generates from a sale,

  • the closing rate of their sales team

  • our marketing fees and other operational costs

​

All of these metrics affect the maximum amount of money Apex is willing to pay for a new lead.

​

The higher their customer lifetime value, gross profit per sale, and closing rate on new leads, the more they’re able to spend to acquire a new lead.

​

But if they make a low gross profit per sale, have a low closing rate on new business, and only sell to a customer once over their lifetime, then their maximum cost per lead would be much lower.

​

After speaking with their team and taking all that data into consideration (luckily they knew what their gross profit, closing rates, and lifetime value were), we were able to come up with a maximum cost per lead, or CPL for short.

​

The CPL basically sets the break-even point and lets us know if we’re hitting the mark with our marketing campaigns (Google Ads, Facebook Ads, etc.).

​​​

With Apex, we determined that their maximum cost per lead was around $220 per lead (they specialize in metal roofs, so it’s a little higher than your typical roofing lead because the gross profit per job is higher).

​

To make things interesting, we told Apex we’d aim to get them new roofing leads for $175 a pop.

​

This is a bit aggressive, but we also felt it was doable given their large monthly budget and the speed at which we’d be accumulating data.

​

That would mean, with a monthly marketing budget of $40,000, we’d have to generate at least 229 roofing leads for it to make sense ($40,000/$175 = 229 leads).

​

Note: Don’t be alarmed by the $40K monthly marketing budget. Many roofing businesses start off with $3-5K per month in ad spend and then scale once the leads start to flow in.

​

See how this works?

​

Once you know the maximum price you can pay for a new lead, measuring the results of your marketing campaigns becomes boringly straightforward.

​

For instance, here are the goalposts we used to measure success for Apex in the short term:

​

  • Success meant more than 229 leads in 30 days.

  • Failure meant less than 229 leads in 30 days.

​

With expectations set for both parties, we got to work and started setting up their PPC campaigns.

Step 2: Structuring the Roofing PPC Campaigns

Here’s where things get both interesting and complicated…

Apex had 2 main service offerings (metal roof installation and window replacement) which they sold in 3 states.

​

As a result, they also had a different website for each service and state combination to better serve their customers. This was a good strategy to help with organic search engine rankings).

​

Knowing this, we wanted to make sure we had complete control over their advertising budget so that we could allocate the bulk of it to the service and state combinations that were performing best. Remember, our goal was quality roofing leads for less than $175 a pop.

​

At the same time, we would figure out how to improve the service and state combinations that were lagging behind, or costing us more than $175 per lead.

​

Since budget is controlled at the campaign level with Google Ads, we initially set up 5 campaigns—one for each combination—as follows (note: Apex doesn’t offer window replacement services in State 3):

​

Campaign 1: Metal Roofing – State 1

Campaign 2: Metal Roofing – State 2

Campaign 3: Metal Roofing- State 3

Campaign 4: Window Replacement – State 1

Campaign 5: Window Replacement – State 2

​

Other than budget control, structuring the campaigns this way allowed us to include longer keywords and key phrases made up of state and/or city combinations.

​

To see how much of an impact this initial setup had on our results, we’ll need to fast-forward to today so that we have more data and context.​

​

The keyword “metal roofing” converts at 5%, which means 5% of the traffic we send to their website now becomes a lead.

​

If you’re not familiar with roofing lead conversion rates, that’s pretty good. What’s more, after 4 years of optimizing their campaigns, we’re now hitting a $98 cost per lead—way below the initial $175 cost per lead we agreed upon initially.

​

Now, look what happens if we take the same keyword (ie: metal roofing), but tack on a city modifier at the end:

​

Metal Roofing GA: 14% conversion rate – $40 CPL

Metal Roofing Georgia: 15% conversion rate – $29 CPL

​

That’s a significant difference!

​

Apex Roofing Solutions is essentially getting leads for a fraction of their break-even point ($175), and that’s in part due to the way the campaigns were structured from the start.

​

But that’s not the only reason a proper PPC campaign structure was crucial to Apex’s success.

​

It also let us make full use of the negative keyword lists we’ve built over the years from working with other roofing businesses, allowing us to send nothing but targeted, quality traffic that converts right out of the gate.

​

For example, keywords like:

  • how to

  • what is

  • cheap

  • DIY

​

and more simply don’t indicate an intent to purchase, so you don’t want to be showing up in the search results when people use those types of non-buyer keywords.

​

Unfortunately, many people don’t take negative keyword lists seriously, and their budget gets eaten up by useless clicks as a result.

​

Tip: If you’re running your roofing ads yourself, putting time towards building out your negative keyword list is one of the easiest and most effective things you can do to improve your ROI.

​

For example, when I conduct a search for roofing marketing on Google—a keyphrase that clearly means I need help marketing my roofing business and not help from a contractor—I get shown ads from a local roofing company in my area.

​

If I were to click on one of these ads looking for marketing tips to grow my roofing business, I’d probably hit the back button within a few seconds, and the advertiser would have to fork out some cash for a useless click.

​

We’ve saved some of our customers tens of thousands of dollars over the years thanks to negative keyword lists that reduce wasted ad spend.

​

Long story short, an effective PPC campaign structure is crucial to overall success when it comes to generating roofing leads because it allows for maximum budget, keyword, and negative keyword list control.

​

Once we finalized the overall campaign structure, the next step was to determine how we’d break out the ad groups and create the individual ads.

Setting Up Ad Groups

The way we initially structured the campaigns made organizing the ad groups and ads really simple.

​

First, we did extensive research to uncover the keywords and phrases we felt would drive quality traffic to Apex’s websites.

​

We knew from experience which roofing and window replacement keywords would convert well out of the gate.

We also found new opportunities using tools like:

​

​​

From there, with our list of keywords and city/state modifiers all fleshed out, we grouped all the closely related keywords together to create our ad groups.

​

Tip: Proper keyword research is crucial to the overall success of a PPC campaign! If you’re just using the same old keywords as everybody else to market your roofing business, you’re probably not getting the best results. Use the tools mentioned above to find new keywords no one is targeting.

​

We also made sure that our ad groups were closely related to the landing pages we would be sending traffic to.

​

Usually, we’ll create custom landing pages for our customers in order to match them to the keywords and ad groups we choose to use.

​

This usually increases Quality Score with Google Ads and reduces cost per lead.

​

Finally, it was time to create the actual PPC ads—the first touchpoint between Apex and their prospects—that would generate new roofing leads for their business.

​

Creating Effective PPC Ads for Generating Roofing Leads

We started off by creating 3 ads per ad group, each with different ad text and a unique marketing angle.

​

For example, we tested ads that:

​

  • included the benefits of working with Metal Roof co.

  • addressed the pain points of their ideal prospects

  • informed prospects about an existing limited-time promotion

​​

We then had these ads compete against each other over time in order to find a winning angle and ad text combination.

​​​

This is a long, ongoing process that leads to better and better results over time (there’s no such thing as set-and-forget when it comes to generating roofing leads).

​

Tip: Always leverage as many ad extensions as you can so that your PPC ad takes up as much space as possible on the SERP (search engine result page).

​

We leveraged call, callouts, and review extensions to increase click-through rates and bring our costs down.

​

With campaign structure, ad groups and ads out of the way, the last thing we needed to do before hitting the launch button was to set up call and conversion tracking.

Step 3: Tracking Our Way to Success

There are 3 key ways to generate roofing leads once prospects are on your website or landing page:

​

  • phone calls

  • form submissions

  • chat requests

​​​

From past experience, phone calls tend to make up the bulk of roofing leads.

​

That doesn’t mean form submissions never happen, but for the most part, it’s usually people calling in to ask questions about pricing, availability, etc.

​

That means tracking every single phone call is critical for both gauging the quality of the roofing leads AND reporting on campaign ROI.

​

For Apex, we used CallRail, our trusted call tracking partners, to record calls from new leads (with their permission of course):

​

Recording calls let us learn which keywords drive quality leads, and which drive tire-kickers.

​

It also let us work closely with Apex’s sales team to help them improve their lead-to-sale conversion rate, boosting their return on investment significantly.

​

Tip: It’s important to have all incoming sales calls answered by a human right away rather than having them go through an automated messaging system.

​

We’ve seen lead-to-sale conversion rates skyrocket when there’s someone dedicated to answering phone calls and booking appointments on the spot.

That’s how we tackle phone call leads.

​

For form submissions, all the information we collect from the lead gets sent off directly to the client via email as-it-happens, which allows them to jump on the phone or reach out via email within the hour to increase the odds of winning the job.

​

Here’s an example of a New Lead Notification:

​

This is for a customer in the kitchen renovation space, but it’s the same idea—the only thing that might change is the information we decide to capture from the lead.

​

We also made sure to set Apex up with ApexChat, a live chat software, in order to make the most of the traffic we were sending to their websites.

​

Statistics show that adding a live chat feature to your website can increase online leads by an average of 40%. (source: ApexChat)

In this case it was bang on!

​

We kept transcripts of all chat conversations so that Apex could attribute any new jobs to specific chat requests that came in throughout the month.

​

Last but not least, we aggregated all of this lead and tracking data into our real-time reporting dashboard.

​

Here, Apex could easily login whenever they wanted to see how their new roofing leads were affecting their bottom line.

​

With tracking installed and out of the way, the only thing left to do was hit the launch button and brace ourselves.

The Results: 81 New Roofing Leads in The First Month

Within the first 30 days, Apex was up to 81 new roofing leads at a cost per lead of $170.

​

With more confidence in paid advertising as a way to drive business growth, and with the cost per lead right where they wanted it to be, Apex was ready to start spending more in order to get more leads and book more roofing jobs.

​

Over the next few months, we slowly increased their advertising spend while respecting the $175 cost per lead threshold.

​

And the more data we gathered over time, the better the results got.

Today, Apex gets anywhere from 400-600 exclusive roofing and window replacement leads each month!

​

They’ve had to hire more staff and build a call center just to deal with the added number of phone calls and online leads.

​

As a home improvement business owner, that’s a good problem to have!

bottom of page