Skip to content

Case study · Barbosa Plumbing & Air Conditioning · Dallas, TX

The phone rang until ten. The ad budget was gone by five. Nobody had put those two facts next to each other

Booked calls after 6pm
+25 to +30%
Higher is better
120 days against the 120 before · Call tracking
Cost per booked call, evenings
−19%
Lower is better
120 days against the 120 before · Call tracking
Calls that rang out
−26%
Lower is better
120 days against the 120 before · Call tracking
Spend landing in answered hours
+22 points
Higher is better
120 days against the 120 before · Google Ads
Barbosa Plumbing & Air Conditioning logo
On this page

At a glance

A quarter more booked calls after 6pm, and the evening calls got cheaper rather than more expensive.

Booked calls after 6pm: 120 days against the 120 before · Call tracking · All four results

Company
Barbosa Plumbing & Air Conditioning
Trades
Plumbing, Air conditioning, Heating
Market
Dallas, TX
Trading since
1979
Licences
TACLA002374, M-37241
What we run
  • Google Ads
  • Local Services Ads
  • Call tracking
Window
120 days against the 120 before them
Get your free strategy

Who this is

Barbosa has been doing plumbing and air conditioning in Dallas since 1979. Two licences, TACLA002374 and M-37241. The first of those is a four-figure number in a state that now issues six, which is the shortest way to say how long they have been at it.

More than four decades in one metro produces something no amount of budget buys: a very large number of households who already have the number written down somewhere. That is the asset. It is also what made the problem invisible.

Two logs that nobody had put side by side

The call log said the busiest stretch of the day started around half five and ran to about nine. That is not surprising. People discover a water heater has failed when they get home, not at eleven in the morning.

The spend log said the daily budget was substantially gone by mid-afternoon. Not because anybody chose that — because a daily budget spends itself in the order the auctions arrive, and the auctions arrive all day.

Both logs had been sitting in the same account for years. Neither is wrong. They had just never been read on the same screen.

Spend against calls, by time of day Paid search spend and tracked calls by hour block, each series indexed to its own largest bar. Google Ads and call tracking, 120 days before the change.
Share of spend Share of calls
8am – noon 100 47
Noon – 4pm 86 55
4pm – 7pm 31 100
7pm – 10pm 9 74

Why an account runs out of money before the rush

A daily budget has no opinion about what time it is. It answers auctions as they come, and the morning has plenty of them: people at a desk, mildly worried, typing the same words as the person who will call at seven with a flooded utility room.

Those two searches look identical in a keyword report. One of them ends in a booked visit at about twice the rate of the other. Nothing in the platform separates them, because the platform cannot see the water on the floor.

What we got wrong first

Our first read was that this was a bidding problem, so the first version of the fix was a bid schedule: less in the morning, more from five. It helped, and less than it should have.

The reason took another three weeks to find. Some of the evening calls were being bought and then not answered — rolled to an after-hours service, or picked up by somebody who could take a message but not book a visit. We were paying a premium for the busiest hour of the day and handing a share of it to whoever the caller rang second.

So the second version of the fix was not in the ad account at all. It was agreeing which hours were genuinely covered, and only then buying them.

What happened to the evening

Fewer calls in the morning, more in the evening, and a higher share of them turning into a visit on the calendar. The interesting row is the last one: the booking rate moved without anybody changing the script.

That is what re-pacing does. It is not persuasion. It is arriving at the moment the person is already convinced.

Evening calls, 4pm to 10pm Indexed to 100 evening calls in the earlier window. Call tracking into the client's dispatch system, matched 120-day periods.
Before After
Calls from ads 100 121
Answered live 74 108
Booked visits 46 72

The order things happened in

The sequence is the part worth copying. Every step before week six was measurement, and the budget was not re-paced until the hours were confirmed by a person rather than inferred from a chart.

Twelve weeks Weeks 4 and 5 were the ones that mattered and they produced no visible result at the time.
  1. Weeks 1–3 Every ad call recorded with its outcome, so a call could be marked answered, missed or rolled rather than just counted.
  2. Weeks 4–5 The recordings read against the dispatch log. This is where the after-hours gap turned up, and it was not in any ads report.
  3. Week 6 Hours agreed with the office — which hours a person books visits in, not which hours somebody picks up.
  4. Weeks 7–9 Budget re-paced onto those hours. Morning capped rather than cut, because the morning still produces the planned work.
  5. Weeks 10–12 Local Services Ads scheduled to match, so the two channels stopped disagreeing about when the company is open.

What this costs a company that is already busy

Almost nothing, and that is the uncomfortable part. There was no new budget in this. The same money arrived at a different hour.

Which means the previous arrangement had been costing this business real work for a long time, and nothing in any dashboard was ever going to flag it, because no dashboard knows what time the office stops booking.

Results

