THE COLLISION: TWO GOOGLE CHANGES THAT ONLY MATTER TOGETHER
Two things happened in Google Ads this year. Both were reported. Neither was reported alongside the other, which is where the actual story sits.
First, Google took the bid away. Local Services Ads are migrating into Performance Max with pay-per-lead goals. The phased rollout began in August 2026 for US home and storefront service categories — plumbing, HVAC, electrical, appliance repair, cleaning, lawn care, roofing, pest control, moving. Service-area businesses and custom configurations follow in late 2026. Non-US accounts and the remaining categories land in 2027.
Read the deprecation list carefully. Manual bidding: gone. Vertical-level Target CPA: gone. Run a multi-vertical campaign and you now receive a single unified campaign-level Target CPA.
Think about what that does to a real business. You had drain cleaning producing leads at one cost and full system replacement producing leads at four times that, and you bid them separately because the jobs are worth wildly different amounts. Now they share one target. The algorithm will find you whichever is cheaper, and cheaper is almost never the one that pays your rent.
One operational warning before you migrate: weekly budgets convert to daily, monthly spend caps at daily budget × 30.4 days, and historical LSA reports do not transfer. Export first, or you lose the baseline you'd need to prove the migration hurt you.
Second, Google started grading your leads for you. AI-qualified call conversions hit the Google Ads Help Center on 21 April 2026. Google's AI now analyzes call recordings for intent — someone inquiring about a specific service, scheduling a consultation, showing readiness to purchase — and uses that instead of call duration as the primary conversion signal.
It writes summaries and applies hashtags like `#HighIntent` and `#ConsultationScheduled` in your Call Details reporting. If no recording exists, it falls back to duration. If there's no forwarding number, it falls back to ad interaction data alone. Call recording is on by default for most accounts. Currently US and Canada only, both ends of the call, with healthcare and financial services exempt from automatic recording.
Now put the two together.
Google removed your ability to bid differently for different kinds of business in the same month it appointed itself the judge of which leads are good. Control did not disappear. It moved — from the bid to the signal. And if you don't supply the signal, the platform supplies its own, and Google's definition of a high-intent call quietly becomes your bidding target.
That's the whole game now. Everything below is how you take the signal back.
WHY LOCAL IS STRUCTURALLY DIFFERENT FROM ECOMMERCE
Most paid media advice is written for eCommerce, then handed to local businesses with the nouns swapped. It doesn't transfer, because local businesses break two assumptions the entire optimization stack is built on.
Assumption one: the money event happens in the browser. For a D2C brand it does. Add to cart, checkout, purchase, value parameter, done — the pixel sees the rupee.
For a local business the money event happens in a service bay, a classroom, a chair, a counsellor's cabin, or a WhatsApp voice note at 9 PM. No pixel reaches any of those places.
So every local ad account optimizes against a proxy: a form fill, a phone call, a direction request, a click-to-WhatsApp. The proxy is not the profit. It correlates with the profit loosely and inconsistently, and the gap between the two is where the budget bleeds out.
Assumption two: fulfillment is unbounded. An eCommerce brand can take a thousand extra orders this week and the warehouse absorbs it. A four-bay workshop cannot service a thousand extra cars. A coaching centre has a fixed number of seats and one admissions counsellor per shift.
This second one is more consequential than the first, and almost nobody accounts for it. I'll come back to it.
And the measurement product Google built for local businesses excludes most local businesses. Store visit conversions require "enough ad clicks or impressions" and "enough foot traffic" to clear privacy thresholds. Google does not publish those numbers and states plainly that they vary by advertiser. You need active location assets and a verified Business Profile. Sensitive categories are excluded outright.
Translation: the flagship local measurement feature is gated behind an undisclosed volume floor. If you're a single outlet, you will likely never see it. Chains sometimes clear it. Nobody can plan around a threshold that isn't published.
That gap — between what closes the sale and what the platform can see — is where your CAC lives.
THE CATCHMENT P&L
Before you touch a campaign setting, build this. It's a spreadsheet exercise. It costs nothing, takes an afternoon, and I've yet to meet a local operator who has done it.
Pull twelve months of closed customers. For each one, capture:
- Pin code of the service address, or of the customer's home for a storefront
- Gross profit, not revenue — after cost of service, travel time, technician hours, discounting, and no-shows
- Time from first contact to close
- Whether it repeated
Then aggregate by pin code, and by drive-time band from your outlet.
I'm not going to hand you a benchmark spread here, because no credible one is published and I'm not inventing one. Run it on your own data. Whatever the spread turns out to be, it is the number your ad account is currently pretending doesn't exist.
Here is the shape of the output. This is illustrative structure, not client data — the bands and multipliers are yours to compute:
| Drive-time band | Share of closed jobs | Gross profit per job | No-show / cancel rate | Indexed value | Suggested rule |
|---|---|---|---|---|---|
| 0–10 min | Highest | Highest | Lowest | 1.0 baseline | `MULTIPLY` above 1.0 |
| 10–20 min | High | Mid | Low | Near baseline | No rule, or slight uplift |
| 20–35 min | Mid | Lower — travel time eats margin | Rising | Below baseline | `MULTIPLY` below 1.0 |
| 35+ min | Low | Lowest, sometimes negative | Highest | Well below baseline | `MULTIPLY` at floor, or exclude |
Two columns do the heavy lifting and both are usually missing from ad-side reporting entirely: gross profit per job, and no-show rate. A pin code that books enthusiastically and cancels at three times your average is not a good pin code. It looks identical to a great one in your Google Ads conversion column.
This table is your Catchment P&L. Everything downstream is just teaching the machine to read it.
DRIVE TIME, NOT RADIUS
A 10 km radius is a circle drawn on a map by someone who has never driven it.
In Kolkata, 10 km is not a circle. It's a shape determined by the EM Bypass, the river, the flyovers, and whether the crossing you need is open at 6 PM. A customer 4 km away on the wrong side of the Hooghly costs a technician more time than one 9 km straight down the Bypass. Same circle. Completely different job economics.
Same logic in any real city. Bengaluru has ORR. Mumbai has the creeks. Delhi has the Ring Road. The circle is a lie everywhere; it's just more expensive in some places than others.
So stop thinking in radii and start thinking in isochrones — polygons of equal travel time, not equal distance. Generate them for your peak service hours, not at 3 AM when the map looks generous. A dinner-service restaurant and a 10 AM diagnostic clinic have different catchments from the same address. Rebuild them seasonally too — monsoon moves drive times materially, and asymmetrically by direction.
Then map your Catchment P&L profit bands onto the isochrones. Now you have something the ad platform can actually be told: a set of geographic units, each with a known profit index attached.
THE MECHANISM: CONVERSION VALUE RULES
This is where the strategy stops being a spreadsheet and becomes a setting.
Conversion value rules let you adjust the value Google records for a conversion based on the conditions under which it happened. The supported condition types are audience, geographic location, device, and travel itinerary.
The technical specifics, because they constrain the design:
- Three actions available: ADD, MULTIPLY, and SET
- `MULTIPLY` is capped to a 0.5–10x range
- Maximum two conditions per rule, and two dimensions per rule set
- Each rule belongs to exactly one rule set
- Where multiple geo conditions match, the most precise location wins — so a pin code rule overrides a city rule
- Supported on Search, Shopping, Display, and Performance Max
- Requires value-based Smart Bidding — Target ROAS or Maximize Conversion Value — and conversion value tracking already implemented in the account
- Certain conditions are unavailable to housing, employment and credit advertisers under Google Ads policy
Read that list again with the LSA migration in mind. Performance Max is where Local Services Ads are going. Conversion value rules work in Performance Max. Google closed the bidding door and left the value window open.
The build, in order:
01. Get real values into your conversions first. A binary "Lead" event with no value makes every rule below meaningless. You need value-based bidding running before a value rule can do anything.
02. Group your pin codes into three or four profit tiers from the Catchment P&L. Not twenty. The rule limits and the volume in a local account both punish over-segmentation.
03. Write one rule set with geographic conditions, using `MULTIPLY` up on your top tier and `MULTIPLY` down on your bottom tier. Keep the baseline tier ruleless.
04. Leave it alone for a full learning cycle before judging it. You changed the objective function, not a bid — the system needs to re-learn.
The Meta side, and the asymmetry
Be clear about this, because a lot of writing on value-based bidding implies the two platforms are equivalent. They are not.
Meta has no native geographic conversion value rule. There is no equivalent setting to configure.
What you do instead is send the real number. Push the margin figure yourself through the Conversions API, resolved by location at the point of upload, rather than firing a flat lead event and hoping.
{
"event_name": "Lead",
"event_time": 1755302400,
"event_id": "job_88213_kol700156",
"action_source": "phone_call",
"user_data": {
"ph": ["<sha256 of E.164 phone>"],
"zp": ["<sha256 of 700156>"],
"ct": ["<sha256 of kolkata>"]
},
"custom_data": {
"currency": "INR",
"value": 4820,
"content_category": "hvac_install",
"drive_time_band": "0_10_min",
"lead_outcome": "closed_won"
}
}Three things about that payload matter more than the rest:
- `value` is gross profit on the closed job, not the invoice total, not the estimated lifetime value, not a guessed lead score. Feed revenue and you train the algorithm to chase revenue at any margin.
- `event_id` is what stops the browser pixel and the server event double-counting the same job. Get deduplication wrong and you'll inflate your own numbers, then optimize toward the inflation.
- The identifiers are SHA-256 hashed before they leave your infrastructure. This is not optional under DPDP, and it's the difference between a match rate that works and one that doesn't.
Meta's ranking stack, meanwhile, has been rebuilt around finding relevance in a much larger candidate pool. Andromeda, its retrieval engine, narrows tens of millions of ad candidates to a few thousand before ranking even starts, on the back of a reported ~10,000x model capacity increase, 3x+ inference throughput, +6% recall at retrieval and +8% ad quality on selected segments. Meta reports roughly 22% ROAS lift for Advantage+ Creative adopters, and announced a Generative Recommender ranking system on 29 July 2026 with a reported 15.7% conversion increase on Facebook.
The practical read for a local advertiser: the system got much better at evaluating candidates, which means it got much better at acting on the signal you give it. Give it a flat lead event and it will find you flat leads with extraordinary efficiency.
THE HONEST CAVEAT
Google's own documentation contains the counter-argument to everything above, and I'd rather hand it to you than have you find it later.
Google states that Smart Bidding already uses geography, device and first-party audience lists as signals. It warns that if a segment converts better, and your reporting reflects that, Smart Bidding already accounts for it.
That is true. It is also exactly why the strategy works.
Smart Bidding models geography against the values you report. If every lead enters the system as a binary conversion, or at one flat value, then variation in gross profit by pin code is not in the data. Not partially represented. Not weakly weighted. Absent.
The machine can learn that pin code 700156 converts at a higher rate. It cannot learn that a job in 700156 nets you three times the margin of a job forty minutes away, because you never told it, and there is no path by which it could observe that. Your cost of technician time is not a Google-visible quantity.
So a conversion value rule is not a bid adjustment dressed up in new clothing. It's not you second-guessing the model on something it already knows. It's you supplying a variable that exists only inside your accounting system.
Where the caveat bites for real: if your geographic profit variance is genuinely small, this work isn't worth doing. Build the Catchment P&L first and find out. Don't configure rules for a spread that isn't there.
CAPACITY IS THE REAL CEILING
Here's the reframe I'd argue is worth more than the entire technical section above.
An eCommerce brand maximizes profit per rupee of ad spend. Fulfillment is effectively unbounded, so more volume at an acceptable margin is always better.
A local business maximizes profit per unit of finite capacity. Bays, chairs, seats, tables, counsellors, technician-hours. That number is small, physical, and fixed in the short term.
Past that ceiling, an additional lead does not have diminishing value. It has negative value. And the mechanism is a loop:
- Lead volume exceeds what the front desk can answer
- First-response time slips from minutes to hours
- Close rate falls, because whoever called you also called two competitors
- Service quality drops for customers you did take, because the team is buried
- Review scores fall
- Review scores feed directly into Local Services Ads ranking and Google Business Profile visibility
- Your organic and LSA placement degrades
- Cost per lead rises next month
You paid money to make next month more expensive. You are not scaling the media. You are scaling the queue.
What to do about it:
- Set the capacity ceiling as a hard input, not an afterthought. Jobs per day per technician, seats per batch, covers per service.
- Vary budget by day of week against actual utilization. Most local businesses are capacity-starved on Tuesday and capacity-blown on Saturday, and spend identically on both.
- When you hit the ceiling, raise the value floor rather than the budget. Don't buy more leads. Buy better ones, by tightening which conversions carry weight.
- Instrument first-response time and treat it as a marketing metric. In a capacity-constrained business it is one, because it moves close rate and review score, and review score moves your cost per lead.
Seasonal businesses should build this into the annual plan. If your admissions cycle has one eight-week window, capacity in week three is worth something entirely different from capacity in week nine.
THE SIGNAL LAYER: WHY THE PIXEL CAN'T HELP YOU
Everything above depends on getting an outcome that happened offline back into an ad platform, attached to the right click, carrying a real number.
A browser pixel cannot do this. It never could. The customer closed on a phone call, in a WhatsApp thread, or standing at your counter. There is no page view at the moment of profit.
The stack that does work is not exotic, but it does have to be built properly:
01. Server-side collection. A server-side GTM container on Cloud Run or Stape becomes the single place events are enriched and dispatched. It's where hashing happens, where consent state is enforced, and where you attach a value that the browser never knew.
02. A durable click identifier. `gclid` and `fbclid` captured at first touch and written into the CRM record alongside the lead. Without this, nothing you do later can be joined back to the ad that caused it.
03. Outcome scoring at the CRM, not the ad platform. The job closes, the invoice is raised, the margin is known. That's your conversion, and its value is gross profit — not the invoice figure.
04. Offline upload on a cadence that matches your sales cycle. A home services business closing in 48 hours and a coaching centre closing in six weeks need different schedules. Upload too late and it falls outside the attribution window; upload a placeholder value early and you've trained the model on a guess.
05. Deduplication discipline. Shared `event_id` between browser and server. Done wrong, this duplicates events and inflates every number you're about to make decisions on.
06. WhatsApp thread outcomes, scored and returned. In India this is where a large share of local sales actually close. Thread outcome — closed, quoted, ghosted, wrong-area — pushed back with a value rather than a flag.
Google's AI-qualified call conversions are a coarse automated version of step 03, running on Google's judgment rather than your P&L. US and Canada only, for now. That's not a reason for an Indian operator to wait — it's the reason to build your own version first, so that when the feature lands you're feeding it rather than being defined by it.
The deep technical build is in my server-side tracking guide, and the server-side tracking service page covers what a production install involves.
THE INDIA LAYER: DPDP IS AN ADVANTAGE, NOT A TAX
Almost everything written for Indian marketers about the DPDP Rules is compliance panic. Deadlines, penalties, checklists, fear. That framing gets the strategic picture backwards for local businesses specifically.
The facts first. DPDP Rules 2025 are notified. Consent Manager registration opens November 2026. Full enforcement begins 13 May 2027, with penalties up to ₹250 crore.
Consent must be free, specific, informed and unambiguous — no pre-ticked boxes, no bundled permissions. Purpose limitation means data you collected to fulfill an order cannot quietly migrate into a retargeting pool. Section 9 prohibits targeted advertising directed at children and requires verifiable parental consent for minors' data.
Now the part nobody is saying.
After May 2027, third-party audience pools and purchased lists stop being a usable growth tactic in India. The businesses that get hurt are the ones whose targeting was built on data they never collected themselves.
A local business collects its data face to face. The customer stands at your counter, gives a phone number, and can be asked for free, specific, informed, unambiguous consent — the exact standard the Rules demand — in a way no data broker can replicate. Your competitors' audience pools expire. Yours is legal, first-party, richer, and tied to actual gross profit.
That's a moat. It's just one that has to be built before it's needed, because consent gathered badly today cannot be retrofitted in 2027.
Three things to do now:
- Instrument consent capture at the physical point of contact, with purpose stated separately for service delivery and for marketing. Bundled consent is not consent.
- Enforce consent state at the server container, so an unconsented record cannot be uploaded as an offline conversion by accident. This is the specific technical reason a server-side layer stops being optional.
- Ed-tech and coaching operators: read Section 9 before your next campaign. If your ads are directed at students under 18, the exposure is structural, not a settings problem.
WHAT TO DO IN THE NEXT 30 DAYS
None of this needs a consultant. It needs an afternoon and some discipline.
01. Build the Catchment P&L. Twelve months of closed jobs. Pin code, gross profit after all service costs, no-show flag. Aggregate. Look at the spread.
02. Generate isochrones for peak operating hours and map the profit bands onto them. Discard the radius.
03. Audit what value your conversions currently carry. If the answer is "none" or "one flat number," that's your first fix and everything else waits behind it.
04. Compute your capacity ceiling per location, per day of week. Then compare it against last quarter's lead volume by day. Find the days you were buying leads you couldn't serve.
05. Get `gclid` and `fbclid` into the CRM record at first touch, if they aren't already. Nothing downstream works without this.
06. Write one conversion value rule set. Three tiers, geographic conditions, `MULTIPLY` up on the top tier and down on the bottom. Then leave it through a full learning cycle before you touch it again.
If step 03 reveals that your tracking can't support any of this — which is the common outcome — the paid media audit is the fastest way to find out how deep the problem goes before you spend money on top of it.
WHO THIS IS NOT FOR
I'd rather lose the reader here than waste their money.
If you run a single outlet, this work does not pay for itself. Do the Catchment P&L anyway — it's an afternoon. But the full build, with server-side collection, CRM integration, offline upload and margin modeling, costs more than a single-location ad budget can justify. At one outlet, a data engagement is a large share of total spend, and I'd be taking money to make you worse off.
Where the economics work is repetition. A chain running eight outlets at ₹4L a month each has ₹32L of monthly spend and eight versions of the same geographic problem. The engineering cost spreads across eight P&Ls, and the first reallocation typically funds the work.
The clearest fit:
- Multi-location retail, F&B and fitness — 5+ outlets, where the profit spread between locations is already visible in the accounts and nobody has connected it to media spend
- Education and coaching groups — multiple centres, admissions cycles, counsellor-led close, and a Section 9 problem arriving in May 2027
- Franchisors with co-op ad funds — the strongest fit, because the franchisor is already arguing about which franchisee deserves which lead, and the Catchment P&L settles it with data instead of politics
- D2C brands opening physical retail — running into the offline-close measurement gap for the first time
If you're a single shop, take the spreadsheet exercise and the capacity ceiling. Skip the rest until you have location number five.
Everything in this post is executable without me. If you run it and the spread is real, the hard part is not the strategy — it's wiring the offline close back into the platform without corrupting the data you already have.
That's the conversation I'm useful for. If you want to have it, bring twelve months of closed jobs with pin codes attached and we'll look at the actual numbers rather than a hypothetical. I work with brands across India and eight other markets, and I meet clients on-site across Kolkata — details on the Kolkata consulting page.