LLL Unhinged · execution board · 26 September 2026
Kertújítók Google Ads: finish and prove it
● GATED · NOT LAUNCHED
Fresh 26 Sep exact-account reads show all 25 nonremoved Google Ads campaigns PAUSED. The approved six-service Search scope totals 6,500 Ft/day; the approved Ads AccountBudget has an INFINITE spending limit, so there is no provider-enforced 200,000 Ft monthly ceiling. Billing shows an outstanding balance and a separate earlier declined-payment dialog; it does not establish that service is already suspended. Three labeled protected-form attempts produced no accepted lead; the latest POST returned 403 with an empty Turnstile token. v44 is live at 100% traffic with v43 as rollback; all 11 public route bodies match the release build and all 31 Worker bindings match v43. Fresh post-deploy review passed checked hero/footer layouts, but the no-choice cookie notice did not appear in available in-app browser contexts, so its live fit and settings-reopen behavior remain UNVERIFIED. Ads remain paused and billing/form gates are unchanged. This board records evidence, not launch approval.
Owner: Luna Max executor2 / 8 criteria verified in this runPrior account work: configured, paused
End goal and finish line
End goal: All six agreed Search campaigns serve the right services and destinations within the whole-account 200,000 Ft monthly ceiling, with protected lead paths and conversion evidence that can be trusted.
Done means: Correct public pages and menus; all 16 controlled form cases and relevant tracking proved; safe billing and policy status; provider-confirmed activation and real 24h/48h impressions for six campaigns and both maintenance groups. If Péter’s payment or an action-time CAPTCHA step still prevents this, show the precise blocker and keep the incomplete tests red.
6Search campaigns
7service groups
200kFt monthly ceiling
26 Sep verified state
Delivery: Exact-account Ads API reads on 26 Sep show all 25 nonremoved campaigns PAUSED. The six target Search campaigns have seven enabled service groups and seven enabled, policy-approved ads. September 1–26 impressions, clicks, conversions and campaign cost read as zero.
Goal and destinations: All six target campaigns share one enabled campaign-level custom goal containing Contact Form Lead, Hero Form Lead and Widget Form Lead actions. Seven enabled target ads map to five intended service paths; every path returned HTTPS 200. The two enabled maintenance ads point only to /kertfenntartas. One additional approved maintenance ad remains PAUSED and points to /helyi-kertfenntartas.
Budget: The target six total 6,500 Ft/day; the other 19 campaigns remain paused. The approved account spending limit is INFINITE, so the provider does not enforce the 200,000 Ft ceiling. A conditional 65,000 Ft exposure covers only 26–30 Sep at 2× target daily budgets, with no prior September cost and the other 19 campaigns paused.
Billing: Billing Summary shows an outstanding balance and a warning that service may be suspended; this is not a read that service is already suspended. A separate earlier Google Payments dialog reported a provider-declined overdue payment. Péter owns payment; no payment action was taken.
Protected form: Three labeled production attempts produced no accepted lead. The latest POST returned 403 verification_failed with an empty Turnstile token; exact D1 lookup found no lead or linked outbox row. The Observability API query was rejected with authentication 403, so a request-specific log result is unavailable.
Site release: v44 `da8a54bf-e330-4f5e-b1c5-91f698fb2ef0` is at 100%; v43 `1a037394-c0df-4a22-ac84-cc117b762c46` is the rollback. All 11 public routes return HTTP 200 and exactly match the release build; all 31 bindings match v43. Fresh visual review passed the checked hero/footer layouts, but the no-choice cookie notice was absent in available in-app contexts, so its live fit and settings reopening remain UNVERIFIED. No Ads, billing, lead, form, consent or customer-flow state was changed.
Confirmed service map
Meeting + later chat: priority talajfúrás, betontörés, térkövezés. Smaller budgets for gyepszőnyegezés and standalone öntözőrendszer. One maintenance Search campaign covers short local mowing/leaf work and larger garden maintenance for Péter’s son. Google only. Maintenance retains exactly one 10 km radius around the existing Szigetszentmiklós point. The two enabled maintenance ads target the existing Kertfenntartás collection. One other approved maintenance ad is paused and points to /helyi-kertfenntartas; keep it paused or correct its destination before enabling that ad. No enabled target ad currently sends traffic there.
The six target daily budgets remain 1,800 + 1,700 + 1,300 + 450 + 450 + 800 Ft = 6,500 Ft/day. This is an operator allocation, not a meeting quote. It is within the conditional 26–30 Sep exposure only while the other 19 campaigns remain paused. Recalculate before any later-month launch.
26 September provider checkpoint
Campaign setup: Fresh exact-account reads at 06:42 and 06:45 UTC confirm six target Search campaigns, seven enabled groups and seven enabled/approved target ads. Every target campaign uses the same enabled custom goal with Contact Form Lead, Hero Form Lead and Widget Form Lead. All six remain PAUSED. Both enabled maintenance ads target /kertfenntartas; a separate approved ad for /helyi-kertfenntartas remains paused.
Destinations: The five service paths currently used by enabled target ads each returned HTTPS 200. The wider paused-account inventory has four 404 paths; none belongs to the current six-target ad set. Some paused ad records put UTM parameters after a URL fragment; no URL was changed.
Budget: All 25 account campaigns are paused. Their unique daily budgets total 30,887 Ft/day; the six-target subset totals 6,500 Ft/day. September 1–26 campaign cost is 0 Ft. At 2× target daily budgets for the remaining five September days, the conditional target-only bound is 65,000 Ft, below 200,000 Ft. This is not an account-level hard cap: Ads API reports the approved AccountBudget spending limit as INFINITE. Do not expand beyond the six target campaigns; recalculate any later-month plan.
Owner gate: Billing Summary’s “may be suspended” warning does not prove current suspension. A separate earlier Payments dialog reported a declined overdue charge. Péter handles payment. No payment action was taken; all campaigns remain paused.
Open facts to resolve from live systems
Has Péter resolved the Ads payment? Reread Billing and campaign eligibility afterward; do not infer resolution from the warning alone.
Can the normal protected widget issue a Turnstile response token or visibly present a challenge? Three labeled submissions have not yielded an accepted lead. No further submission, challenge or consent interaction was authorized in this pass.
After a valid token is available, can the remaining authorized test cases reconcile accepted app/D1 rows, GTM/GA4 session evidence and native Ads requests without counting QA as paid demand?
Does the live no-choice cookie notice appear and fit in a fresh browser context? The v44 in-app review did not show it; local geometry checks cannot establish live notice acceptance or settings reopening. Deep-open mobile-menu behavior also remains unverified; durable screenshot export was unavailable.
Before any launch, recheck the monthly budget exposure and keep the other 19 campaigns paused. The Ads API account limit is INFINITE, so the 200,000 Ft ceiling is not installed as an account hard cap.
End goal system
Input
Meeting + latest choices
Six services; Google only; 10 km local maintenance.
Input
Ads + Cloudflare state
Fresh provider account, live site and existing patch.
Deliverable
Correct journeys
Collection and irrigation pages, usable forms/menu.
Deliverable
Measured campaigns
Six eligible Search campaigns under cap.
Result
Serving proof
Real impressions and evidence-based handoff.
Route to the end state
1 · reconcile
Read live state
Account, billing, site release, active writers.
2 · repair
Finish site UI
Preserve patch and prove mobile/desktop.
3 · verify
Forms and tags
16 real protected test cases and attribution.
4 · gate
Budget + eligibility
Fresh ledger; payment and policy readback.
5 · launch
Enable + observe
Only passing campaigns; 24h/48h impressions.
Constraints and stop conditions
Cloudflare-only. Do not use or restore GAJA/GHL. Do not add a security layer. Preserve existing protection and unrelated work.
Péter handles payment/card. No agent payment retry, self-clicks, fabricated leads, protection bypass or client message.
Do not enable campaigns while billing, policy, budget, destination or measurement gate fails. Block only the affected action and preserve an exact resume point.
Every site change requires a live release receipt, practical rollback and postdeployment screenshots independently described by Luna High.
Observable criteria and evidence
2 / 8 passed · proof required for every green check
Site destination and menu
When the production site is opened at 390×844 and 1280×900 and each menu is expanded, then maintenance Ads point only to /kertfenntartas, the newer local mowing page is absent from menus, the collection hero has no oversized gap, and the full mobile submenu remains scrollable and above both page content and the sticky CTA, including after deep scrolling.
BLOCKED
Acceptance and evidence
Evidence slot: Live postrelease screenshots for hero, top and deep-scroll menu; blind Luna High descriptions; version and rollback receipt. Latest v44 evidence: all 11 public routes returned HTTP 200 and their bodies matched the release build; fresh post-deploy review passed the checked `/kertfenntartas` hero/footer presentation at desktop and mobile viewport sizes. The corrected v43 audit verified `/gyepszonyegezes` at both sizes; the prior `/gyepszonyegez` entry was a route typo. `/aszf` visibly retains `[kitöltendő]` statutory-detail placeholders. Available v44 browser contexts did not show the no-choice cookie notice, and the full mobile submenu was not checked after deep scrolling. Local CSS geometry is not live visual proof. Frames were available only in memory and durable screenshot export was unavailable.
Existing journeys preserved
When /kertfenntartas and /automata-ontozorendszerek are opened on mobile and desktop, then their enquiry forms and CTA controls remain visible and hit-testable, cookie settings reopens its existing panel, and the irrigation enquiry area explicitly welcomes standalone installation.
BLOCKED
Acceptance and evidence
Evidence slot: Live screenshots, button interaction results, forms/anchor inventory, blind Luna High descriptions. Earlier checks found both maintenance and irrigation CTAs and form-submit controls visible and hit-testable, and the standalone irrigation offer wording is present. v44 fresh visual review passed the checked footer/settings-control layout, but the no-choice cookie notice did not appear in available in-app contexts; reopening its existing panel and live notice fit therefore remain UNVERIFIED. No consent, form, Turnstile or customer-flow interaction was performed in the v44 review. A prior report recorded that an isolated disposable context clicked “Csak a szükségesek” and footer settings despite the consent-interaction stop instruction; that context was closed and its temporary state discarded, and no user browser state changed. The notice was absent in current QA, so its live stacking and physical gap could not be remeasured.
Campaign structure
When the designated Google Ads account is freshly queried, then six Search campaigns and seven service groups reflect drilling, concrete breaking, paving, small-budget turf, small-budget standalone irrigation, and two maintenance intents in one maintenance campaign; the five exact destination pages and current policy/ad status appear in a provider readback.
VERIFIED
Acceptance and evidence
Evidence slot: Sanitized campaign/group/asset report with query time; no old snapshot presented as current. Fresh exact-account Ads API reads at 06:42 and 06:45 UTC confirm the six target Search campaigns remain paused with seven enabled service groups. Seven enabled target RSAs are approved; all six campaigns share one enabled custom goal containing Contact Form Lead, Hero Form Lead and Widget Form Lead. Seven enabled ads map to five service paths, all HTTPS 200. The two enabled maintenance ads target /kertfenntartas. A third approved maintenance ad is paused and targets /helyi-kertfenntartas; keep it paused or correct its URL before enabling it. In the broader account, 25 campaigns are paused and 29 distinct routes were checked: 25 returned 200 and four 404s belong only to other paused campaigns. Six ad records have UTM parameters after a URL fragment; none was changed.
Targeting and budget
When all six settings and current-month costs are read back before any enablement, then Google Search only, the agreed service geography, one 10 km Szigetszentmiklós radius for maintenance, 6,500 Ft/day proposed allocation or a lower safe allocation, and a whole-account calendar-month exposure ≤200,000 Ft are shown in a dated ledger.
VERIFIED
Acceptance and evidence
Evidence slot: Settings export plus monthly cost/exposure formula including prior cost and budget-change days. Fresh account settings confirm Google Search-only target campaigns, the agreed service areas, and exactly one positive 10km Szigetszentmiklós radius for maintenance. The six target budgets total 6,500 Ft/day; the other 19 of 25 account campaigns remain paused. September 1–26 served campaign cost is 0 Ft. Conditional 26–30 Sep exposure at 2× target daily budgets is 65,000 Ft. The Ads API account budget is approved but has an INFINITE spending limit, so this is not a provider-enforced 200,000 Ft account cap; recalculate before any later-month launch.
Lead journey and measurement
When 16 labeled test cases across the 15 form paths and maintenance short/large selections are submitted through the actual protected site, then each accepted lead has its exact service/form/transaction ID in the application and D1, GTM/GA4 session evidence, and native Ads request evidence where applicable, without counting QA as genuine paid demand.
BLOCKED
Acceptance and evidence
Evidence slot: Per-case matrix with input, accepted/rejected result, D1, browser network, GTM/GA4 and Ads evidence; unresolved cases unchecked. Three labeled production attempts have produced no accepted lead. The latest POST to /api/lead returned 403 verification_failed with cf-turnstile-response length 0; exact production D1 lookup found zero lead rows and zero linked outbox rows. form-data traffic is not an accepted-lead or conversion receipt. No accepted application response, lead_saved event or native Google Ads conversion is evidenced. The public Turnstile host/mode configuration is valid, but why the widget supplied no token remains unknown. Observability API logging query returned 403 authentication error; this does not establish that no request log exists. Remaining cases stay unverified.
Billing and eligibility gate
When Billing, policy and campaign diagnostics are freshly read, then any remaining declined payment, disapproval or account limitation is identified with exact owner and action. If payment remains outstanding, campaigns remain paused.
BLOCKED
Acceptance and evidence
Evidence slot: Dated sanitized provider readback; Péter handles his own payment and card. Fresh 26 Sep Billing Summary shows an outstanding balance and a warning that service may be suspended; it does not establish that service is currently suspended. A separate earlier Google Payments dialog reported a provider-declined overdue charge. Péter owns payment and uses his own card; no card or payment action was taken. All 25 campaigns remain paused; seven enabled target ads are approved. Recheck billing and eligibility after Péter resolves payment.
Conditional launch and serving
When C1–C6 pass and safe billing is confirmed, then only eligible campaigns are enabled, actual provider statuses are read back, and genuine non-self-generated impressions >0 appear for each of six campaigns and both maintenance groups at the 24h/48h checkpoints.
BLOCKED
Acceptance and evidence
Evidence slot: Before/after campaign IDs/status, 24h and 48h provider metrics; zero means diagnose, not pass. Billing, accepted protected-lead measurement, and C1/C2 site checks remain unresolved. All 25 campaigns are PAUSED, with September 1–26 impressions, clicks, conversions and cost at zero. No campaign was activated, no media spend was forced, and no 24h/48h postactivation measurement window has begun.
Release and handoff
When the final version is released, then the canonical Cloudflare source contains the UI patch, live Worker version/rollback is recorded, this same board shows only evidenced passes, and a concise handoff distinguishes configured, tested, serving and blocked states.
PENDING
Acceptance and evidence
Evidence slot: Commit, provider release, live URL, screenshot set, dated board and report. Cloudflare readback identifies v44 `da8a54bf-e330-4f5e-b1c5-91f698fb2ef0` at 100%, with v43 `1a037394-c0df-4a22-ac84-cc117b762c46` as immediate rollback. The canonical Cloudflare repository contains the released `public/consent.js` source byte-for-byte; that documentation/source integration remains uncommitted. A fresh binding comparison found all 31 bindings identical to v43, and all 11 live route bodies exactly match the production build. The same board is being updated at its stable review URL. No-choice cookie notice acceptance and full C1/C2 visual acceptance remain incomplete, so C8 stays pending; Ads are still paused, and activation/spend is not evidenced.
Internal handoff contains the exact prior report, contract JSON, UI worktree, screenshot QA and rollback receipt.
Executor update rule: Add dated blue progress notes and proof links here; check a criterion only after the stated output is independently verified. Republish this same URL after meaningful changes.