---
title: Events
slug: data-platform/docs/thebasics-events
docTags: 
createdAt: 2026-08-10T12:05:19.000Z
---

Events describe actions your [customers](docId\:kJQOKwTiRoXN6KRiV0sb9) perform or actions that result in an update to their customer record such as viewing your web page or visiting your store in New York.

## Compose events

Events are composed using a two-tier connection including a **type** and **action**. You can set additional metadata with fields on the event.

- The event **type** is a categorical name associated with the event.
- The event **action** is the activity a user did within that event type.

For example:

- order and product would be event **types**
- purchase, return, or add\_to\_cart would be **actions**

At minimum, events require an event type and an identifier to associate the event with a customer. The `event()` method automatically passes the VUID (cookie ID) to ODP. You can include additional identifiers, like email or phone number which will associate that cookie ID with the other identifiers. Refer to [Overview of customer identity and resolution](../data-platform/customers/overview-of-customer-identity-and-resolution.mdx) to learn more.

:::hint{type="warning"}
**Important**
All ODP events are immutable, meaning you can *not* change them after you upload them to ODP.
:::

## Standard events

A standard event is an event that has a predefined event type and action. Using standard events makes using ODP simpler for common use cases.

Reference and examples:

- [ODP Web SDK](docId:91viwYgeD4R4zyCrvpvVP)
- [ODP REST API](docId\:f43glxn2epEdaMrOuLaOp)
- [ODP React Native SDK](docId\:BeWFnKdCe6taPNxxwPuRY)

### Account event

Set the event type to `account` to track your users actions for login, logout, register and update.

| `type`  | `action` |
| ------- | -------- |
| account | login    |
| account | logout   |
| account | register |
| account | update   |

### Pageview event

Set the event type to `pageview` to track which pages your user visits.

| `type`   | `page`          |
| -------- | --------------- |
| pageview | /products/12345 |

:::hint{type="info"}
**Note**
The Web SDK automatically populates the `page` field when event type is `pageview`.
:::

### Wishlist

Set the event type to `product` to track a user adding or removing an item from a wishlist.

| `type`  | `action`               |
| ------- | ---------------------- |
| product | add\_to\_wishlist      |
| product | remove\_from\_wishlist |

### Navigation events

Set the event type to `navigation` to track what your user's search.

| `type`     | `action` | `search_term` |
| ---------- | -------- | ------------- |
| navigation | search   | cameras       |
| navigation | sort     |               |
| navigation | filter   |               |

## Custom events

A custom event is where you create the event type and action and choose additional fields to use.

Custom events display on the customer profile (**Customers > Profiles**) in ODP.

:::hint{type="info"}
**Note**
See how to [Create custom fields](../data-platform/account-settings/manage-custom-fields.mdx). You must select **Events** from the **Object Containing New Field** drop-down list.
:::

### Example

| `type` | `action` | `venue_name` |
| ------ | -------- | ------------ |
| venue  | visited  | TD Garden    |

Reference:

- [ODP Web SDK](docId:91viwYgeD4R4zyCrvpvVP)
- [ODP React Native SDK](docId\:BeWFnKdCe6taPNxxwPuRY)
