원클릭으로
lead-gen-calculator
Multi-step calculator UI for Astro. Quote tools, pricing calculators. Uses astro-forms for backend.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Multi-step calculator UI for Astro. Quote tools, pricing calculators. Uses astro-forms for backend.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Canonical lead-gen tracking for Astro.js on Cloudflare Workers (v6, Run 6 contract). Drop-in components: <Tracking/>, <TrackedForm/>, <PhoneLink/>, <CallbackButton/>. Two channels with a SHARED event_id: browser (GTM → GA4 / Meta Pixel / Google Ads) + server-side via the Soborbo event-gateway worker. Model 2: the browser OWNS on-site GA4 + Google Ads; the server sends Meta CAPI on-site (+ TikTok/LinkedIn/Microsoft click-ID forwarders, event_id-deduped) and Google Ads ONLY offline (CRM lead lifecycle, Google Data Manager API); the server sends NO GA4. Two gateway ingress paths: tokenless browser path for low-risk clicks (Origin allow-list + rate limit), authenticated server path (per-site token, service binding) for form/lead/purchase conversions dispatched by the site BACKEND. No Turnstile. Daily synthetic smoke-lead cron + digest guard. Consent Mode v2 + CookieYes, gclid/gbraid/wbraid/fbclid + full UTM capture, calculator funnel, form abandonment, phone dedup, first/last touch attribution. Bilingual / multi-
DEPRECATED (legacy, in old/) — use the `soborbo-tracking` skill instead for GA4 + Meta + Google Ads tracking on Astro. Kept for reference only.
Audit and strengthen visible E-E-A-T signals and AI-search (GEO) readiness on Astro lead-gen sites. Use when a page or site needs Experience/Expertise/Authoritativeness/Trust signals, author credibility, first-hand-experience proof, trust pages (about/contact/privacy/returns), NAP + company registration display, review/trust-mark surfacing, AI-crawler access in robots.txt, or answer-first content for ChatGPT/Gemini/Perplexity/AI Overviews. Also triggers on "EEAT", "E-E-A-T", "GEO", "AEO", "AI search visibility", "get cited by AI", "trust signals", "author bio", "local trust", or making a small/niche business outrank larger competitors. Runs a deterministic auditor with runnable tests. Delegates JSON-LD generation to schema-entity-graph and JSON-LD validation to schema-audit; delegates copy voice to humanise-copy.
Width-based responsive image patterns for Astro. Local build-time processing, per-format quality (AVIF/WebP/JPG/PNG), alpha-aware fallback, art direction, face-focus, OG generation, image SEO. Picture, ArtPicture, FixedImage components.
Per-site client tracker and Astro endpoint for the centralised soborbo-error-pipeline workers. Captures client JS errors via sendBeacon, forwards via console.error → Tail Worker. Server-side uncaught exceptions are captured automatically. ~1.5KB client bundle, no external deps. Email throttled to 1 per (site, code) per 4 hours by the notifier worker.
Form infrastructure for Astro projects. Contact forms, booking forms, quote requests. Zod validation, email delivery (Resend/Brevo), rate limiting, Google Sheets, postcode lookup, spam protection.
| name | lead-gen-calculator |
| description | Multi-step calculator UI for Astro. Quote tools, pricing calculators. Uses astro-forms for backend. |
Multi-step calculator UI. Requires astro-forms for backend.
Step-by-step calculator interface. Captures leads through progressive questions.
calculator_ready: true
steps: [...]
step_limits: { max_steps: 7, max_fields_per_step: 4 }
primary_conversion: { type: calculator, id: "quote-calc" }
conversion_verdict: PASS | WARN | FAIL
Calculator IS the primary conversion on its page.
primary_conversion:
type: calculator
id: "quote-calculator"
page: "/kalkulator"
No other forms on calculator pages.
| Page Type | Calculator Allowed |
|---|---|
| calculator | ✅ Required |
| landing | ✅ Optional (embedded) |
| service | ❌ Use form instead |
| thank-you | ❌ Forbidden |
| article | ❌ Forbidden |
Calculator on forbidden page = FAIL.
step_limits:
max_steps: 7
max_fields_per_step: 4
max_options_per_question: 6
| Limit | Value | Result if exceeded |
|---|---|---|
| Steps | 7 | FAIL |
| Fields/step | 4 | FAIL |
| Options/question | 6 | WARN |
Personal data only in final step.
| Step | Can Ask |
|---|---|
| 1-N | Service, location, preferences |
| Final | Name, email, phone, GDPR |
Email before final step = FAIL.
| Type | Behavior | Auto-advance |
|---|---|---|
| radio | Single select | Yes (200ms) |
| checkbox | Multi-select | When all selected |
| dropdown | Select menu | On selection |
| form | Contact (final) | No (submit) |
Calculator submissions MUST include:
data_contract:
required:
- quote_id # Unique hash
- all_answers # Complete step data
- source_page # Calculator URL
- timestamp # ISO datetime
- gdpr_consent # true + timestamp
calculated:
- price_estimate # If pricing enabled
- breakdown # Line items
post_submit_flow:
1_result_page: required # /eredmeny/[hash]
2_confirmation_email: required
3_analytics_event: required # calculator_submit
Any missing = FAIL.
| Element | Rule |
|---|---|
| Images | 1:1 aspect ratio |
| Cards | Brand color bg, white text |
| Social proof | Different per step |
| Chrome | Minimal, focus on question |
| Menu | Hidden on calculator |
| Phase | Action |
|---|---|
| First page | Eager load all assets |
| After load | Prefetch next step |
| API calls | Show skeleton |
gtm_events:
- calculator_step # Step viewed
- calculator_option # Option selected
- calculator_submit # Form submitted
- calculator_value # Quote amount
Missing events = WARN.
| Feature | Implementation |
|---|---|
| Persistence | localStorage |
| Back button | popstate listener |
| State restore | From history.state |
conversion_verdict: PASS | WARN | FAIL
issues: []
| Condition | Verdict |
|---|---|
| Calculator on forbidden page | FAIL |
| >7 steps | FAIL |
| >4 fields per step | FAIL |
| Email before final step | FAIL |
| Missing data contract field | FAIL |
| Post-submit flow incomplete | FAIL |
| >6 options per question | WARN |
| GTM events missing | WARN |
| All pass | PASS |
| Condition |
|---|
| Calculator on thank-you/article |
| Exceeds 7 steps |
| Exceeds 4 fields per step |
| Personal data before final step |
| No result page |
| No confirmation email |
| Condition |
|---|
| >6 options per question |
| GTM events not configured |
| No social proof variation |