Reach a defensible end state in which the 21 intended EXACT campaigns can enter meaningful auctions, approved ads can serve, and the budget/bidding configuration cannot silently starve the account below the traffic needed for five verified phone-widget clicks.
Verify by timestamped Ads provider readback covering campaign/ad/ad-group status, policy status, bidding strategy, budget, impressions, clicks, cost, impression share and available lost-share fields for every target campaign.
Must not alter campaigns, ads, bids, budgets, billing, or policy objects. Must not treat enabled, review-in-progress, or HTTP 200 as proof of auction delivery.
For each scenario, record PREVENTED, EXPOSED, or UNKNOWN, the evidence chain, the earliest day-1-to-day-14 warning threshold, and a rollback-safe response with an owner.
Must not invent a widget-click rate to force a green verdict. Must not hide aggregate starvation by reporting only account totals.
Show observed click volume and the explicit range of website-click-to-widget-click assumptions required to reach five tracked widget conversions; label every unmeasured assumption and provide a machine-checkable calculation.
Must not claim future conversions or connected calls are guaranteed. Must not treat a widget click as proof of a completed local urgent call.
Identity and method. Fresh Google Ads API v24 read-only SELECT readback captured 2026-09-17 11:30:39Z, which is 13:30:39 CEST, for customer 4891907898. The provider identity was Csupi Autómentés, currency HUF, timezone Europe/Budapest. The focused readback returned 17 configuration datasets plus completed 14-day and 30-day performance queries with zero query errors. A separate conversion-performance SELECT readback completed at 2026-09-17 11:35:20Z for the same customer and window. No mutate service, paid-ad click, real call, synthetic gclid, synthetic conversion, GTM publish, Ads change, budget change, or website change was used.
Window and coverage. Performance is the last 14 complete account days, 2026-09-03 through 2026-09-16. The target filter is the exact set of 21 campaign names beginning EXACT |. It returned 21 unique campaign rows, all ENABLED / SERVING, 34 target ad-group rows with exactly one enabled and eligible group per campaign, and 82 target ad rows with exactly one enabled ad per campaign. The enabled-ad check is separate from paused historical objects. Sixteen paused target ads are disapproved and are not counted as live-ad policy failures. N/A in a performance cell means the provider did not return that share field for the observed volume, not zero.
Budget and bidding legend. P is the enabled shared primary pool at 4,276.30 HUF/day with 13 campaign references. S is the enabled shared secondary pool at 986.80 HUF/day with 7 references. G is the enabled standalone Generic pool at 1,315.80 HUF/day with 1 reference. These three pools total 6,578.90 HUF/day, or 199,998.56 HUF over 30.4 days. Primary targets use Manual CPC with a 1,100 HUF effective ad-group bid. Secondary targets use the shared Target Spend strategy with a 700 HUF CPC ceiling and provider system status LEARNING_NEW. Generic uses Target Spend with an 800 HUF CPC ceiling and LEARNING_SETTING_CHANGE.
| Target campaign | Campaign status / serving / primary | Ad group status / primary | Enabled ad status / primary / approval / review / strength | Bidding | Budget | Impressions / clicks / spend | Search IS / lost budget / lost rank |
|---|---|---|---|---|---|---|---|
| EXACT | Biatorbágy | Secondary | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 700 ceiling / LEARNING_NEW | 986.80 (shared 7) HUF/day | 1 / 0 / 0.00 | 10.0% / 50.0% / 50.0% |
| EXACT | Buda | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 2 / 1 / 2548.49 | 100.0% / 0.0% / 0.0% |
| EXACT | Budakeszi | Secondary | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 700 ceiling / LEARNING_NEW | 986.80 (shared 7) HUF/day | 0 / 0 / 0.00 | N/A / N/A / N/A |
| EXACT | Budaörs | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 6 / 0 / 0.00 | 100.0% / 0.0% / 0.0% |
| EXACT | Csepel | Secondary | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 700 ceiling / LEARNING_NEW | 986.80 (shared 7) HUF/day | 1 / 0 / 0.00 | 10.0% / 90.0% / 0.0% |
| EXACT | Diósd | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 0 / 0 / 0.00 | N/A / N/A / N/A |
| EXACT | Generic | Budakeszi 40 km | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 800 ceiling / LEARNING_SETTING_CHANGE | 1,315.80 (standalone) HUF/day | 1446 / 91 / 63426.94 | 45.4% / 30.6% / 24.0% |
| EXACT | M0 | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 0 / 0 / 0.00 | N/A / N/A / N/A |
| EXACT | M1 | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 10 / 0 / 0.00 | 50.0% / 10.0% / 40.0% |
| EXACT | M31 | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 2 / 0 / 0.00 | 100.0% / 0.0% / 0.0% |
| EXACT | M5 | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 10 / 1 / 618.06 | 71.4% / 14.3% / 14.3% |
| EXACT | M6 | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 0 / 0 / 0.00 | N/A / N/A / N/A |
| EXACT | M7 | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 0 / 0 / 0.00 | 10.0% / 0.0% / 90.0% |
| EXACT | Piliscsaba | Secondary | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 700 ceiling / LEARNING_NEW | 986.80 (shared 7) HUF/day | 0 / 0 / 0.00 | N/A / N/A / N/A |
| EXACT | Pilisvörösvár | Secondary | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 700 ceiling / LEARNING_NEW | 986.80 (shared 7) HUF/day | 0 / 0 / 0.00 | N/A / N/A / N/A |
| EXACT | Pomáz | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 2 / 1 / 3025.80 | 100.0% / 0.0% / 0.0% |
| EXACT | Solymár | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 2 / 0 / 0.00 | 100.0% / 0.0% / 0.0% |
| EXACT | Szentendre | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 7 / 1 / 1076.35 | 80.0% / 20.0% / 0.0% |
| EXACT | Törökbálint | Secondary | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 700 ceiling / LEARNING_NEW | 986.80 (shared 7) HUF/day | 0 / 0 / 0.00 | 10.0% / 90.0% / 0.0% |
| EXACT | Zsámbék | Secondary | ENABLED / SERVING / LEARNING | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | TARGET_SPEND / 700 ceiling / LEARNING_NEW | 986.80 (shared 7) HUF/day | 0 / 0 / 0.00 | N/A / N/A / N/A |
| EXACT | Érd | Primary | ENABLED / SERVING / ELIGIBLE | ENABLED / ELIGIBLE | ENABLED / ELIGIBLE / APPROVED / REVIEWED / POOR | MANUAL_CPC / 1,100 HUF | 4,276.30 (shared 13) HUF/day | 21 / 0 / 0.00 | 61.5% / 7.7% / 30.8% |
| Scenario | Verdict | Evidence chain | False-positive check | Day 1 to 14 warning, owner, safe response |
|---|---|---|---|---|
| 1 - Ads never became eligible | PREVENTED | 21 of 21 enabled target ads read ENABLED / ELIGIBLE / APPROVED / REVIEWED. Every target has exactly one enabled ad group and one enabled ad. This current policy state supersedes the supplied 2026-09-15 review-in-progress baseline. | Sixteen disapproved ads are paused historical rows. Seven campaign rows carry HAS_ADS_DISAPPROVED because of those historical objects, but no enabled target ad is disapproved. Campaign enabled status was not used as the pass. | Daily: any enabled target ad not approved, reviewed, and eligible is an immediate warning. Owner: Ads operator. Response: capture a fresh readback, isolate the ad object, and use only a reversible, pre-snapshotted policy or creative action after separate authorization. |
| 2 - Enabled campaigns did not enter meaningful auctions | EXPOSED | All 21 campaigns read ENABLED / SERVING, but 9 of 21 had zero impressions and 16 of 21 had zero clicks in the completed 14-day window. Eight secondary campaigns are still LEARNING on the shared TARGET_SPEND strategy with LEARNING_NEW. | The 21 serving statuses prove availability, not auction volume. The zero-impression and zero-click counts are campaign-level evidence, while the exact root cause remains shared with rank, budget mix, and demand. No account total was used to hide the silent rows. | Day 3: zero impressions in a three-day complete slice. Day 7: zero clicks in a target campaign. Day 14: fewer than five verified widget clicks. Owner: Ads operator. Response: snapshot first, identify the affected pool, change at most one reversible setting only if authorized, and retain the prior state for rollback. |
| 3 - Budget fragmented across too many targets | EXPOSED | The structure has three enabled pools, not 21 isolated budgets, but the standalone Generic pool took 63,426.94 HUF and 91 of 95 clicks. Location-specific targets took only 7,268.70 HUF and 4 clicks, or 10.28% of target spend. The required location-specific majority is strictly more than 50%. | Shared primary and secondary pools are a partial mitigation, so this is not claimed as proof that isolated budgets caused the result. The exposure is the observed concentration and starvation outcome. Spend share is computed from target rows, not from the account total that includes unrelated history. | From day 3, each day: trailing three-day location-specific spend share at or below 50% is a warning. Owner: Ads operator with account owner. Response: preserve the three pool amounts, snapshot, and make any reallocation as a reversible, one-change action with the prior pool map as rollback. |
| 8 - Ad rank was too low | EXPOSED | All 21 enabled target ads have provider ad strength POOR. Generic has 1,446 impressions, 24.0% rank-lost impression share and 30.6% budget-lost share in 14 days. Its 30-day rank-lost share is 38.4%, so the high-volume warning is not based on the low-sample M7 row. | The ads are policy-approved and eligible, so approval was not substituted for rank. The 90.0% M7 rank-loss value has zero impressions and is treated as low-sample context only. The Generic row supplies the material-volume evidence. | Daily: POOR enabled ad strength plus rank-lost share at or above 20% with at least 100 impressions, or an eligible target with zero impressions after day 3. Owner: Ads operator. Response: capture the provider state, test one reversible copy, bid, or landing hypothesis only when authorized, and retain the prior ad state. |
Observed denominator. The 21 target campaigns generated 95 Ads clicks and 1,510 impressions in the 2026-09-03 to 2026-09-16 window. The formula is expected_widget_clicks = Ads_clicks × assumed_website_click_to_widget_click_rate. The minimum assumed rate to reach five tracked widget conversions is 5 / 95 = 0.05263157894736842, or 5.2632%. This rate is not observed and is not a forecast.
| Assumed website-click to widget-click rate | Expected widget clicks from 95 Ads clicks |
|---|---|
| 0% | 0 |
| 1% | 0.95 |
| 2.5% | 2.375 |
| 5.2632% | 5.000 |
| 10% | 9.5 |
Separate proxy readback. The primary/included GA4 custom action 6509672057, named Phone click proxy (GA4) - Secondary, returned 11.0 all_conversions and 0.0 conversions in the same 14-day segmented Ads query. Its counting type is MANY_PER_CLICK. These are provider-reported proxy events, not independently verified unique widget clicks. A widget tap is not a connected call, and no local, urgent, answered-call, job, or revenue outcome is inferred.
{"schema":"fm01-sufficiency.v1","window_start":"2026-09-03","window_end":"2026-09-16","target_campaigns":21,"ads_clicks":95,"widget_click_threshold":5,"formula":"expected_widget_clicks = ads_clicks * assumed_website_click_to_widget_click_rate","required_rate":0.05263157894736842,"assumption_rates":[0,0.01,0.025,0.05263157894736842,0.1],"expected_widget_clicks":[0,0.95,2.375,5,9.5],"provider_proxy_action_id":"6509672057","provider_proxy_all_conversions":11,"provider_proxy_counting_type":"MANY_PER_CLICK","proxy_is_connected_call":false,"local_urgent_call_outcome":"UNKNOWN"}
Final FM01 state. Deliverable A is complete with a timestamped row-level inventory. Deliverable B has four defensible verdicts: one PREVENTED and three EXPOSED. Deliverable C is formula-backed and keeps every unmeasured rate and call-quality outcome explicit. The tracker remains private local HTML, and all progress text is inside this blue #agent-progress section.