WWebBuddyMarketplace
Using LinkNest

Analytics

What LinkNest records for each visit and tap, the Insights screen, where location data comes from on each host, and the rules behind the recommended next steps.

3 min readUpdated Oct 17, 2026Applies to LinkNest 1.0.0

On this page

Every view of a public page and every tap on a link is stored in Postgres (page_views and link_clicks). There is no third-party analytics script and no cookie, and IP addresses are not stored.

What is recorded

Field Source
Time Server clock
Traffic source Instagram, TikTok, YouTube, X, Facebook, Google, direct or other, from the referrer and utm_source
Country, region, city Request headers from Vercel or Cloudflare, or a guess from the visitor's timezone. See below.
Device, browser, OS The User-Agent header: mobile, tablet or desktop; Chrome, Safari, Firefox, Edge, Opera or other
Language and timezone Sent by the visitor's browser
Local hour The hour on the visitor's clock
Table For table QR scans, the station, with the source table:<code>
A/B variant For taps on a link under an A/B title test

Views are counted on every page load, including the creator's own, with no de-duplication and no bot filtering. Treat the numbers as a trend, not an audit.

The Insights screen

Insights in the studio shows, for the last 7, 14 (default), 30 or 90 days:

  • views, taps and the share of views that led to a tap;
  • the top links by taps;
  • where people came from (traffic source);
  • clicks and views by place: open a country for its regions, then a region for its cities;
  • devices, browsers, operating systems and languages;
  • "When people show up": activity by the visitor's local hour, not the creator's;
  • up to three recommended next steps.

Home repeats this week's views and taps, the top link and one thing to fix. The admin Overview counts views across all pages.

Where location comes from

Host Country Region City
Vercel Yes, from x-vercel-ip-country Yes Yes
Behind Cloudflare Yes, from cf-ipcountry Guessed for some US time zones No
VPS without either Guessed from the visitor's timezone, for 36 common time zones Guessed for some US time zones No

The timezone guess maps, for example, Asia/Kolkata to India and America/Chicago to the United States (Illinois). A visitor whose timezone is not on the list has no location. If accurate places matter to your creators, run behind Cloudflare or on Vercel, or add a GeoIP lookup in src/lib/grove/visitor.ts.

Insights picks up to three tips from fixed rules in src/lib/grove/insights.ts, which has tests:

Tip When it appears
Share the page once today No views and no taps in the range
People look, then leave 8 or more views and no taps
Put the top link first One link has at least 40% of all taps
Too many choices 20 or more views and under 10% tap anything
Cut the page down 8 or more live links
Most people come from Instagram Instagram is the top source with 5 or more views
Write one line for the top country The top country has 5 or more views
Keep titles short 70% or more of views are on phones
Post around the peak hour The busiest local hour has 4 or more views and taps
Collect emails while they're here Email capture is off and there are 10 or more views
Use your own domain The page has no custom domain

The Instagram tip suggests adding ?from=ig-story to links; in 1.0.0 the source classifier does not read a from parameter, so use utm_source=instagram plus your own campaign tags instead.

Data retention

Visits and taps are kept indefinitely. There is no retention setting or purge job in 1.0.0. To trim old rows:

SQL
delete from page_views where viewed_at < now() - interval '13 months';
delete from link_clicks where clicked_at < now() - interval '13 months';