โ†
AI for Skilled Trades & Home Services
Capable ยท M10 ยท lesson 10 of 27 ยท queued
Preview โ€” browse every lesson free. Enroll to mark lessons complete, open partner links and save your progress. Login & enroll โ†’
GLSA, PPC, and AI Bidding
๐Ÿ“–
now learning

GLSA, PPC, and AI Bidding

15 min

Google Local Service Ads are the single largest line item in most trades marketing budgets in 2026 โ€” a typical $5M residential HVAC shop runs $3,000 to $8,000 a week through GLSA, which works out to $150K to $400K a year. PPC sits underneath, usually another $1,500 to $3,500 a week. The math used to be a black box. The marketing manager pasted GLSA's weekly report into a deck, the owner squinted at the cost-per-lead number, and the conversation ended. The 2026 version is different. GLSA's bidding engine, AI ad-copy generation, AI landing-page rotation, and feedback loops to ServiceTitan, HCP, or Sera closed-revenue data have collapsed the black box into three metrics the owner can hold the manager accountable on: cost per booked call, cost per acquired customer, and GLSA ROAS. The 2026 mature baseline is 3-4x ROAS with optimization; AI bidding, when layered correctly, lifts that 30-50% on top of the baseline. Ryze AI's 2026 documented case set lands in that uplift band consistently. At a $4,400 weekly spend, a 35% lift on a 3.5x baseline is roughly $80K of incremental annual revenue from one optimization layer. This lesson is the mechanic โ€” what AI bidding actually does, how it learns, where it breaks, and the discipline that keeps the lift compounding instead of evaporating.

The Three Metrics That Replace Cost Per Lead

Cost per lead is the metric Google trained an entire generation of marketing managers to optimize. It is the wrong metric for trades in 2026. A lead is a phone ring. A phone ring that goes to voicemail produces zero revenue. A phone ring that lands on a CSR who fumbles the booking produces zero revenue. A phone ring on a tire-kicker who is calling four shops produces zero revenue. The marketing manager who optimizes cost per lead is buying rings. The owner is paying for booked, closed, paid jobs.

The three metrics that replace cost per lead are precise and held to two-decimal accuracy in the dashboard. Cost per booked call is total channel spend divided by calls that ended in a confirmed booking in ServiceTitan, HCP, or Sera โ€” the human or AI CSR converted the call into a slot. Mature 2026 GLSA delivers $40-$80 per booked call in residential HVAC; PPC sits at $60-$120; direct mail at $90-$180. Cost per acquired customer is total channel spend divided by calls that booked and the job actually ran with paid revenue. The drop-off from booked to acquired captures show rate, cancellations, and dispatch-day no-shows โ€” a real shop loses 8-18% between booked and acquired even after AI tightens the handoff. GLSA ROAS is total closed revenue from GLSA-attributed jobs divided by GLSA spend, computed weekly on a 30-day rolling close window. The mature 2026 number is 3-4x with optimization; 4.5-5.5x with AI bidding layered on top; under 2.5x means something is broken upstream (booking %, dispatch yield, lead-source attribution) and no amount of AI bidding fixes it.

The dashboard discipline: the three metrics get refreshed weekly, posted next to last week's number and the four-week trend, and the marketing manager defends any number off-trend with one of three answers โ€” booking-% drag, dispatch-yield drag, or channel-fit drag. Drag means the AI bid algorithm is sending the right leads but a downstream step is leaking them. Channel-fit drag means the algorithm is wrong about the lead โ€” a zip code, time-of-day, or keyword cluster is converting worse than the model predicts. Each diagnosis points to a different fix; conflating them is the most common 2026 marketing-management failure.

How GLSA AI Bidding Actually Works

Google's GLSA bidding engine has shipped multiple iterations since 2019. The 2026 version is the most operationally useful โ€” and the most dangerous in the wrong hands. The mechanic in trades English: GLSA's algorithm holds an internal model of what a "good lead" looks like for the shop based on every prior bid, every prior lead, every prior outcome that was reported back to Google. When the shop runs without outcome reporting, the algorithm optimizes on the only signal it can see โ€” call volume. Lots of calls. Cheap calls. Mostly tire-kickers and price-shoppers. The shop pays $30 per ring and books 22% of them at a $79 average ticket. The shop blames GLSA.

