We couldn't see what a stuck customer was doing, and our server logs had already vanished by the time we looked. This lays out what to add so that never happens again.
2026-09-15 · proposal, not a build ticket · related: Microsoft connect flow · Western Slope go-live tracker — mailbox RCA
On this page
On September 15, a Western Slope leasing agent got stuck on a screen in our Microsoft connect flow (see the linked page for the flow itself). We had no way to see what she'd actually clicked — no recording of her screen, no record of which button she pressed. We also had no product analytics telling us how many people hit that same screen before her. By the time we went looking, the server logs covering that window had already expired, hours later. Meanwhile our own admin page told us the connection was "granted" when it wasn't actually usable. Fede: "we can't be flying blind again."
We host on Vercel. Here's what it gives us out of the box, and what it doesn't.
| Tool | What it does | Limit / cost at our plan | How far back it goes |
|---|---|---|---|
| Web Analytics | Page views and custom events from the browser | Pro plan: 25,000 events/month included, then $3 per 100,000 | ~30 days |
| Speed Insights | Page load speed scores | Included on Pro | ~30 days |
| Runtime logs | Server request/error logs | Hobby: 1 hour. Pro: 1 day. Add-on "Observability Plus": 30 days | See limit column |
| Log Drains | Streams every log line to an outside address we control | Free on Pro plan | Forever — wherever we send it |
| Session replay (watching what a user actually did) | — | Vercel doesn't offer this at all | — |
Bottom line: Vercel can hold on to logs a little longer if we pay for the add-on, and it can hand us every log line for free via a drain — but it will never show us a recording of what a customer's screen looked like. That has to come from somewhere else.
Seeing what happened requires three separate layers. No single vendor covers all three.
| Layer | What it answers | Options | Cost at our size | How long it's kept |
|---|---|---|---|---|
| Product analytics | "How many people reached this screen, and how many got stuck?" | PostHog, Mixpanel, Amplitude | PostHog: free up to 1 million events/month. Mixpanel: roughly $450/month at our size. Amplitude: roughly $600+/month | PostHog keeps 3–7 years (or we self-host it and keep it forever) |
| Session replay | "What did her screen actually show, click by click?" | Sentry Replay (we already use Sentry), PostHog Replay, Microsoft Clarity, LogRocket | Sentry: 500 free, then roughly $30–50/month. PostHog: 5,000/month free. Clarity: free. LogRocket: $99+/month | Sentry & Clarity: 30–90 days. PostHog: 3 years |
| Long-term logs | "What did our server actually do, and can we still see it a year later?" | Vercel's log drain pointed at our own storage (AWS S3 + CloudWatch) | Roughly $10/month | ~400 days |
A receiver for the log drain is already being built (PR in flight) — that's the piece that lets us point Vercel's free log drain at our own AWS storage instead of paying for Vercel's short-lived add-on.
| Option | Tools | Cost now | What it misses |
|---|---|---|---|
| A — Lean (recommended) | PostHog for analytics, PostHog or Sentry for replay, log drain to our own AWS storage | ~$0–40/month | Nothing major at our size |
| B — Freemium mix | Microsoft Clarity for replay, PostHog for analytics, Sentry, log drain to AWS | ~$0–80/month | Clarity can't build funnels and only keeps 90 days |
| C — Sentry-only | Sentry for replay, Vercel Web Analytics, Vercel's Observability Plus add-on | Similar cost, fewer vendors to manage | Only 30 days of logs; weak at answering "how many people dropped off here" |
Recommendation: Option A. One tool (PostHog) can cover both the "how many people got stuck" question and the "what did her screen show" question, plus our own long-term log storage — for close to nothing at our current volume.
Once a tool is picked, these are the first places we'd add tracking — each one tagged with which user and which company it belongs to: