# Custom Event Architecture

While automated tracking covers the basics, specific business questions require specific data. Signet provides a flexible, type-safe event system for measuring user interactions that matter to your unique context.

#### Semantic Event Tracking

Developers can trigger custom events using a simple API call. These events can represent any significant action: a completed checkout, a newsletter signup, a button click, or a feature interaction. Unlike rigid legacy systems that force you into predefined categories like Category, Action, and Label, Signet allows you to name events semantically, such as subscription\_confirmed or cart\_updated.

#### Rich Metadata Properties

Context is key to actionable data. When tracking an event, you can attach a payload of custom properties. For an e-commerce transaction, you might attach the currency, value, and product ID. For a SaaS platform, you might attach the user's plan tier or the specific feature toggles active for their session. This metadata allows for deep segmentation and analysis within the dashboard, enabling you to answer complex questions about user behavior.

#### Type-Safe Implementation

For teams using TypeScript, the Signet SDK offers full type safety. This ensures that event names and property payloads are consistent across your codebase. It prevents data pollution caused by typos or mismatched data types, ensuring that the analytics data you rely on for decision-making remains clean and structured.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.signtoken.vip/2.-core-features/custom-event-architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
