Only 9.898% of the measured 30-day target-campaign spend was tied to keywords whose text explicitly contains a location or motorway token. The required threshold is strictly above 50%; generic terms consumed 90.102%.
Current evidence: the corrected target is not met
In the completed 14-day window, 9 of 21 target campaigns had zero impressions and 16 had zero clicks. The Generic campaign produced 91 clicks and 63,426.94 HUF of the 70,695.64 HUF target spend.
tel: proxyThe primary proxy uses a broad telephone-link trigger and MANY_PER_CLICK counting. Paid-source phone-link activity exists, but widget-only, exactly-once attribution and connected nearby urgent call quality remain unproved.
Only the Generic campaign has an explicit Budakeszi 40 km proximity criterion. The other targets have no active location rows, and all 21 campaigns have no ad schedule; the real service area and answering hours still need operational confirmation.
Every currently enabled target has one enabled, eligible, approved and reviewed ad. The disapproved records are paused historical ads, so current policy eligibility is not the main delivery blocker.
All active final URLs retained the expected tracking and phone-widget markers. Representative desktop, mobile and paid-state views showed the widget without horizontal overflow, but no paid click or real call was manufactured.
Pre-mortem: 16 ways the campaign failed
Ads never became eligible
The replacement responsive search ads remained under review, were disapproved, or inherited a destination-policy problem. The team mistook “enabled” for “eligible” and did not confirm approval at the ad level. With no approved creative entering auctions, the account could not produce enough verified phone-widget clicks.
Campaigns were enabled but did not enter meaningful auctions
A bidding strategy, hidden bid limit, shared portfolio state, or serving restriction kept bids below the competitive threshold. Nothing visibly broke because the campaigns still showed as enabled in the interface. Impressions and clicks stayed near zero, so the five-conversion target was mathematically unreachable.
The budget was fragmented across too many targets
The roughly 200,000 HUF monthly budget was divided among 21 exact-match campaigns with uneven search demand. High-opportunity campaigns exhausted their allocation while low-volume campaigns held budget that could not spend. The account produced too little qualified traffic even though total configured budget looked adequate.
Location targeting missed the real service area
Non-Generic location scopes were not fully verified, or Google used presence-and-interest behavior that admitted the wrong users. Valuable nearby searches were excluded while clicks from people outside the serviceable area consumed spend. The geographic campaign names created false confidence that targeting matched operational reality.
Ads ran when the business could not answer
Ad scheduling and the client’s real call-answering availability did not match. Urgent users who received no quick answer called another tow service even after tapping the phone widget. The campaign bought intent during hours when the operational follow-through needed to turn a tracked tap into a real job was absent.
Exact-match coverage was too narrow
The 86 positive exact keywords did not cover enough of the language real motorists used in urgent situations. Search volume was spread across variants, routes, breakdown types, and colloquial terms that the account never entered. Relevance stayed controlled, but reach collapsed below the level required for five verified phone-widget clicks.
Controls blocked good demand or made campaigns compete
Legacy negative keywords, cross-campaign negatives, or exact-term overlap routed searches incorrectly or prevented them from serving. The structure looked clean in a campaign list but behaved differently at query level. Good searches either matched no campaign or reached a weaker ad and landing page combination.
Ad rank was too low
Expected click-through rate, ad relevance, landing-page experience, or practical bid ceilings were not competitive enough. The campaigns received occasional impressions but lost most available auctions to rank. Two weeks elapsed with traffic far below the volume needed to produce five verified widget-click conversions.
The landing path failed for real users
Final URLs returned 200 during a basic check but a redirect, consent layer, mobile layout, or intermittent asset failure disrupted real sessions. Users saw a slow, confusing, or partially broken page after clicking the ad. The destination was technically reachable yet practically unable to convert enough visitors.
Consent prevented measurement from starting
The user’s consent state suppressed GTM, GA4, or Google Ads tags without a verified recovery path after acceptance. A paid visitor could reach the site and tap the phone widget while the measurement chain remained silent. The team then optimized and reported against incomplete data that made successful demand look like failure.
The widget event did not fire exactly once
The primary phone-widget conversion was missing on some widgets, fired on page load, or duplicated when one user tapped more than once. Google Ads therefore received a distorted signal instead of one reliable conversion for each genuine widget interaction. Reported conversions could stay below five or look healthy while real caller intent was weak.
Paid attribution was lost before the widget click
Redirects, consent behavior, session changes, or parameter handling dropped the paid-session identity before the user tapped the phone widget. The click event reached analytics but could not be tied back to the correct Google Ads traffic. Real paid intent existed, yet the agreed verification rule still counted fewer than five attributable conversions.
Tracked taps did not become useful calls
A phone-widget click only proved intent to open the dialer, not that the call connected or concerned an urgent nearby breakdown. Wrong-number taps, abandoned dialers, spam, distant callers, and non-urgent price shoppers inflated the proxy. Without a privacy-safe call-outcome log, the campaign could not prove it generated the local urgent calls the client actually wanted.
The phone widget created too much friction
Mobile users faced a hidden control, unclear label, overlapping consent layer, poor tap target, or a delayed number reveal. Urgent prospects could not reach the dialer quickly and chose another tow service. Ad clicks accumulated without enough genuine phone-widget interactions.
Generic terms consumed most of the budget
The Generic campaign or generic keywords won more auctions and absorbed at least half of spend. Location-specific campaigns remained starved even though nearby urgent callers were the priority. Total traffic looked active, but the account violated the explicit goal that a majority of spend go to location-specific keywords.
No one detected the shortfall early enough
The team lacked a daily pacing view that joined Ads delivery, location-keyword spend share, widget-click events, and privacy-safe call outcomes. Warning signs were reviewed as separate dashboards and were explained away as reporting delay. By day 14 the shortage of local urgent calls was undeniable, but the corrective window had already been lost.
Four independent LUNA.MaX goal loops
Each embedded tracker is a prebuilt black-text contract. Agent-added progress and evidence must remain inside its blue progress region.
Eligibility, auctions, bidding, and budget
Geography, schedule, keywords, and query routing
Widget measurement, attribution, and call outcomes
Landing call path, location spend share, and early warning
Shared non-negotiable rules
| Required end state | Verification | Must not do |
|---|---|---|
| Every assigned scenario has a PREVENTED, EXPOSED, or UNKNOWN verdict. | Timestamped provider, live-site, script, or screenshot evidence is attached; “configured” alone cannot pass. | Never convert an UNKNOWN into a pass by assumption or by relying on campaign names. |
| The 14-day target is measurable without pretending a tap equals a call. | A reproducible ledger connects Ads traffic to unique phone-widget conversions, location-keyword spend share, and separately recorded privacy-safe call outcomes. | Never click a paid ad, place a real call, fabricate identifiers, or classify a widget tap as a connected local urgent caller. |
| All recommendations have an owner, trigger, and rollback-safe response. | The tracker names the evidence threshold that should cause intervention before day 14, including strictly more than 50% location-keyword spend. | Never change Ads, GTM, GA4, the production website, billing, or budgets in this audit. |
| Private client data stays private. | Only localhost and approved private files are used; evidence redacts secrets, phone numbers beyond the public business number, and caller details. | Never publish this board or screenshots to a public host and never expose credentials or caller PII. |