When the shop runs with outcome reporting โ€” Ryze AI, Sera's integrated bidding, ServiceTitan's GLSA connector, or a manual outcome feedback loop โ€” Google's algorithm sees which calls booked, which booked calls ran, and which ran jobs closed with revenue. The algorithm shifts. Bids favor the zip codes, time-of-day windows, equipment keyword clusters, and historical-customer flags that produced closed revenue last quarter. Bids disfavor the patterns that produced rings without revenue. The shop pays $42 per ring instead of $30, books 68% of them at a $612 average ticket, and the ROAS climbs from 2.1x to 4.6x in 90 days.

The shift is from buying rings to buying closed jobs. The cost per ring goes up; the cost per closed customer goes down materially. Owners who do not understand the mechanic see the cost-per-lead number climb and pull the plug on AI bidding three weeks in โ€” exactly the wrong move. The marketing manager who reports cost per booked call and ROAS instead of cost per lead protects the experiment and the lift. The owner who reads the dashboard every Friday rather than reacting to the cost-per-lead number on Tuesday makes the right call.

What the Bidding Engine Sees, and What It Misses

The engine sees: zip code, time of day, day of week, keyword cluster, device type, ad position, historical conversion rate by ad slot, and the outcome signal the shop reports back. It does not see: which CSR answered the call, the booking-% drag from a sick CSR or a Monday morning system outage, the dispatcher's override decision that bumped Jose to a different stop, the tech who showed up late and lost the close, the AHJ-specific permit delay that killed the install, or the comp-plan rewrite that demotivated the floor for two weeks. Every one of those invisible variables shows up in the outcome data the algorithm trains on. The model can confuse a sick-CSR booking-% dip with a zip-code conversion drop and start disfavoring a perfectly good zip. The marketing manager's job is to know which is which and to gate the feedback loop on data quality.

The 2026 named tools for trade-specific GLSA AI bidding โ€” Ryze AI, the in-platform ServiceTitan bidder, the Sera ad-feedback module, the HCP marketing connector โ€” all surface a "bidding health" page that flags when the outcome signal looks inconsistent with channel volume. A 40% drop in booking-% on a stable lead volume is a CSR-floor problem, not a bidding problem. The dashboard tells the manager which lever to pull; pulling the bidding lever when the CSR floor is the problem corrupts the model for weeks.

AI Ad Copy Generation and the Landing-Page Rotation

GLSA does not let advertisers write ad copy in the traditional PPC sense โ€” the ad is the verified Google Local Service profile, the photos, the review snippets. PPC underneath GLSA is where ad copy matters, and AI ad-copy generation produced documented 12-25% click-through-rate lift in 2026 trades deployments versus generic human-written ad copy. The mechanic: AI ingests the shop's brand voice, the seasonal demand pattern (no-cool July, no-heat December, drain December, drain July differently), the 12 most-converting keywords from the last 90 days, and the competitor landscape; it produces 8-12 ad variants per ad group; the system rotates them, monitors click-through and conversion-rate signal, and demotes underperforming variants automatically.

The landing-page rotation is the second AI layer. PPC traffic lands on a service-area page, a brand page, or an offer page. The conversion rate on the page is the marketing manager's second-highest-leverage number after channel ROAS. AI-generated landing-page variants โ€” different headline framing, different proof-point ordering, different CTA wording, different photo selection โ€” get rotated through PPC traffic in A/B groups; the winning variant promotes; the losers retire. Documented 2026 conversion-rate lifts on rotated landing pages: 15-35% in residential HVAC, 18-40% in plumbing, 12-22% in roofing.

The discipline that keeps ad-copy and landing-page rotation honest: never let AI generate financing language, warranty terms, rebate amounts, or regulatory-disclosure copy. Those four categories require human review and AHJ-state-utility-specific verification. The AI drafts the persuasive surrounding copy; the human inserts the verified financial-and-regulatory specifics. The constraint field in the ad-generation prompt explicitly forbids invented APR, invented rebate caps, and invented warranty years. This is the same five-part-prompt discipline from Chapter 1 applied to the marketing surface.

The Booking-Percent Feedback Loop

GLSA AI bidding is only as accurate as the outcome data the shop feeds it. The single biggest leak in 2026 trades deployments is the booking-% feedback loop: the shop sends GLSA the "this call booked" signal for calls that booked but never ran, calls that booked but had wrong contact info, calls that booked but the customer cancelled within an hour. The algorithm learns from the dirty signal and bids on the next 200 calls with the dirty assumption.

