A blocked free user is a new logo at zero CAC.
Free users do real work through agents — scans, analyses, exports — and reach for paid value in the middle of it. Each of those moments is acquisition demand you already earned: a conversion worth full LTV, not a lost transaction. Today, most of them end in a dead error.
Your free tier is being evaluated inside an agent.
Free tier, real work — and a reach for paid value.
The free user reaches for paid value.
A dead end here doesn't cost a task. It costs the logo.
Conversion at peak intent — on demand you already earned.
A new customer, minted on your Stripe, inside the thread.
Value delivered and recorded — the loop closes.
The free tier's best moment is invisible to you.
A free user asks an agent to do premium work. The free tier delivers real value — the scan runs, the problem is found — and then the paid capability they reach for next returns a dead end. There's no billing record, so your funnel has no row for this user; no pricing-page visit, so your analytics never see the intent. The highest-intent acquisition signal your product generates simply evaporates.
- Free users have no billing record — so most funnels literally cannot see them.
- The lost event is a logo at full LTV, not a transaction — the worst-shaped leak there is.
- The demand was already earned: your free tier did the selling, then the door was closed.
A funnel before the billing record. A customer before the dashboard.
Observe-always capture records every free-tier moment at every posture — free users get a funnel the day they connect, before they exist in your billing system. When they hit the gate, the offer renders at peak intent, framed by the work just done. Checkout mints a brand-new customer on your own Stripe, inside the thread, and the blocked call reruns. Conversion at zero CAC, on demand you already earned.
- Observe-always: moments are recorded at every posture — offering is a separate, gated decision.
- Vendor-mode checkout can mint a brand-new Stripe customer — acquisition-capable by design.
- Attribution is deterministic from first tool call to first invoice: session → subject → customer.
Free users are watched carefully, never worked over.
Acquisition is where trust is cheapest to lose. The observation layer and the offer layer are deliberately separate.
Rows are not messages.
Observe-always means moments become analytics rows at every posture. What the user sees stays posture-gated — you can count your free-tier demand for months before offering anything.
Only a real block offers.
A free user browsing never sees a pitch. Every offer requires a recorded blocking event they just hit — enforced in the schema, tested in CI, auditable per offer.
Pseudonymous by architecture.
Free users are identified by a vendor-hashed subject reference — PII is prohibited by contract. Per-user frequency caps and cooldowns apply before there's ever a customer record.
Your next customer is inside an agent right now.
Start in analytics posture and count the free-tier moments you're missing — then convert them at zero CAC.