← Files Seal CopilotARCHIVED FILE
skills/seal-copilot/references/saas-playbook.md
3.93 KB · Oct 4, 2026 · 12:28 UTC
# SaaS & Lead-Gen Playbook Load when the customer sells software or generates leads rather than shipping products (signals: `signup`, `demo_request`, `trial_start`, `lead` or `contact` conversions; `pricing_view`, `cta_click`, `form_view` microconversions; `plan`, `company_size`, `industry` properties; heavy blog traffic). ## What is different about this vertical **Revenue is usually absent or misleading.** Most SaaS accounts pass no value on a signup, or pass a placeholder. Check `get_conversions` first: if `avg_value` is 0 or null, every impact estimate must be expressed in **leads**, and the user supplies the value per lead. Never invent one, and never present a lead count as revenue. **The conversion is the beginning, not the end.** A signup that never becomes a customer is not a win. Sealmetrics sees the acquisition, not the retention, so say so before recommending that someone scale a channel on signup volume alone. Where a `plan` property exists, use it — plan mix is the closest available proxy for lead quality. **The blog is an acquisition channel with a different job.** Informational traffic converting at 0.5% is normal and not a finding. What matters is whether it converts *at all* and whether the path from blog to product exists. ## Funnel Canonical stages: entrance → `pricing_view` → `form_view` → submit (`demo_request` / `signup` / `trial_start`). Map the real names via `list_microconversion_types`; common variants are `view_pricing`, `cta_click_demo`, `demo_form_view`, `contact_form_view`. Compute and track: - Pricing-view rate = pricing_view / entrances — top-of-funnel intent - Form-view rate = form_view / pricing_view — does the pricing page persuade - **Submit rate = conversions / form_view — the step that breaks most often** The submit rate is where SaaS funnels fail, and it fails silently: traffic, intent and form views all hold while submissions collapse. A required field, a validation error, or a third-party script is the usual cause. Always segment it by device before blaming the offer. ## Signature analyses 1. **Cost of a broken form.** `get_funnel` plus `get_microconversions( compare=previous)` per stage. If every stage above submit is flat and submit dropped, it is mechanical, not commercial. Quantify in leads: form views × (prior submit rate − current rate). 2. **Brand vs non-brand paid.** `get_terms(period=90d, utm_medium=cpc)`. Brand terms converting at several times non-brand is normal. The finding is when non-brand is most of the traffic and converts near zero — that is budget buying the wrong intent. 3. **Blog versus product paths.** `get_content_groups` and `get_landing_pages_by_content_group`. The classic result: most acquisition enters through the blog and converts at a fraction of the product pages. The recommendation is a path from blog to product, not "improve blog conversion". 4. **Plan mix by channel.** If a `plan` or `company_size` property exists, run `get_property_values(property_key=plan, group_by=utm_source, period=90d)`. Channels that bring enterprise-shaped leads deserve different budget treatment than channels that bring free signups, even at identical CR. 5. **Form friction by device.** `get_microconversion_details( conversion_type=<form_view>, device_type='mobile')` against the desktop call. A submit rate that is fine on desktop and halved on mobile is a form layout problem, and it is common. 6. **Lead-quality caveat on any scale recommendation.** Before recommending more spend on the highest-CR channel, state that Sealmetrics measures acquisition only, and suggest checking that channel's leads against the CRM. ## Recommendation framing for SaaS Express impact in **leads per month**, then multiply by the user's own value per lead if they provide one. State the acquisition-only limit whenever the recommendation involves scaling spend. For funnel repairs, give the expected submit-rate recovery and the date to re-check it.
SHA-256: 3f26636c352cd2b6a622225ccdb8c0fdbc84e381a911e7f7b238ab8bf7e5f6e2