Free monitoring and analytics for vibe coding (2026)
How to see traffic and errors on a vibe-coded project — Google Search Console and GA4 as the start-here, then PostHog, Sentry, Better Stack, Axiom, Plausible/Umami, and UptimeRobot.
~16 min read
Parts 3–6 gave you a URL, a database, login, and mail. Without measurement, you are guessing. Part 7 is monitoring and analytics. This site already runs Google Analytics 4 and Google Search Console — that is the start-here, not PostHog.
Traffic/SEO is one table. Product, errors, logs, and uptime are another. Do not run GA + Plausible + PostHog on the same page “for completeness.”
Traffic / SEO map
| Tool | Best for | Free quota | Card? | Cliff |
|---|---|---|---|---|
| Search Console | Index, queries, sitemap | Free | Google account | Not session analytics |
| GA4 | Traffic on this site’s stack | Free standard property | Google account | Cookie consent in the EU; GA360 is paid |
| Plausible / Umami | Privacy-first alt | Self-host OSS | No (self-host) | Plausible Cloud is paid; pick one stack vs GA |
Checked 21 Sep 2026. Microsoft Clarity (free heatmaps) is a sibling script to GA — not a third analytics religion. This is not a GTM tutorial; gtag on the page is enough to start.
Product / errors / uptime map
| Tool | Best for | Free quota | Card? | Cliff |
|---|---|---|---|---|
| PostHog | Product + errors in one | 1M events; 100k exceptions | No | 1 project on Free; then pay-as-you-go |
| Sentry | Error tracking | 5,000 errors; 1 user | No | Team from $26/mo; 30-day lookback on Developer |
| Better Stack | Errors + uptime + status | 100k exceptions; 10 monitors | No | Free copy is personal projects; 3-day log retention |
| Axiom | Logs | 500 GB ingest / mo (Personal) | No | 10 GB-hours query; 25 GB storage; Cloud $25/mo |
| UptimeRobot | Ping the URL | 50 monitors; 5-min interval | No | Hobby / non-profit positioning; Solo for faster checks |
Uptime pings ≠ error tracking. A 200 OK can still be a broken checkout.
Wire it from Cursor
Add Google Analytics 4 using measurement ID G-XXXXXXXX from .env (or a documented constant). Walk me through: (1) Analytics account → GA4 property → Web data stream, (2) a single gtag snippet in the HTML head — no extra tag managers, (3) Search Console Domain property → DNS TXT verify → submit sitemap.xml, (4) URL Inspection on the homepage: Test live URL, then Request indexing if needed, (5) do not add Plausible or PostHog in this change unless I ask. Never commit a secret that is not meant to be public; GA measurement IDs are public-by-design.
Google Search Console — setup (start-here, SEO)
Search Console is free. It answers “will Google show this URL?” — queries, index coverage, sitemaps — not button clicks. Pair it with GA4. Steps below follow Google’s own help: add a property, verify ownership, submit a sitemap, URL Inspection.
1. Open Search Console and add a property
- Sign in at search.google.com/search-console with the Google account that should own the site.
- Click Add property.
- Prefer a Domain property (
example.com, nohttps://, nowww). That covers http/https and all subdomains in one place. Domain properties verify with DNS only. - If you only control a single host path (or cannot edit DNS yet), use a URL-prefix property (
https://www.example.com/) and pick HTML file, HTML tag, GA, or GTM verification — but Domain + DNS is the cleaner long-term choice for a vibe-coded site on your own domain.
2. Verify ownership (Domain = DNS TXT)
- In the Domain flow, Google shows a TXT (or CNAME) record.
- Open your DNS host (Vercel Domains, Cloudflare, Namecheap, …) and add that record on the apex.
- Wait until the record resolves — Google notes this can take up to a few days for some providers. Then click Verify in Search Console.
- Leave the TXT record in place. Removing it later can drop verification.
Stuck? Re-check the exact hostname and that you pasted the full token. Google’s verification guide lists common DNS mistakes.
3. Publish a sitemap Google can fetch
- Ship a public sitemap on the live host — usually
https://example.com/sitemap.xml(or a sitemap index). It must not require login and must not be blocked byrobots.txt. - In Search Console, open Sitemaps.
- Paste the exact sitemap URL (redirects are not followed in that field) and click Submit.
- Optional: confirm fetch with URL Inspection on the sitemap URL — you want crawl allowed and page fetch successful.
Submitting a sitemap tells Google where the file lives. It does not guarantee every URL is indexed, and you should not refresh the report every hour.
4. Live URL test + request indexing
- Open the URL Inspection tool (search bar at the top of Search Console).
- Paste a full page URL that belongs to the verified property (for example your homepage or a new post).
- Read the indexed result. If Google has never seen it, or the live page differs, click Test live URL.
- Fix anything obvious:
noindex, robots block, 404, soft redirect, wrong canonical. - When the live test looks healthy, click Request indexing. There is a daily limit — for many new pages, a sitemap with accurate lastmod beats spamming Request indexing.
Indexing often takes about a day, sometimes longer. A successful request is a queue ticket, not a promise.
Google Analytics 4 — setup (start-here, traffic)
GA4 standard is free. This site uses GA4 via a single gtag snippet in <head> — same pattern you should use on a static or Vercel site. Steps below follow Google’s setup help: create account / property / stream and install the Google tag. Skip Google Tag Manager unless you already live in GTM.
1. Create an Analytics account (first time only)
- Go to analytics.google.com and sign in.
- If you have never used Analytics, click Start measuring. Otherwise open Admin → Create → Account.
- Name the account (your project or company). Set data-sharing options, then continue to the first property.
2. Create a GA4 property
- In Admin → Create → Property (or continue from the account wizard).
- Enter a property name, reporting time zone, and currency.
- Pick industry and business size, then how you intend to use Analytics (this only shapes default reports).
- Click Create and accept the Terms of Service / Data Processing Amendment when prompted.
3. Add a Web data stream
- Admin → Data collection and modification → Data Streams → Add stream → Web.
- Enter your site URL (for example
https://example.com) and a stream name. - Leave Enhanced measurement on unless you know you want to turn events off later.
- Click Create stream.
- Copy the Measurement ID — it looks like
G-XXXXXXXX. Treat it as public-by-design (it ships in page HTML), but still do not invent a second ID on the same page.
4. Install gtag once in <head>
- On the stream page: Google tag → View tag instructions → Install manually.
- Copy the full snippet Google shows (loads
gtag/js?id=G-…thengtag('config', …)). - Paste it immediately after the opening
<head>on every page (or once in your shared layout / HTML chrome). One Google tag per page — not a second copy in the body, and not “GA plus GTM plus another G-” stack on day one. - Deploy. Data collection can take up to ~30 minutes to start; then open the Realtime report and hit your own site to confirm hits.
Shape of the tag (your real ID replaces the placeholder):
<!-- Google tag (gtag.js) — paste after <head> -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXX');
</script>
If you sell to the EU, you still need a consent path before firing analytics cookies — this is not legal advice; it is why cookie banners exist next to GA.
5. Optional: link Search Console ↔ GA4
Once both products are live, you can link them in GA Admin so Search Console queries show up next to Analytics reports. Nice-to-have after the two setups work on their own.
Plausible / Umami
Self-host Plausible or Umami if you do not want Google. Plausible Cloud is a paid product. If you already have GA4, do not add these “for comparison” on production.
PostHog
PostHog Free (no card): 1 million analytics events, 5,000 session recordings, 100,000 error exceptions, 1 project, ~1-year retention. That is product analytics and a Sentry-shaped errors bucket. Pay-as-you-go after the include. Use it when you care about funnels, not only sessions.
Heads-up: PostHog product tours stop on 26 Sep 2026 (changelog, 27 Aug). Free migrate path: npx @posthog/wizard@latest skill creating-product-tours.
- Create a project → project API key in
.env(POSTHOG_KEY/ host). - Init the SDK once. Autocapture is noisy — name the events that matter.
Sentry
Sentry Developer: $0, 1 user, 5,000 errors, 5 GB logs, 5M spans, 50 replays, 1 uptime monitor, 30-day lookback. Team from $26/mo (annual default). This is the error specialist. SENTRY_DSN in .env — DSN is designed to live in the client SDK; still don’t commit extra tokens.
Better Stack
Better Stack Free: 10 monitors, 1 status page, 100,000 exceptions/month, 5,000 replays, 3 GB logs with 3-day retention. Official copy: personal projects. Use it when you want uptime + errors in one dashboard without Sentry’s 5k error ceiling.
Axiom
Axiom Personal: 500 GB/month data loading, 10 GB-hours query, 25 GB storage, 30-day retention, no card. Cloud is $25/mo with a larger include. Logs, not a GA replacement.
UptimeRobot
UptimeRobot Free: 50 monitors, 5-minute interval, hobby / non-profit positioning, no card. Solo is the paid step for 60-second checks. Ping / and the checkout API, not only the homepage.
Also: Microsoft Clarity
Clarity is free heatmaps and session recordings. One script next to GA if you want rage-clicks. It is not Search Console and not Sentry.
Free vs paid (the honest cliffs)
- GSC / GA4 — stay free unless you buy GA360.
- PostHog — card when you leave 1M events or want more projects.
- Sentry — Team when a second human needs login, or 5k errors is a joke.
- UptimeRobot / Better Stack — paid when the URL is a business (their Free copy is hobby/personal).
Practical tips
- One analytics stack — GA4 or Plausible, plus optional PostHog for product. Not all three.
- Errors ≠ uptime — keep a ping and an exception tracker.
- Source maps on paid error tools — minified stacks waste the 5k Sentry include.
- Quotas reset monthly — screenshot Usage after a launch spike.
FAQ
What is the difference between Google Search Console and Google Analytics?
Search Console shows how your site appears in Google Search (queries, clicks, indexing). Google Analytics (GA4) shows what visitors do after they land. Use both: Domain property + DNS verify + sitemap in Search Console, then a GA4 web stream + one gtag snippet in the HTML head for traffic. As of Sep 2026 both stay free on the standard tiers this guide uses.
What is the best free analytics stack for a vibe-coded side project?
Start with Search Console + GA4 for SEO and traffic, then add one product/error tool — usually PostHog Free (1M events, 100k errors/month) or Sentry Developer (5k errors, 1 user). Do not run GA4 and Plausible and PostHog on the same page. Privacy-first path: self-host Plausible or Umami instead of GA4, still keep Search Console. If you are still assembling the stack, start with free AI API keys and free vibe coding courses — those are the highest-traffic Free vibe coding stack posts on this site.
How do I add free analytics to a vibe-coded project?
Create a GA4 property and web stream, paste one gtag snippet in the HTML head, verify Search Console (Domain + DNS), submit the sitemap, then use URL Inspection + Request indexing for key pages. That is the start-here for traffic and SEO on a vibe-coded site.
Is PostHog free? How does it compare to Google Analytics?
Yes for most side projects: PostHog’s free allowance includes about 1M analytics events per month (plus replay and error quotas in-product). GA4 is better for marketing attribution and Google Ads; PostHog is better for product events, funnels, replays, and bundled error tracking. Pick one traffic stack — GA4 or Plausible — and treat PostHog as the product layer if you need it.
PostHog vs Sentry for error tracking — which should I use?
PostHog Free includes a large error bucket (~100k exceptions/month) next to product analytics. Sentry Developer is free for 5,000 errors and one user, with deeper engineering tooling when you outgrow that. Many vibe projects start on PostHog alone; add Sentry when you want specialized error workflows or you already live in Sentry.
Is Sentry enough without uptime monitoring?
No. Error trackers only see failures your running app reports. If the deploy never boots, DNS breaks, or the host is down, Sentry stays quiet. Pair errors with an external ping tool such as UptimeRobot Free (50 monitors, 5-minute checks) or Better Stack Free monitors.
Do I need a credit card for free monitoring and analytics tools?
No for the start-here stack in this guide: Search Console, GA4 standard, PostHog Free, Sentry Developer, Axiom Personal, Microsoft Clarity, and the free uptime tiers (UptimeRobot / Better Stack personal). You need billing only when you exceed free quotas or move to paid team plans (for example Sentry Team from about $26/mo).
Can I use Google Analytics and Plausible together?
You can technically load both scripts, but you should not for a small project. You double consent complexity, split the same traffic into two dashboards, and still miss product/error visibility. Choose GA4 or a privacy-first tool (Plausible Cloud is paid; self-host Plausible/Umami for $0 infra), then add PostHog only if you need product analytics.
Does Microsoft Clarity replace Google Analytics?
No. Clarity is free heatmaps and session recordings — a sibling to GA, not a full traffic analytics suite. Keep GA4 (or Plausible/Umami) for who visited and from where; add Clarity as one extra script if you want to watch rage clicks and scrolls.
Sources: Search Console; Add a GSC property; Verify ownership; Sitemaps report; URL Inspection; GA4; Set up Analytics; Install the Google tag; PostHog pricing; PostHog changelog; Sentry pricing; Better Stack pricing; Axiom pricing; UptimeRobot pricing; Plausible; Umami; Microsoft Clarity. Quotas and GSC/GA setup steps checked 21 Sep 2026 — verify in-product.
Disclosure: All tools in this article are plain product URLs. No paid placement. This site uses Google Analytics 4 and Search Console.
Questions? Get in touch — or subscribe for the next Free vibe coding stack part (and every Tue/Fri digest).