Csupi · LLL · Prepare only

Verification and Constraints

Wider agreed coverage, equally counted phone actions, clean test data and a reusable skill.

READY FOR REVIEW · not launched0 / 12 verified

End goal and end state

Goal: Serve the requested area and hours, count reveals and widget clicks equally, and separate deliberate tests from customer conversions.

Finished means live settings and both measurement paths are verified, a reusable skill is installed, and exact proof and rollback are documented.

Prepare now: review this contract and the unsent client reply. No campaign change, skill installation or executor launch yet.

What changes

Confirmed: all 21 campaigns, weekdays 06:00–22:00 Budapest time. Generic: 50 km from central Budapest. Local campaigns: Hungary presence retained. Mobile-only and existing bids/budget/copy stay.
Confirmed: reveal and widget clicks are equally important. Either can qualify for the same Primary phone-intent conversion. Count One avoids deliberately counting two leads from the same ad interaction. Existing genuine phone CTA coverage stays.
Proposed center: Deák Ferenc tér. Executor must resolve and record its map coordinates. This is a practical interpretation of central Budapest, not a client-specified pin.
Separate bidding choice: Manual CPC stays. Both actions count, but Google does not automatically change manual bids using conversions. A Smart Bidding change is outside this contract.
Boundaries: weekends stay off. These are ad-serving hours, not edits to the website or Google Business Profile opening hours. Actual-call tracking and a mandatory call log are not required.

End goal system