The clean feedback loop has three checkpoints. Checkpoint one โ€” the booking flag fires only when the call ends with a confirmed slot in ServiceTitan, HCP, or Sera and a real callback number that pings live. Checkpoint two โ€” the booking flag updates to "ran" when the dispatcher confirms the truck rolled and the customer answered the door (or the slot was rescheduled, not cancelled). Checkpoint three โ€” the booking flag updates to "closed" when the invoice posts and payment captures. The three-stage signal trains the algorithm on real customer acquisitions, not on rings that converted to nothing.

The marketing manager's Monday morning task is to audit Friday's bookings against Friday's run-and-close data. Any booking that did not run gets reclassified; the GLSA outcome signal updates; the algorithm sees clean data on Monday afternoon. Skip the audit and the algorithm trains on noise. The Avoca-Ryze-ServiceTitan integration handles 70-80% of this automatically; the marketing manager's eyes are on the remaining 20-30% the integration cannot reconcile.

Negative-Lead Disputes โ€” The Discipline That Protects ROAS

GLSA charges per lead, not per booked call. The shop pays whether the call was a legitimate service inquiry, a wrong-number, a supplier asking for an estimate, a competitor's sales rep cold-calling, or a robocall. Google's policy: shops can dispute any lead that was not a legitimate service inquiry within 14 days, with a brief justification, and Google refunds the lead charge. The 2026 documented average across trades shops: 8-15% of GLSA leads are disputable. At $4,400/week spend and 12% disputable, that is $530/week or $27,500/year of recoverable spend.

The discipline is bigger than the refund. Every disputed lead also tells the GLSA algorithm "this was not a converting lead type." The algorithm learns to disfavor the disputed pattern. Shops that do not dispute negatives leak 10-20% of GLSA spend on non-service inquiries that the AI then learns are "leads" โ€” corrupting the feedback loop. Shops that dispute weekly tighten the algorithm's lead-quality model and protect the 30-50% AI uplift on top of the 3-4x ROAS baseline.

The 2026 workflow: every Friday, the marketing manager pulls the week's GLSA lead list, filters for the AI-flagged "low-confidence service inquiry" rows from CallRail Conversation Intelligence or the GLSA call recording transcripts, and submits the disputes in a single batch. AI drafts the dispute justification โ€” "this call was a supplier sales inquiry, not a service request, see transcript" โ€” and the manager pastes into GLSA. Total time: 25 minutes per week. Recovered spend: $20K-$30K annually. Algorithm tightening: ongoing, compounding.

The Disputed-Lead Categories the AI Catches

CallRail's Conversation Intelligence and Avoca's post-call classifier surface six categories of disputable lead in 2026 trades shops. Wrong-number โ€” caller dialed the wrong shop, no service intent. Supplier or vendor โ€” sales rep, not customer. Competitor โ€” competing shop owner cold-calling. Robocall or spam โ€” automated dialer, no human, no intent. Service-area mismatch โ€” caller is outside the shop's licensed coverage. Non-service inquiry โ€” caller wants a permit consultation, a code question, or a referral, none of which are billable. Each category has a one-line dispute template the AI generates; the manager submits the batch.

Connecting the Channels โ€” The Attribution Stack

GLSA does not run in isolation. The 2026 trades shop runs GLSA plus PPC plus organic plus direct mail plus NiceJob plus Hatch plus Yelp. The attribution stack โ€” which channel actually deserves credit for the closed customer โ€” is the marketing manager's hardest analytical problem. The owner's question is precise: which channel got 70% of last Tuesday's bookings, and is the marketing spend allocated against that proportion? AI-powered attribution closes 80% of the gap.

The 2026 stack: CallRail tags every inbound call with its originating channel via dynamic number insertion (each ad source rotates a unique tracking number); the closed revenue ties back to the call in ServiceTitan, HCP, or Sera; the multi-touch attribution model in CallRail or the marketing-attribution layer in ServiceTitan Marketing Pro computes channel credit on a first-touch, last-touch, or weighted-touch basis depending on policy. AI-generated weekly attribution reports surface the channel ROAS for each lever โ€” GLSA at 4.6x, PPC at 2.8x, direct mail at 1.9x, Hatch reactivation at 6.2x, organic search at 11x but with low volume. The owner sees the comparison in 90 seconds.

