feature
visitor counter
track page views, likes, downloads, and anything else you can name — privacy-friendly, bot-proof, and free on every plan.
live demo — this page’s counters
visitors
likes
each visitor counted once per day — no cookies, no fingerprinting
the problem
you want to know how many people visited your page. that's it. a number. but the internet turned that into a surveillance industry.
- Google Analytics gives you 200 reports, 47 dimensions, and a dashboard that takes a training course to understand — when all you wanted was a page view count
- privacy-focused tools like Plausible and Simple Analytics are excellent but cost $9–19/month for what is, at its core, a number on a screen
- any third-party tracking script triggers GDPR cookie consent banners — a legal headache for a single counter
- most analytics tools are built for marketing teams, not for someone who wants to show "1,247 visitors" on a personal page
- external scripts add weight to your page — 30–45 KB of JavaScript for Google Analytics, loaded on every single visit
you don't need analytics. you need a counter. a single number that goes up when real people visit your page — and doesn't go up when bots do.
the solution
bb.bi gives you a counter plugin — free on every plan. enable it, add one line of SDK code, and your page tracks visits. no cookies, no fingerprinting, no third-party scripts. bots are filtered automatically using the isbot library. the same visitor is only counted once per day.
bb.counter.increment({ key: "page-views" })
bb.counter.get({ key: "likes" })but it's not just a page view counter. the counter plugin supports multiple keys — "page-views", "likes", "downloads", anything you name. use one counter to track visits and another as a like button. each key is independent, each has its own deduplication, and you can read or write any of them via the SDK.
what you need
plan
free — all plans
plugin
counter (free on all plans)
counter keys
unlimited — name as many as you want
how it works
1. enable the counter plugin
go to your dashboard, enable the counter plugin. it's free, no upgrade needed.
2. add one line of SDK code
call bb.counter.increment({ key: "page-views" }) in your page's HTML. or use bb.onReady() to auto-increment on every page load.
3. counter increments automatically
each real visitor increments the counter once per day. bots are silently ignored — they see the value but don't inflate it. no cookies or fingerprinting involved.
4. view counts in your dashboard
all your counters appear in the dashboard — organized by key. you can also manually set values or delete counters you no longer need.
what you can track
page view counter
the classic use case. show "1,247 people visited this page" on your homepage, portfolio, or resume. one line of code, automatic deduplication, bot-proof.
like / upvote button
create a "like" counter and increment it when someone clicks a heart or thumbs-up. bb.counter.increment({ key: "likes" }) — that's the entire backend for a like button.
download tracker
count how many times someone downloaded your PDF, resume, music, or any file. increment the counter on the download link click and display the total: "downloaded 832 times."
portfolio social proof
show view counts on your portfolio or resume page. "this portfolio has been viewed 3,200 times" adds instant credibility — especially when you're job hunting or pitching clients.
blog post popularity
add a view counter to each blog post. readers see which posts are popular, and you get a quick sense of what resonates — without installing a full analytics suite.
developer API metrics
use bb.counter.get({ key }) from any script or automation. the counter is an API-accessible number — lightweight telemetry for side projects, internal tools, or anything you'd rather not wire up a database for.
how it compares
you have options for tracking visitors. most of them do far more than you need — and charge accordingly.
vs. Google Analytics
Google Analytics is a full marketing platform — session tracking, conversion funnels, audience segments. it loads 30+ KB of JavaScript, requires a cookie banner in the EU, and sends your visitors' data to Google. bb.bi's counter is one number, zero cookies, zero external scripts.
vs. Plausible
Plausible is privacy-friendly and well-designed, but starts at $9/month. bb.bi's counter is free. if you need traffic trends, referrer breakdowns, and geographic data, Plausible is great. if you need a number — bb.bi.
vs. Clicky
Clicky offers real-time analytics with heatmaps and uptime monitoring. it's a dashboard for power users. bb.bi's counter is a single value you display on your page — no dashboard required, no learning curve.
vs. Simple Analytics
Simple Analytics is clean and GDPR-compliant, starting at $9/month. bb.bi's counter does less — intentionally. it's not an analytics tool. it's a counter. free, embedded in your page, accessible via SDK.
vs. old-school hit counters
the 90s hit counter was fun but easily gamed — every refresh added a visit, bots inflated numbers, and there was no deduplication. bb.bi's counter has the same nostalgic charm with modern protections: daily dedup, bot filtering, and an API.
bb.bi's counter isn't analytics. it's a number. if you want dashboards, funnels, and cohort analysis, use an analytics tool. if you want to show how many people visited your page — this is it.
why it works
privacy-first
no cookies, no fingerprinting, no third-party tracking scripts. the counter uses a hashed IP for daily deduplication — the IP itself is never stored.
bot-proof
crawlers, scrapers, and automated tools are identified using the isbot library and silently excluded. they see the counter value but never inflate it.
daily deduplication
the same visitor is counted once per day per key. refresh the page 50 times — the counter goes up by one. come back tomorrow — it counts again.
multiple keys
track as many things as you want on a single page. page views, likes, downloads, RSVPs — each key is independent with its own count and deduplication.
API-accessible
bb.counter.get({ key }) returns the current value. bb.counter.increment({ key }) adds one. it's a programmable number — use it in scripts, automations, or custom HTML templates.
frequently asked questions
is the counter really free?
yes. the counter plugin is free on all plans — free, pro, max, and business. unlimited keys, unlimited increments, no usage caps.
how does deduplication work?
when a visitor increments a counter, bb.bi hashes their IP with the current date and the counter key. if the same hash has been seen today, the increment is skipped. the raw IP is never stored — only the daily hash, which is discarded the next day.
can I track multiple things on one page?
yes. each counter is identified by a key — a string you choose. use "page-views" for visits, "likes" for a like button, "downloads" for a file link. there's no limit on the number of keys.
does it work with custom HTML templates?
yes. the counter plugin is accessible via the bb SDK, which is available on every bb.bi page — including AI-generated pages and custom HTML pages. call bb.counter.get() or bb.counter.increment() from any script on your page.
will bots inflate my counter?
no. bb.bi uses the isbot library to detect crawlers, scrapers, and automated tools. bots can read the counter value (so search engines see it) but their visits are never counted.
can I use it as a like button?
yes. create a counter with a key like "likes" and call bb.counter.increment({ key: "likes" }) when someone clicks your like button. each visitor can only like once per day — no spam-clicking, no vote manipulation.
know your numbers — without selling your visitors' data.
sign up, enable the counter plugin, and add one line of code. free, private, bot-proof.