Skip to main content

What this shows

The Geography page answers one question: where in the world do your visitors come from? The page is one card, Country breakdown. The map shades every country by how many visitors came from it, and beside the map the same countries are listed with their visitor counts, busiest first. The list scrolls inside the card, so a long tail of countries never makes the page longer. Select a country on the map or in the list to open its detail card:
  • Visitors, pageviews and revenue for that country
  • Top sources those visitors arrived from, with each source’s logo
  • Devices those visitors used, each with its icon, including bots and visitors whose device is unknown
  • Top pages read from that country, up to three
Very small countries have no outline on a world map at this scale, so they are drawn as a dot at the country’s centre instead. Singapore, Hong Kong, Monaco and Malta all appear this way. A dot and a shaded country with the same number of visitors are sized on the same scale. Every row in the list is a button, so the page works without a mouse and reads correctly with a screen reader. On a phone the list sits under the map, and the detail card opens from the bottom of the screen. The same map appears as a card on the Overview. It reads the same site and the same date range, and both places share one request, so opening Geography after the Overview does not re-fetch anything.

How visitors are counted

A visitor counts under the country their visit started in. Someone who visits three times from Germany is one German visitor, not three. Someone who visits once from Germany and once from France counts once in each country, so the countries in the list can add up to slightly more than your total visitors. Use the Overview for your true visitor total. In a country’s detail card, top sources and devices are counted the same way, in visitors. Pageviews count the pages read from that country and are the one figure that adds up across countries. Revenue counts orders from visits that started in that country, in USD.

Reading the map

Countries are ranked against each other and spread across five shades. The darkest country is the one with the most visitors in the range you picked, whatever that number is. A dark country on a quiet week and a dark country on a busy one are not the same amount of traffic, so read the list for the number. If every visitor in the range came from one country, that country is drawn at the darkest shade and nothing else is shaded. That is correct rather than a scale that failed.

Countries that cannot be drawn

Some visitors cannot be placed on a map at all. They are still listed in the breakdown with their real counts. The country could not be resolved. These appear as Unknown. A share of requests reach us with no country attached, usually because the visitor used a VPN, a privacy relay, or a network we cannot place. This is normal on every site and is not a gap in your tracking. Traceten reports it as its own row rather than quietly dropping it. The value is not a country. T1 identifies a Tor exit node, and XX means the network could not be attributed to any country. There is no honest place to draw these, so they appear only in the list.

Bots are included on purpose

Visitors with a device type of bot are counted and shaded like any other. Most of them are AI crawlers, which is traffic this product exists to measure. Filtering them out of the map would remove the most interesting thing on it. If you want human-only numbers, open a country’s detail card and subtract the bot row under Devices.

The 3D globe

Launch 3D globe, in the card’s header, opens the live globe in a new tab. It answers a different question from the map, and the difference is not cosmetic. The map counts visitors over the date range you picked. The globe shows who is on your site right now, over a rolling window of the last 12 hours, and ignores the date range.

One dot is one visitor

Each marker on the globe is a person, not a visit. Someone who read three pages, left, and came back an hour later is one dot with three sessions on their card, not three dots. The Country breakdown also counts visitors, but over your date range rather than the last 12 hours, so the globe’s numbers and the breakdown’s numbers are not two views of the same total. Click a marker to open that visitor’s card. It shows their city, device, operating system and browser, where they came from, the path of the page they are on now, their session time, and how many visits they have made in the window. A Paid badge marks a visitor who made a payment in the window, counting every visit and signed-in identity that belongs to them. A refund alone does not show it. Session time is the time they have actively spent on your site. While they are online it keeps counting from their last activity, for up to 5 minutes, and switching between visitors or closing the card does not restart it.

Online now

Visitors active in the last 5 minutes are highlighted, and the count of them is the “Online now” figure that also appears on the Overview. Clicking that figure opens the globe. Everyone else on the globe was active at some point in the last 12 hours. A scrubber replays that window, so you can watch the last half day fill in without reloading anything.

Names and faces are generated, not collected