The discipline that protects attribution accuracy: dynamic number insertion on every channel without exception, weekly attribution audit on the channels that drove the top 10 closed jobs, and quarterly multi-touch attribution model review. The most common 2026 attribution failure is the "direct" or "unknown" channel bucket โ€” calls that came in without a tracking number, calls where the customer typed the main shop number from a billboard or a truck wrap. AI can guess at the original-touch source from CallRail's voice transcript ("I saw your truck on Poplar Ave last week"), but the guess is probabilistic; the discipline is to acknowledge the unknown bucket and shrink it through systematic tracking-number deployment.

What Good Looks Like โ€” The 90-Day Shape

A shop entering the GLSA AI bidding workflow in week one should expect a specific 90-day shape. Days 1-14: AI bidding turned on, ServiceTitan or HCP outcome connector live, weekly negative-lead disputes started. Cost per lead climbs 20-35% (the algorithm is rebalancing toward higher-value leads). Cost per booked call holds flat or drops slightly. Owner panics if not pre-briefed; marketing manager defends the rebalance and points at booked-call and ROAS metrics.

Days 15-45: the algorithm has 30 days of clean outcome data. Booking % on GLSA-sourced calls rises from 65% to 75-80%. ROAS climbs from baseline 3.2x to 3.8-4.2x. The 30-50% AI uplift begins to land. Cost per booked call drops from $58 to $44. Disputed-lead refunds running $400-$600 per week and improving algorithm precision.

Days 46-90: the algorithm has 60-90 days of clean data plus three iterations of ad-copy rotation and landing-page rotation. ROAS lands at 4.5-5.2x โ€” the full 30-50% lift on the 3-4x baseline. Booking % on GLSA leads steady at 80-85%. Cost per acquired customer drops 25-40% from baseline. The marketing manager's Friday recap shows the three metrics โ€” cost per booked call, cost per acquired customer, ROAS โ€” at the new normal; the owner reads in 90 seconds and approves the next quarter's spend allocation.

The shape compounds quarterly. The algorithm gets smarter every week; the ad copy and landing pages refine every two weeks; the dispute discipline tightens every Friday; the booking-% feedback loop cleans every Monday. The shops that hit 5x+ ROAS by month nine all have the same shape โ€” disciplined feedback, disciplined disputes, disciplined attribution, disciplined dashboard. The shops that flatline at 3.5x and complain about GLSA all skipped two or more of the four.

Key Takeaways

  • Cost per lead is the wrong metric. The three metrics that replace it are cost per booked call, cost per acquired customer, and GLSA ROAS โ€” refreshed weekly, dashboard-posted, defended by the marketing manager with a specific drag diagnosis (booking, dispatch-yield, channel-fit).
  • 2026 mature GLSA baseline is 3-4x ROAS. AI bidding layered correctly lifts that 30-50% on top of the baseline. At a $4,400/week spend ร— 35% lift, that is ~$80K incremental annual revenue from one optimization layer.
  • GLSA AI bidding shifts from buying rings to buying closed jobs. Cost per ring goes up; cost per acquired customer goes down. Owners who panic on the cost-per-lead spike at week 2 kill the experiment exactly when the algorithm is rebalancing โ€” the marketing manager's job is to pre-brief and protect the 90-day window.
  • The booking-% feedback loop is the algorithm's training signal. Three checkpoints โ€” booked, ran, closed โ€” feed clean data back to GLSA. Dirty signal corrupts the model for weeks. The marketing manager's Monday audit reconciles Friday's bookings against actual run-and-close; the AI-integration layer handles 70-80% automatically.
  • AI ad-copy generation lifts PPC CTR 12-25%; AI landing-page rotation lifts conversion 15-35% in residential HVAC. The constraint discipline โ€” no invented APR, rebate caps, or warranty years โ€” keeps the AI on the persuasive surface and humans on the financial-regulatory specifics.
  • Negative-lead disputes recover $20K-$30K annually at a $4,400/week shop and tighten the algorithm. 8-15% of GLSA leads are disputable in 2026; weekly batch dispute with AI-drafted justification takes 25 minutes; Ryze AI and CallRail surface the candidates.
  • Attribution accuracy lives in dynamic number insertion plus closed-revenue tie-back. The owner's question โ€” which channel earned last Tuesday's bookings โ€” gets answered in 90 seconds when DNI is deployed on every channel and ServiceTitan/HCP closed-revenue feeds the attribution layer weekly.
  • The 90-day shape: days 1-14 cost per lead climbs; days 15-45 booking % and ROAS climb; days 46-90 the 30-50% uplift lands. Owners who read cost per booked call and ROAS instead of cost per lead protect the experiment through the rebalance.