> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tell.rs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tracking Overview

> Tell's three data protocols — events, logs, and snapshots — and how to send data.

Tell has three data protocols. Each one is a separate schema with its own semantics, but they all flow through the same SDKs and pipeline.

| Protocol      | What it tracks                                                 | How data arrives                               |
| ------------- | -------------------------------------------------------------- | ---------------------------------------------- |
| **Events**    | User behavior — page views, signups, purchases, feature usage  | SDKs (`track`, `identify`, `group`, `revenue`) |
| **Logs**      | Application behavior — errors, warnings, system messages       | SDKs (`log`, `logError`, `logInfo`, etc.)      |
| **Snapshots** | External data — GitHub stars, Shopify orders, business metrics | Integrations (scheduled pulls)                 |

## Events

Events are the product analytics protocol. Every event is tied to a user and a device. Events support identity resolution (`identify`), session tracking, super properties, and all the breakdowns and aggregations in Tell's analytics.

Read more: [Events & Properties](/tracking/events-and-properties) | [Users & Identity](/tracking/users-and-identity) | [Sessions](/tracking/sessions)

## Logs

Logs are the structured logging protocol. Logs are tied to a service and a severity level, not a user. They share a session ID with events for correlation — you can see what your app was doing when a user hit a problem — but they don't carry user identity or device context.

Read more: [Logs](/tracking/logs)

## Snapshots

Snapshots pull data from external services on a schedule via integrations. No SDK needed — connect a service like GitHub or Shopify and Tell captures metrics over time automatically.

Read more: [Integrations](/tracking/integrations/overview)

## SDKs

Events and logs are sent through the same SDK. Pick the one for your platform:

<CardGroup cols={3}>
  <Card title="JavaScript / TypeScript" icon="js" href="/tracking/sdks/javascript">
    Node.js, browsers, React, Next.js
  </Card>

  <Card title="Go" icon="golang" href="/tracking/sdks/go">
    Backend services
  </Card>

  <Card title="Swift" icon="swift" href="/tracking/sdks/swift">
    iOS, macOS
  </Card>

  <Card title="Flutter" icon="mobile" href="/tracking/sdks/flutter">
    Cross-platform mobile
  </Card>

  <Card title="Rust" icon="rust" href="/tracking/sdks/rust">
    Rust services
  </Card>

  <Card title="C++" icon="c" href="/tracking/sdks/cpp">
    Native applications
  </Card>
</CardGroup>