The name on every card (“Amber Fox”, “Quiet Harbor”) is generated from an anonymous identifier. Traceten holds no visitor names and no visitor email addresses, so there is nothing behind the name to reveal. The same person gets the same name every time, which is what makes a returning visitor recognisable, and that is the only thing the name does. The avatars are the same: a fixed set of illustrations shipped with the dashboard and assigned by the same anonymous identifier. They are decorative and randomly assigned. They are not photographs, and they are not depictions of the people visiting your site. No avatar service is contacted, and nothing about a visitor leaves Traceten to draw one. You can switch between four avatar styles from the palette button on the globe, and this browser remembers your choice.

Markers sit on public places, not on people

A city’s marker is drawn on a public landmark inside that city, usually a park, garden or public square, and the card names the landmark. Where no public landmark is found, the marker sits on the city’s centre point instead. Neither one is where anybody is. Traceten knows the city a visitor’s network resolves to and nothing finer, so the marker is a way of drawing “somewhere in this city” that cannot be mistaken for an address. Read the city name on the card, not the pin.

This globe applies no visitor threshold

This globe names a city for any number of visitors, including one. We do not hide a small city here: someone looking at Sessions or Visitors already sees that same person’s exact city, so suppressing it on the globe traded a real product complaint for protection this product does not otherwise provide. Two endpoints in Traceten still suppress a city name by a SESSION count. Naming both is more useful than describing a category, so here they are.
  • /v1/breakdowns/cities, which does not name a city with fewer than five sessions in your window. That threshold counts sessions, not people, so five sessions can be one visitor returning five times.
  • /v1/geo/points, which applies the same five-session threshold. Nothing in the dashboard reads it today and no API key can call it, so you are unlikely to meet it, but it suppresses and it belongs on this list.
Everywhere else that returns a city returns it with no threshold at all, including this globe (/v1/geo/live), the session list and an individual session’s detail (in the dashboard and over the API alike), the visitor list and an individual visitor’s detail (/v1/visitors and /v1/visitors/{handle}), the lists of visitors behind one funnel step or one goal (/v1/funnels/{id}/steps/{position}/visitors and /v1/goals/{name}/visitors), the city and region breakdowns on the Overview, and the data you get back from a data access request. Those four visitor endpoints return the city of a visitor’s first visit, and /v1/visitors is what the Visitors table shows. The region breakdown lists only the busiest cities, so a very small one may fall outside it; the session list is not limited that way. See GDPR and data protection for how city data is handled.

It shows everyone it can, and says when it cannot

The globe reads up to 4,000 sessions, which is usually rather more than 4,000 visits and fewer than 4,000 people, because a returning person brings several sessions with them. When that limit is reached, the globe says how many visitors it drew out of how many exist, for example “Showing 3,600 of up to 3,900 visitors”. Read that line rather than counting markers. The words “up to” are doing real work. The total is counted before we work out which visits belong to the same person, so it can be a little higher than the number of people actually there. It is never lower. The limit counts sessions rather than visitors because that is the grain the data is read at, before we work out which sessions belong to the same person. On a page whose first rule is that one dot is one visitor, that is worth saying plainly rather than rounding over. Two groups are counted but not drawn, and both are reported beside the globe rather than dropped:
  • Visitors whose country could not be resolved. There is no honest place to put them on a globe.
  • Visitors with no identifier, because they blocked cookies or opted out. These cannot be counted as people at all, only as sessions, so they appear as a separate session count. Never add that number to a visitor count.

The activity feed

Beside the globe, a running log shows what visitors did, oldest at the top. Each entry is labelled with when it happened, such as “12m ago”, and the label keeps counting while the page is open. Reloading the page does not reset it. Times are kept to the minute. Six kinds of entry appear, each with its own icon:
  • Visited. Someone viewed a page on your site. The entry shows the page’s path, never its query string or fragment.
  • Clicked on. Someone clicked an element you tagged with data-traceten. The entry shows the path of the page they clicked on.
  • Triggered. Someone sent a custom event with traceten.track() that is not on your goal list.
  • Completed. Someone completed a goal, including a scroll goal. The entry uses the goal’s display name, and its emoji when you have set one on the Goals page.
  • Paid or refunded. A payment your site reported or your payment provider confirmed, with the amount when it is known.
  • Exited to. Someone followed a link off your site. The entry names the destination domain only, such as github.com. We never record the path or the query string of the destination, and we observe nothing on the destination site.
