Tracks sessions per country flag from pages that embed
/flag_counter/js/embed.js. Totals aggregate unique browser sessions (localStorage
IDs), not raw page impressions.
Visitors (sessions started): …
| Country | Sessions |
|---|
New sessions: …
| Country | Sessions |
|---|
New sessions: …
| Country | Sessions |
|---|
New sessions: …
| Country | Sessions |
|---|
Estimated from heartbeat pings sent while tab is visible. Uses the last 30 days cohort for the headline number below.
Top pages listed: …
| Page | Visits |
|---|
| Platform | Past day | Past week | Past month | All time |
|---|
Total: …
| When (UTC) | Platform | Country | IP |
|---|
Total (hot store): …
| When (UTC) | Platform | Country | IP |
|---|
POST /stats/install)
All time: … Last 30 days: …
| When (UTC) | Platform | Device | Country | IP |
|---|
| Device | Platform | Country | IP | Minutes |
|---|
| Device | Platform | Country | IP | Shows |
|---|
Paste this snippet right before </body> on any template (or add to
index.html / shared layout).
<script defer data-api="/flag-counter-api" src="/flag_counter/js/embed.js"></script>
Then proxy /flag-counter-api/ → Flask (:5057) according to
flag_counter/nginx-proxy-snippet.conf.