Booked calls after 6pm
+25 to +30%
Higher is better
120 days against the 120 before · Call tracking
Cost per booked call, evenings
−19%
Lower is better
120 days against the 120 before · Call tracking
Calls that rang out
−26%
Lower is better
120 days against the 120 before · Call tracking
Spend landing in answered hours
+22 points
Higher is better
120 days against the 120 before · Google Ads

What this does not prove

  • Four months either side includes a Texas summer on one end and not the other. Evening demand is not flat across the year and some of this movement is the calendar.
  • 'Calls that rang out' is measured from the tracking line, so a caller who hung up and immediately rang the office direct is counted as a miss here and as a customer in the business. The real figure is better than ours.
  • The re-pacing and the Local Services Ads schedule shipped three weeks apart and we did not hold one back. They are reported together because we cannot honestly separate them.
  • We capped morning spend rather than removing it, so this does not prove morning traffic is unprofitable. It proves it was over-funded relative to the evening at this budget.
  • The biggest single change was staffing coverage, which is the client's doing and not ours. We found it; they fixed it.

What to take from this

  1. Put the call log and the spend log on one screen Both exist in most accounts already, and the gap between them is usually the cheapest improvement available — it costs no extra budget, only a different hour.
  2. Buy the hours somebody books visits in, not the hours somebody answers A message taken at eight is not a booked job, and paying peak prices to generate messages is the most expensive way to be polite.
  3. Cap the morning rather than cutting it Morning searches produce the planned, higher-margin replacement work. They are worth buying calmly, which is a different instruction from worth buying first.
  4. Make every channel agree about your opening hours When search and Local Services Ads run different schedules the account contradicts itself, and the caller experiences that contradiction as a phone nobody picks up.

Questions people ask about this one

Can you not just set an ad schedule and be done with it?
You can, and it will get you part of the way. A schedule changes when the money is spent; it does not change whether a person is there to book the visit when the call lands. In this account the schedule alone produced a modest improvement, and the rest only arrived once the covered hours had been confirmed with the office rather than assumed from the chart.
Why is the evening cheaper when it is the busiest time?
Cost per click was not cheaper. Cost per booked call was, because evening callers book at a much higher rate — they are ringing about something that has already happened rather than researching something that might. Paying more per click for traffic that books twice as often is a lower cost per job, which is the only one of those numbers a contractor banks.
Does this apply to a company that is not open in the evening?
It applies more. If the office closes at five, the correct response is to stop buying the six o'clock auction, not to buy it and hope. The method is the same either way: find out which hours actually convert into booked visits, and then decide whether to buy them or to extend the hours. Both are valid. Buying hours you do not cover is not.
How do you know a call was missed rather than just short?
Each tracked call carries a disposition from the recording and the dispatch record — answered and booked, answered and not booked, rolled to the after-hours line, or unanswered. That is more work than reading a call count, and it is the only way to tell an expensive success from an expensive failure.

More cases

All cases
  • Reeis

    Phoenix, AZ

    Cost per sold electrical job
    −31 to −37%
    90 days against the 90 before · Call tracking

    Electrical priced and measured as if it were a smaller version of air conditioning.

  • Way Cool

    Phoenix, AZ

    Audits booked in the off-season
    2.3 to 2.5×
    December–February against the year before · Client CRM

    A dead Phoenix winter, and a whole-home audit nobody was being told about.

  • Cody & Sons

    Dallas + Plano, TX

    Maintenance plan signups
    +38 to +45%
    Two quarters against the two before · Client CRM

    A plan with a published price, sold nowhere except at the kitchen table.

  • A.P.E.S.

    Phoenix, AZ

    Septic inspections booked
    3.2 to 3.6×
    150 days against the 150 before · Client CRM

    A service almost nobody else in the metro sells, buried under generic plumbing terms.

  • 1st Choice

    Phoenix + Prescott, AZ

    Cost per booked visit
    −22 to −28%
    Two quarters against the two before · Call tracking

    One company, two locations, and two climates that never share a season.

  • Cost per sold job
    −30 to −35%
    90 days against the 90 before · Call tracking

    Forty-seven cities of coverage, one shop to drive from.

  • Rescue Air

    Dallas, TX

    Plumbing jobs sold from search
    2.0 to 2.2×
    Two quarters against the two before · Client CRM

    A large heating and cooling base that did not know the same company did plumbing.

Want this read on your own account?

Send the site and roughly what you spend. You get back the same thing that starts every one of these: where the money goes now, which of it is buying work you can actually drive to, and what we would change first. No charge, no call required to receive it.

  • A read on your search terms and your service area
  • The three changes we would make in the first month
  • Yours to keep, whether or not you hire us
How the free strategy works

This sets the testing pace. There is no minimum.

A good callback window or the first problem you want us to look at

No card and no call. Read-only access only.

Request your free strategy

One page, five details, no card and no call.

Would rather talk it through? Ask for a callback on the form and pick a window. The person who would run your account calls you, not a salesperson.

This sets the testing pace. There is no minimum.

A good callback window or the first problem you want us to look at

No card and no call. Read-only access only.