# Goals

> Define page-visit or custom-event goals in the dashboard and measure conversions and conversion rate — retroactively, no code redeploy needed.

Last updated: 2026-07-17
Canonical: https://attrifast.com/docs/goals

Goals turn pageviews and [custom events](/docs/custom-events) into conversion metrics. They're query-time filters over events you've already collected — so a new goal counts historical conversions immediately, and deleting one never touches your data.

## Create a goal

<Steps>
<Step title="Open the Goals panel">

On your dashboard, scroll to the **Goals** panel (the last card) and click **Add goal**.

</Step>
<Step title="Name it and pick a type">

- **Page visit** — enter a URL path (e.g. `/thank-you`). Fires automatically whenever a visitor lands on a matching path; no extra code needed.
- **Custom event** — enter an event name (e.g. `signup`), and call `window.attrifast.track('signup')` from your site when the action completes.

</Step>
<Step title="Create, then read the numbers">

Each goal row shows **Conversions** (matching events in the selected date range) and **Conversion rate** (conversions ÷ unique visitors in the range). Edit or delete any goal from the three-dot menu on its row — past conversions stay in your data.

</Step>
</Steps>

## Matching rules (read this)

The matching is deliberately simple, and worth knowing precisely:

- **Page-visit goals match by substring, case-sensitively, against the pathname only.** `/pricing` also matches `/pricing-faq` and `/de/pricing`; query strings are ignored; `*` has no special meaning. Use the most specific path you can.
- **Event goals match the event name exactly and case-sensitively.** `Signup` does not match `signup`. If you rename an event in code, past events keep the old name — recreate or edit the goal to follow.
- **Conversions count every occurrence, not unique visitors.** A visitor who triggers the goal five times adds five conversions, so conversion rate can exceed 100% — fire events once per completed action.
- **Goals are retroactive.** Counting happens at query time over your stored events, so a new goal shows historical conversions immediately.

## Requirements

- Tracker installed and collecting (needs an active subscription or trial).
- Website **owner** role to create, edit, or delete goals — team members can view goals and their numbers.
- For event goals: a `window.attrifast.track()` call in your site's code.
