Getting Started

Add analytics to your website in 30 seconds. No signup required for self-hosted.

1. Add the tracker

Add this to the <head> of your website:

<script defer src="https://antics-api.turtletech.us/antics.js"></script>

That’s it. No config, no site IDs, no cookies. Antics identifies your site from the browser’s Origin header.

2. Register your site

Create a site entry so antics knows to track your domain:

curl -X POST https://antics-api.turtletech.us/api/sites \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "name": "My Website"}'

3. View your dashboard

Visit antics.turtletech.us/dashboard to see your analytics. Data appears within 60 seconds of the first visit.

Framework Integration

Hugo

# config.toml
[params.antics]
  host = "https://antics-api.turtletech.us"

If your theme supports the extra-head.html partial:

<!-- layouts/partials/extra-head.html -->
<script defer src="https://antics-api.turtletech.us/antics.js"></script>

Jekyll

<!-- _includes/head.html -->
<script defer src="https://antics-api.turtletech.us/antics.js"></script>

SvelteKit

<!-- src/app.html, before %sveltekit.head% -->
<script defer src="https://antics-api.turtletech.us/antics.js"></script>

Next.js / Astro / any HTML

<!-- In your <head> -->
<script defer src="https://antics-api.turtletech.us/antics.js"></script>

Custom Events

Track user actions from JavaScript:

antics.event('signup', { plan: 'pro' });
antics.event('download', { file: 'report.pdf' });

What Gets Tracked

  • Pageviews and unique visitors (daily-rotating hash, no cookies)

  • Referrer domains and UTM parameters

  • Country (via GeoIP, IP discarded after lookup)

  • Browser, OS, device type

  • Scroll depth and time on page

  • Core Web Vitals (LCP, INP, CLS)

  • Custom events with properties

  • SPA navigation (pushState/replaceState)