flowchart TD
A["Agreed Search coverage
Weekdays 06–22, Generic 50 km central Budapest"]:::confirmed --> B["Normal visitor
Consent-aware measurement"]:::confirmed B --> C["Reveal or widget click
Both equally eligible"]:::confirmed C --> D["One Primary phone-intent goal
Count One, separate action diagnostics"]:::confirmed Q["Explicit QA run
Choose supported isolation method"]:::open --> R["Debug evidence only
No production conversion pollution"]:::confirmed S["Reusable skill
Client-specific inputs and proof"]:::confirmed --> Q P["Deák Ferenc tér center
Proposed landmark to resolve"]:::assumption --> A classDef confirmed fill:#E8F5E9,stroke:#2E7D32,color:#173B25 classDef assumption fill:#FCE4EC,stroke:#C2185B,color:#5B1430 classDef open fill:#FFFFFF,stroke:#94A3B8,color:#475569,stroke-dasharray:5 5

Green means a confirmed requirement, not completed implementation. Pink is a proposed detail. Dashed nodes remain open.

Route to the end state

flowchart LR
A["Client hours and area
Confirmed requested changes"]:::confirmed --> R B["Working phone-intent import
Preserve both action types"]:::confirmed --> R C["Test-contaminated reporting
Separate QA from now on"]:::confirmed --> R R["Review this board
Read and reconcile comments"]:::open --> L["Later explicit Launch
One Sol Medium executor"]:::open L --> I["Scoped implementation
Refresh, snapshot and change"]:::open --> V["Observable verification
Provider reads and controlled tests"]:::open --> E["Verified rollout and skill
Evidence, limits and rollback"]:::open classDef confirmed fill:#E8F5E9,stroke:#2E7D32,color:#173B25 classDef assumption fill:#FCE4EC,stroke:#C2185B,color:#5B1430 classDef open fill:#FFFFFF,stroke:#94A3B8,color:#475569,stroke-dasharray:5 5

Deliverables and verification

Center Generic targeting on Budapest

0 / 2
Generic targeting/Users/agency/Documents/Agty/csupi/deliverables/measurement-rollout-plan-20260925 Google Ads Locationshttps://ads.google.com/

the Generic campaign has one enabled50km proximity centered on provider-resolved Deák Ferenc tér and PRESENCE; other20local campaigns retain their Hungary PRESENCE coverage.

Verification and Constraints
  • ✕ no nationwide Generic targeting or addition instead of replacement
  • ✕ no narrow radii added to local campaigns
  • ✕ no unrelated campaign/asset changes.

Evidence: not yet produced. Planned work is not a pass.

Screenshot pending: actual post-change interface or selected debug event. Attach blind Luna High description and parent comparison.

Extend weekday ad-serving hours

0 / 2
Weekday schedule/Users/agency/Documents/Agty/csupi/deliverables/measurement-rollout-plan-20260925 Google Ads schedules + pacinghttps://ads.google.com/

all21targets serve only Monday–Friday06:00–22:00 Budapest time.

Verification and Constraints
  • ✕ no weekend serving or timezone/account-time mutation
  • ✕ no GBP/site business-hours edits
  • ✕ no increase to the agreed planning/exposure band and no bid-strategy or budget change under this contract. Minimum spend remains demand dependent. If verified exposure already exceeds the planning band, report the precise limited decision rather than rewriting unrelated budgets under schedule authority.

Evidence: not yet produced. Planned work is not a pass.

Screenshot pending: actual post-change interface or selected debug event. Attach blind Luna High description and parent comparison.

Count both phone actions equally

0 / 2
Equal conversion goal/Users/agency/Documents/Agty/csupi/deliverables/measurement-rollout-plan-20260925 GTM + GA4 + Adshttps://analytics.google.com/

reveal and widget interactions feed one Primary phone-intent union without duplicate union-event firing for one interaction, with action/placement diagnostics. Count One controls Ads aggregation for the same conversion action, not unique people, calls or jobs.

Verification and Constraints
  • ✕ don't promote both overlapping Ads actions to Primary or duplicate legacy events
  • ✕ don't demote reveal, require connected calls, alter user-approved copy or remove other existing phoneCTAs
  • ✕ preserve dial/reveal/clipboard behavior and consent choices. Explain CountOne aggregation without implying both actions individually always yield two Ads credits.

Evidence: not yet produced. Planned work is not a pass.

Screenshot pending: actual post-change interface or selected debug event. Attach blind Luna High description and parent comparison.

Separate tests from customer conversions

0 / 2
QA isolation/Users/agency/Documents/Agty/csupi/deliverables/measurement-rollout-plan-20260925 Consent + measurement routeshttps://analytics.google.com/

deliberate QA remains observable with a stable run identifier and never contributes to production business conversion counts or eligible bidding signals. Normal visitors retain consent-aware measurement.

Verification and Constraints
  • ✕ no fakegclid, self-clicking paid ads, realcalls, conversion uploads or fabricated business events
  • ✕ no broad source/IP/referrer exclusion that catches customers
  • ✕ no changing consent default to inflate measurement. Keep raw identifiers/private telemetry local. Do not expose test routes that inject conversions into another client/property. Prefer a reversible routing/marking solution
  • ✕ if an Active GA4 exclude filter is used, first prove QA-only matching and disclose its irreversible incoming-data exclusion. Legacy data is not rewritten
  • ✕ supply a reporting exclusion rule for known historic QA.

Evidence: not yet produced. Planned work is not a pass.

Screenshot pending: actual post-change interface or selected debug event. Attach blind Luna High description and parent comparison.

Isolation and test order

Execution order and isolation proof: inventory every phone conversion sender in the deployed site and GTM, including imported GA4 and direct Ads, before interacting. Establish a reversible QA route or outbound interception first, verify it on each sender, and only then run C5/C7/C8. The explicit marker must be available before any conversion sender evaluates, survive same-session navigation/reload, have a bounded lifetime, and clear at teardown. A marker arriving after the first event is a failed test, not partial success. Keep a private run ledger with run ID, timestamps, destination and evidence hashes.

A GA4 filter in Testing is not an exclusion. Never rely on Testing or debug_mode alone to prevent imported conversions. If selecting a filter-based route, validate matches with non-key QA probe events or a separate QA destination while suppressing business conversion submissions, account for propagation delay, and retain sender suppression until actual exclusion is independently evidenced. An Active filter is optional, not required when routing meets the outcome. Do not activate irreversible filtering merely because it appeared in the earlier recommendation.

Implementation freedom: use explicit short-lived QA flag/runID, dedicated QA property or route, validated traffic_type filter, or other supported method that meets both coverage and nonpollution criteria. A separate stream in the same GA4 property alone is not sufficient isolation. No new login/security layer, no broad platform infrastructure. The test mechanism is measurement routing, not an access-control system.

Install reusable conversion QA skill

0 / 2
Reusable skill/Users/agency/Documents/Agty/csupi/deliverables/measurement-rollout-plan-20260925 Skill creator + isolated fixtures/Users/agency/.agents/skills/ads-qa-isolation/

canonical ~/.agents/skills/ads-qa-isolation/SKILL.md and only useful supporting helpers are discoverable from Codex, client-neutral and independently usable on another client without carrying Csupi identifiers or granting write authority.

Verification and Constraints
  • ✕ no replacing existing skills, Claude-specific installation or modifying unrelated clients
  • ✕ no global permission to publish/mutate accounts
  • ✕ no sprawling framework. Preserve per-client configuration, consent semantics, exact identity checks, rollback and source qualification. Invoke skill-creator and writing-for-agents during implementation, and document how to apply it in one concise example.

Evidence: not yet produced. Planned work is not a pass.

Deliver verified rollout and recovery evidence

0 / 2
Verified handoff/Users/agency/Documents/Agty/csupi/deliverables/measurement-rollout-plan-20260925 Provider readbacks + review host/Users/agency/.agents/skills/ads-qa-isolation/

stable board with actual saved state, evidence, minimal rollback and remaining business limits, plus one operating handoff.

Verification and Constraints
  • ✕ no acceptance from worker claims alone, no exposing sensitive correspondence/telemetry, no new security gate
  • ✕ no automatic clientsend or extra audio infrastructure. One combined parent recap.

Evidence: not yet produced. Planned work is not a pass.

Screenshot pending: actual post-change interface or selected debug event. Attach blind Luna High description and parent comparison.

Parent ↔ executor handoff

Parent · PREPARE

Contract is ready for review. Independent Sol intent review completed. Two required Luna reviewer models were unavailable; full council coverage is incomplete. No executor exists for this run. Later Launch is required.

Executor · NOT LAUNCHED

Current item: none. No criteria have execution proof yet.

Client reply

An unsent reply is saved in Missive. It describes verified tracking and planned changes separately.

Open the draft in the client conversation

Review and recovery

Review the proposed map center, equal-counting rule and Manual CPC boundary. A later explicit Launch authorizes implementation. The executor snapshots scoped state, verifies changes and preserves a narrow rollback.

No new security gate or public private telemetry. The HUF 190,000–215,000 monthly range remains the agreed planning band, not a native hard cap or spend guarantee. Preserve approved ads, keywords, CPC limits, local targeting and existing weekly pacing authority.