The feed reads the 200 most recent events on your site inside the globe’s window. On a busy site that covers the last few minutes rather than the whole 12 hours. Selecting a visitor filters the feed to that person. Selecting again clears it. An exit entry appears only when we can see the exit. We see it when someone clicks a link that takes their current tab to another site. We cannot see it when they close the tab, type a new address, use the back button, or open your link in a new tab, and those are most departures. So the absence of an “exited to” entry means we do not know where someone went, never that they stayed. Read the feed as a sample of departures, not a tally of them.

On a phone

The globe takes the top of the screen, with the controls and the activity feed below it. Swipe with one finger to scroll the page, and use two fingers to move the globe. A visitor’s card opens as a sheet from the bottom of the screen.

What the globe needs

The globe renders with Mapbox. If your Traceten instance has no Mapbox token configured, the globe reports that plainly and still lists every visitor with the same cards, so nothing about the data is unavailable. The 2D map does not use Mapbox and is unaffected.

Where the map data comes from

Nothing drawn on this page comes from a coordinate recorded about a visitor. Traceten never writes a coordinate to your analytics data. The two halves of the page get their shapes in different ways. Country shading is drawn from a standard public-domain world outline set, Natural Earth, packaged as world-atlas under the ISC licence. Each country’s stored two-letter code selects an outline, so no coordinate is involved in the shading. City points on the globe are drawn by looking each city name up in a public list of city centre coordinates while the page renders. Every visitor in a city lands on the same point, and nothing about an individual visitor is derived from it. That list comes from GeoNames under CC BY 4.0, which is the credit shown under the map. A drawn map is held in our response cache for up to 60 seconds (the live globe and the visitor map) or 5 minutes (the country map), and is then discarded. See GDPR and data protection for the full picture. The globe is drawn with Mapbox, so two kinds of request go to them. Neither carries anything about a visitor. While the globe is open, your own browser loads map imagery from Mapbox, so they receive your IP address and the part of the world on your screen, exactly as on any site with a map. We switch off the usage telemetry their map library sends by default, so it stores nothing on your device. The 2D map contacts nobody. The globe’s markers are placed the same way as the 2D map’s, with one extra step. After a city’s centre point is looked up, we ask Mapbox for a public landmark near it, and draw the marker there instead. That request carries the city’s centre coordinate and nothing about any visitor: no visitor identifier, no city name, no count, nothing identifying your site. It is made by our servers, not by your browser, and it goes out under Traceten’s own Mapbox account, so Mapbox knows Traceten is asking but cannot tell which customer it is asking for. Mapbox’s reply, a public place name and its coordinate, is drawn on the map, so it goes into the response cache with the rest of the map for the 60 seconds above. Our servers also keep the most recent 5,000 cities’ landmarks in memory while the server is running, so we ask about a city once rather than on every page load. Both hold a public place, and neither is written to your analytics data.

Empty states

  • No visitors in this range means the map has nothing to shade. Widen the date range.
  • An empty map with a note under it means visitors exist but none of them resolved to a country that can be drawn. They are listed in the breakdown beside the map. This happens on very low-traffic sites and on sites whose visitors are heavily VPN-based.
  • Visitor data starts followed by a date means the range you picked starts before the visit data behind this page is kept. Pick a more recent range.
  • No sites yet means there is nothing to scope a map to. Add a site and install the snippet first.

Date range

The default window is the last 7 days. You can select up to 730 days. Visitors by country are kept for 730 days. They are counted from visit-level data, so a range reaching further back than that shows “Visitor data starts” with the date rather than a map of zeros. Top pages are also kept for 730 days. Per-country page data is one of the rollups we age out rather than keeping for the life of your account. Pairing a page with a country says more about a small group of readers than either fact does alone, so we bound how long we hold it. A country whose visitors did not load a page we recorded shows “No page data for this range”, and a country with only one or two distinct pages simply lists what it has. Revenue stops a year back, and the page says so. Revenue records are kept for 365 days while the visits behind the rest of this page are kept for 730. Select a range reaching further back than a year and the revenue figures are removed rather than shown as zero, with a note naming the date they stop at. Visitors and pageviews are unaffected. A zero would have said “these visitors bought nothing”, which is a different claim from “we no longer hold the receipts”. Visitors are counted if their visit was active during the range, not only if it started in it, which is the same rule the rest of the dashboard uses.

Next

  • Overview for the same map as a card, alongside visitors and revenue
  • AI sources for which assistants sent the traffic, rather than where it came from
  • GDPR and data protection for how location is derived and what is stored