Skip to main content
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.
ProtocolWhat it tracksHow data arrives
EventsUser behavior — page views, signups, purchases, feature usageSDKs (track, identify, group, revenue)
LogsApplication behavior — errors, warnings, system messagesSDKs (log, logError, logInfo, etc.)
SnapshotsExternal data — GitHub stars, Shopify orders, business metricsIntegrations (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 | Users & Identity | 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

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

SDKs

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

JavaScript / TypeScript

Node.js, browsers, React, Next.js

Go

Backend services

Swift

iOS, macOS

Flutter

Cross-platform mobile

Rust

Rust services

C++

Native applications