DocsGet started

Get started

Create a collection

2 min readReviewed July 2026

Collections organize related events. They behave like logical tables in the dashboard and SQL notebook, while still accepting flexible JSON objects.

Create one#

Open Collections, select New Collection, and provide:

Setting What it controls
Name The value you send as collection and use in SQL queries
Description A short explanation shown to teammates in the dashboard
Retention Whether events are kept indefinitely or deleted after a number of days

The dashboard normalizes collection names to lowercase. We recommend short snake_case names such as product_events, billing_events, or application_logs.

Choose collection boundaries#

Group events when they share an owner, retention policy, and common analysis workflow.

Good boundaries:

  • product_events for customer behavior
  • billing_events for invoices, subscriptions, and payments
  • application_logs for operational events with a shorter retention period
  • experiment_checkout_copy for a temporary, isolated experiment

Avoid creating one collection per event name. A single product_events collection with an event field is usually easier to query than dozens of tiny collections.

Also avoid putting unrelated sensitive and non-sensitive data in the same collection. Retention and deletion operate at collection level, so intentional boundaries make governance easier.

The all_events collection#

Every workspace includes a virtual all_events collection. It contains events from every collection and is useful for cross-collection SQL queries and workspace-wide exploration.

all_events is not a replacement for naming the destination when you log. Send each event to the collection that owns it, then use all_events when you intentionally need a combined view.

Configure retention#

Enable retention when data should expire after a fixed period:

  1. Open the collection.
  2. Select Settings.
  3. Select Edit.
  4. Clear Store events indefinitely.
  5. Enter the number of days to retain.
  6. Save the collection.

Retention is useful for verbose logs, temporary experiments, cost control, and data-minimization requirements.

Important: Expired and manually deleted events cannot be restored from GraphJSON. Export anything you must archive before shortening a retention window or deleting a collection.

Naming checklist#

Before creating a production collection, ask:

  • Will the name still make sense a year from now?
  • Can a teammate tell what belongs here from the description?
  • Do all events in it need the same retention policy?
  • Will its fields be analyzed together?

If the answers are yes, the boundary is probably sound.

Need a hand?

Tell us what you’re building and we’ll point you in the right direction.

Contact support