> Custom events in Pylo, ingestion, storage, and analytics queries

# Events

Pylo records **custom events**: things that happen in your product, each with a name and a JSON
properties payload. You get analytics out of them without running a separate tracking stack.

How it works:

- You ingest events with an `event_name` and `properties`. The server sets the timestamp and
  namespaces every event name under `custom.`, adding the prefix when you leave it off.
- Events land in a flat event store. You query `properties` through dotted paths, for example
  `user.id` or `order.total`.
- Queries run in two modes. **List mode** returns raw event rows. **Analytics mode** groups events
  by dimensions (fields or time buckets) and computes aggregates like `count` or `sum`.

Explore ingested events in the admin panel under **Events**.

  - [Ingesting & Querying](/events/sdk): Send events and query them from the SDKs
