The Pro base is $20 per user
Pro is billed per team member with dashboard access, not a flat team fee. A five-person engineering team is $100/month before anyone ships a deploy, and adding a design reviewer or a marketing manager for one project bumps that by another $20. Guest reviewers who only click preview links do not count, and members marked as billing-only also stay out of the seat count. This means the cheapest way to grow a team on Vercel is to be aggressive about seat hygiene: audit membership monthly, downgrade dormant users, and use the read-only Comments feature for external stakeholders.
Bandwidth is where growth teams get hit
Pro includes 1TB of Fast Data Transfer per month. Above that it is roughly $0.15 per GB, priced in generous rounding. A landing page that ships a 4MB hero video and gets 300k monthly visits blows through 1.2TB — that's $30 in extra bandwidth alone, before any of your app traffic. Compress video with modern codecs (AV1, VP9), ship smaller hero images with next/image or your own srcset, cache aggressively with s-maxage, and consider moving very large static files to object storage with cheaper egress. Bandwidth is often the single biggest surprise on a growing site's invoice.
Image Optimization sneaks up on you
Vercel's next/image loader charges per source image transformed, not per served variant. Pro includes 5,000 source images per month; each source beyond that costs roughly $5 per 1,000. A blog with 500 posts and three hero variants counts as 500 sources, not 1,500 — but a photo-heavy product catalog can wipe out the quota in a day. If your product images are already correctly sized, skip next/image and ship plain <img> with pre-optimized sources. Reserve next/image for genuinely responsive imagery where the transform actually earns its keep.
Function seconds add up on cron and revalidation
ISR revalidation and background cron jobs count against your GB-hour quota exactly like user traffic. A cron that runs every five minutes across three regions is 25,920 invocations per month before a single user hits your site. Multiply by handler duration and you have a real number. The fix is to batch: one cron every 30 minutes that processes a queue is dramatically cheaper than six crons each doing one thing. If a job runs in more than one region, ask whether it actually needs to.
Log Drains and observability
Native logs are 1-hour retention on Hobby and about 3 days on Pro. Anything longer requires a Log Drain to Datadog, Axiom, Logtail, or a self-hosted target, and Vercel bills roughly $0.005 per 1M log lines drained. High-cardinality logs — per-request debug lines, verbose SDK output, request/response body dumps — escalate this fast. Turn debug logging off in Production and only stream what you would actually query in an incident. Structured logs with a strict schema keep the drain cheap and the queries fast.
How teams keep the bill flat
- Move heavy static assets (video, big images) to Cloudflare R2, Backblaze B2, or a dedicated CDN with cheaper egress.
- Use next/image sparingly for hero images only; ship plain <img> with pre-optimized sources for the rest.
- Batch cron work into fewer, longer invocations rather than many short ones.
- Set a monthly spend cap in Team Settings → Billing to get alerts before overages compound.
- Move guest reviewers off the team seat count via the read-only Comments feature.
- Audit team membership every month and remove dormant seats.
- Drop debug-level logs in Production and route only structured events to your Log Drain.
A worked example
A pre-launch SaaS at 50k monthly visits pays $60 total: three seats × $20. At 500k visits with a video-heavy landing page, the same team pays $60 for seats plus about $50 in extra bandwidth, plus another $25 for image optimization if they lean on next/image — call it $135. At 5M visits the shape starts to matter: video moved to R2 saves $150 of egress; batched crons save another $30; and the invoice lands closer to $220 rather than $400. The lesson is that Vercel scales predictably if you understand which meter is running.