> ## Documentation Index
> Fetch the complete documentation index at: https://tinyanalytics.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Analytics Filters

> Narrow every tinyanalytics report to the visitors you care about: filter by page, source, location, device, event, and more — across the whole dashboard.

Filters narrow every report in tinyanalytics to a subset of your traffic — one country, one page, one campaign, or any combination. A filter applies across the whole dashboard at once and stays active as you move between reports, so you can ask a focused question and get a consistent answer everywhere.

## How do I apply a filter?

* **Click a row.** In a breakdown, the map, or the Performance table, click a value — a referrer, a country — to filter the dashboard by it. Click again to remove it. This is the fastest way to drill in.
* **Click a page.** In the [Pages](/docs/page-analytics) and Landing pages tables, a row click instead opens the main dashboard already filtered to that page, carrying your date range and other active filters with it. There's no click-again-to-clear on these two tables — remove the filter on the dashboard, or use your browser's Back button.
* **Add a filter manually.** Use the filter control to build a filter from a dimension, an operator, and one or more values.

## What is a filter made of?

A filter has three parts: a **dimension** (what to filter on), an **operator** (how to compare), and one or more **values**.

Common dimensions include page path, page title, hostname, referrer, channel, country, region, city, browser, operating system, device type, screen size, UTM parameters, event name, and tag.

Two dimensions are **session-scoped** rather than pageview-scoped: **Entry Page** and **Entry Hostname** match the first page of a session, so they mean "entered on" rather than "visited anywhere". Use them to isolate the sessions that *started* somewhere, and page path or hostname to catch every session that reached it at any point.

The operators are:

| Operator                                     | Matches when the value…              |
| -------------------------------------------- | ------------------------------------ |
| **is** / **is not**                          | equals / does not equal your value   |
| **contains** / **does not contain**          | includes / excludes your text        |
| **starts with** / **ends with**              | begins / ends with your text         |
| **matches regex** / **does not match regex** | matches / doesn't match your pattern |
| **is set** / **is not set**                  | has any value / is empty             |

## How do I combine filters?

* **Several values on one filter** are combined with **OR** — `country is US or GB` matches visitors from either.
* **Several filters** are combined with **AND** — `country is US` plus `page is /pricing` matches US visitors who saw the pricing page.

## Filters follow you across reports

An active filter stays applied as you switch between Overview, Pages, Sessions, and the rest. Set up a view once — say, mobile visitors from a campaign — and every report reflects it until you clear it. Filtering the Sessions list keeps whole sessions rather than trimming them to matching events, so "sessions that reached this page" answers correctly. See [Sessions](/docs/session-analytics#why-does-filtering-return-whole-sessions).

## Frequently asked questions

<AccordionGroup>
  <Accordion title="How do I remove a filter in tinyanalytics?">
    Click the same row again. If you filtered by clicking a value in a breakdown, the map, or the Performance table — a referrer, a country — clicking it a second time removes that filter. Filters you built with the filter control are removed from the control itself. The [Pages](/docs/page-analytics) and Landing pages tables are the exception: a row click there navigates to a filtered dashboard, so you remove the filter on the dashboard or use your browser's Back button.
  </Accordion>

  <Accordion title="Can I filter by a user ID I set myself?">
    Yes. A **User ID** filter matches a person whether their ID arrived as an anonymous visitor ID or as one you attached with [identify](/docs/user-identification-analytics). This applies to the is, is not, is set, and is not set operators.
  </Accordion>

  <Accordion title="Can I filter tinyanalytics with a regular expression?">
    Yes. Every filter uses a dimension, an operator, and one or more values, and the operators include **matches regex** and **does not match regex**. The other operators are is / is not, contains / does not contain, starts with / ends with, and is set / is not set.
  </Accordion>

  <Accordion title="Do filters stay applied when I switch reports?">
    Yes. An active filter stays applied as you switch between Overview, Pages, Sessions, and the rest of the dashboard, until you clear it. Set up a view once — mobile visitors from a campaign, for example — and every report reflects it.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Dashboard overview" icon="gauge" href="/docs/web-analytics-dashboard">
    The metrics and breakdowns your filters re-scope.
  </Card>

  <Card title="Sessions" icon="list-timeline" href="/docs/session-analytics">
    How filtering selects whole sessions.
  </Card>

  <Card title="Pages" icon="file-lines" href="/docs/page-analytics">
    Click a page to filter the whole dashboard.
  </Card>

  <Card title="Events explorer" icon="bolt" href="/docs/event-analytics">
    Filter by event and property.
  </Card>
</Columns>


## Related topics

- [Saved Analytics Segments](/docs/saved-analytics-segments.md)
- [Page Analytics](/docs/page-analytics.md)
- [Session Analytics](/docs/session-analytics.md)
