BodzerMarketıng
Let's start Pick a time Join the team

Back to the blog

Direct response PPC: why it's not e-commerce or lead gen

Direct response PPC: why it's not e-commerce or lead gen

In US local services (HVAC, plumbing, pest control), the buying decision takes minutes or hours. A pipe bursts, or the AC dies at 40°C, and people call whoever they find first. The conversion isn't a basket or a form. It's a phone call that the dispatcher turns into a booked job.

Build that kind of account with e-commerce or lead-gen habits and it burns money fast. When several hundred thousand dollars go out each month, every wrong setting comes straight out of real revenue. These are the six areas where I work differently.

1. The conversion is a qualified call, not any call

At first glance the three models look alike. Their measurement doesn't:

  • E-commerce: the transaction is measurable straight away, value included.
  • Classic lead gen: a form or a demo request, and you find out weeks later in the CRM what became of it.
  • Direct response: a qualified phone call or an appointment the dispatcher has booked. The data comes in two stages: the call shows up in real time, the booked and completed job comes back from the CRM later.

The junk is different too. E-commerce deals with returns, lead gen with fake email addresses. Here it's wrong numbers, misdials, DIY questions and renters who can't decide for the owner.

The Google Ads "Calls from ads" conversion counts calls above a minimum length you set (Google says the default is 60 seconds). That's not enough, for two reasons. Length alone doesn't make a call qualified, and this conversion doesn't see calls to the number shown on your website. So this is how I set it up:

  • Dynamic number insertion (DNI), for example CallRail or WhatConverts. Every visitor sees their own tracking number, so every call is tied to the click and the keyword.
  • A call length threshold that fits the service, usually between 60 and 120 seconds.
  • Offline conversion import from the CRM (for example ServiceTitan or Jobber): booked job, and completed job with its revenue.

Only the qualified call or the booked job can be a primary conversion. Every other call is secondary. Smart Bidding chases whatever you mark as primary. If every call counts, it'll bring you the cheapest calls. I've written about why lead count misleads, and that's doubly true here.

2. The bidding strategy moves up as the data matures

The most common mistake is putting target CPA or target ROAS on a cold or badly built account from day one. The system has nothing to learn from, so it optimises on whatever it finds. I work in stages:

  • Foundation, roughly the first 3 months. Manual CPC, or Maximize clicks with a strict CPC cap. The aim is clean search terms, a solid negative list and 15-30 qualified calls a week.
  • Growth, roughly months 3-6. Maximize conversions without a target CPA, on qualified calls. I leave it alone during the learning period, which Google says usually takes 1-2 conversion cycles.
  • Efficiency, roughly months 6-12. Target CPA, where the conversion is a booked appointment confirmed from the CRM.
  • Mature account, after 12 months. Value-based bidding (target ROAS or Maximize conversion value), with real job revenue uploaded from the CRM driving the bids.

Treat the timeline as a direction. A high-volume account moves faster, a small one slower. The amount of data decides when to switch.

I raise budgets in steps, by no more than 15-20% a week. That way I can see what each step brought in, and if the cost per qualified call runs away, I know which increase did it. I've written a separate piece on what happens when the system bids on bad data.

3. Keywords sorted by urgency

E-commerce and B2B often lean on research searches, because there the purchase takes days or months. Here the decision window shrinks to hours, so I split keywords into four tiers:

  • Tier 1, emergency: "emergency AC repair near me", "bed bug exterminator now". Clicks cost the most here, and this is where most booked jobs come from.
  • Tier 2, ready to book: "termite treatment [ZIP code]", "plumber in [city]". This is the backbone of the account.
  • Tier 3, aware of the problem: "why is my water heater making noise". This is only for building remarketing lists and gets no budget of its own.
  • Tier 4, DIY: "how to fix AC yourself". This is a negative keyword.

The negative lists are live on launch day, in layers:

  • DIY: how to, tutorial, fix it myself, homemade, guide.
  • Price shoppers: cheap, cost, price, quote, free, coupon. Someone who's only after a price wants a fixed figure on the phone, and hangs up if they don't get one. I refine this group from the search terms, because the line sits in a different place in each market.
  • Job seekers: jobs, careers, salary, hiring, resume.
  • Renters, where the owner decides: apartment, tenant, renter, landlord.
  • Commercial searches, if the focus is residential: commercial, industrial, warehouse.

4. Five pillars, kept strictly apart

In e-commerce the trend is to consolidate: broad match plus Performance Max. In a direct-response account, separation protects the money. I start with five campaign pillars. This is my starting budget split, and I adjust it from the account's own data:

  • Brand protection, 5-7%. Exact and phrase match, excluded from the acquisition campaigns so branded calls don't flatter the rest.
  • Emergency, high-intent search, 35-55%. Split by service: rodents, wasps, termites.
  • Competitors and aggregators, 10-15%. Competitor names and sites such as Angi or HomeAdvisor, with a dedicated comparison landing page.
  • Planned maintenance, 10-20%. Seasonal servicing, where a form booking is fine.
  • Remarketing, 10-20%. People who looked at a service page but didn't call get an emergency or guarantee message.

The message has to match the search word for word. If someone types "emergency bed bug exterminator", they should see exactly that in the ad headline, on the call button and above the fold on the landing page. Exact match also catches close variants these days, so I build single-theme ad groups (STAGs) rather than one ad group per keyword.

New or scaling accounts run exact and phrase match only. I allow broad match only in a mature account, above 50 conversions a month, in a separate discovery campaign with its own budget and the full negative list.

5. ZIP codes, radius and season

E-commerce is national, and B2B SaaS has no borders. For a local service business, what counts is where the technician can drive to. So no loose metro or state-wide targeting, only ZIP code lists or a precise radius.

ZIP codes aren't equal. The average job value in one area differs from the next. I adjust bids by ZIP code based on job values coming back from the CRM. In the US, Google also allows household-income targeting, so I push for a higher impression share in the premium areas.

Demand isn't flat. AC repair peaks in summer, heating in autumn and winter, pest control from spring to autumn. I raise the budget 2-3 weeks before the season starts.

I don't use the Google Ads seasonality adjustment for that. Google says it's meant for short events of 1-7 days, such as a sale or a forecast heatwave, and that it works less well over periods longer than 14 days. Smart Bidding already knows the recurring season from its own data.

6. The CEO cares about booked jobs, not CTR

I don't report cost per click to a big spender. The report has four levels:

  • Business impact, for the CEO: the LTV:CAC ratio and net revenue from paid search. I consider an LTV:CAC ratio of at least 3:1 healthy.
  • Revenue quality, for the marketing director: revenue against ad spend, and the cost per booked job. That's the cost per qualified call divided by the booking rate. An example in round numbers: if a qualified call costs 80 dollars and every other call becomes a booking, a booked job costs 160 dollars.
  • Campaign efficiency, for the PPC manager: cost per qualified call and the dispatcher booking rate.
  • Activity metrics: impression share, CPC, CTR, Quality Score. These are for diagnosis. They don't measure success.

What ties the six together

Direct response PPC is about revenue, and that takes discipline: call tracking, qualifying calls by length and CRM outcome, bidding that matures with the data, budget allocated by ZIP code and a message that matches the search. If any one of them is missing, the account can look fine in the report while the dispatcher's calendar stays empty.

If your account runs on calls and your report doesn't lead with booked jobs, let's look at it together. That's what my performance marketing service is about. Send me a short brief. The first conversation is free.

Rather just talk?

The first call is free, whatever the service. Book 60 minutes in my calendar, and the Google Meet link gets added automatically.

Pick a time Work with me

More posts