# Custom events

A custom event counts an action that is not a page view, such as a signup or a purchase. You do not set up an event first. Send any name, and it shows in the dashboard's **Events** panel.

```js
crowne("signup", { plan: "pro" });
```

Send them from the [script tag](./script.md#custom-events), the [npm package](./npm.md), or your [server](./server.md#custom-events).

## Names and properties

- A name has 1 to 120 characters.
- An event has at most 30 properties.
- A property key has at most 40 characters.
- A value is text of at most 2,000 characters, a number, or true/false.

Do not send personal data, such as names or email addresses.

## Goals

A goal is a custom event name, or a page path where `*` matches anything, such as `/pricing*`. Add goals in the site's **Settings**. Pick one as the dashboard's conversion goal to see conversions and rates on every panel.

## Funnels

A funnel is two to eight goals in order. It counts the visits that reach each step after the step before it.

## Property panels

A property panel breaks down one property of your custom events. For `crowne("signup", { plan: "pro" })`, add a panel for `plan` in the site's **Settings**, under **Dashboard**. It shows how many visitors sent each value.

You can also filter the dashboard by a property, such as `plan` is `pro`.
