# Widgets

Widgets are the part of Tinylytics that faces your readers rather than you. A hit counter in the footer, a kudos button under a post, the flags of everywhere your writing has reached — small, personal, slightly old-fashioned things that make a site feel like somebody's rather than something's.

They need no extra script. The embed you already installed takes query parameters, and each one looks for an element with a matching class:

```html
<script defer src="https://tinylytics.app/embed/YOUR_EMBED_CODE.js?hits&kudos&countries"></script>
```

## Parameters

| Parameter | What it does |
| --- | --- |
| `?hits` | Hit counter (`tinylytics_hits`) |
| `?hits=unique` | Unique hits instead of total (paid) |
| `?kudos` | Kudos button, default 👋 |
| `?kudos=❤️` | Custom emoji |
| `?kudos=custom` | Count only, for your own styling |
| `?uptime` | Uptime percentage |
| `?stats` | Stat card with views and a chart (`tinylytics_stats`) |
| `?countries` | Visitor country flags |
| `?webring` | Random webring member |
| `?webring=avatars` | Webring member with avatar |
| `?events` | Event tracking |
| `?auto` | Auto-count outbound links and file downloads (needs `?events`) |
| `?beacon` | `sendBeacon` instead of `fetch` |
| `?spa` | Client-side navigation |
| `?ignore` | Do not record this page load |

Join them with `&`. If you have not installed the [script](/docs/getting-started/embed) yet, start there — widgets are additions to it, not alternatives.