Metrics

User behavior tracking for consumer apps

Track in-app events as Trophy metrics and power gamification features like streaks, achievements, points, leaderboards, and lifecycle messaging. Attach custom event attributes to drive complex features.

Powering gamification experiences for 1M+ users

CampfireRevisionDojoLexiooOnePrepLealCyberPatientBohemian ResearchMaths GenieRitmo

Read our customer stories

Use case

The event layer for gamification features

Define custom events in the dashboard and send from your server or client code.

Achievements
Unlock badges when a metric crosses an event threshold you configure in the dashboard.
Streaks
Build custom streak logic around any metric to extend streaks.
Automated notifications
Trophy turns in-app events into personalized lifecycle emails and push notifications, ready to send.
Trophy Metrics

Analytics

Deeply understand user behavior

Track event volume, slice by cohorts, and understand user behavior to improve your product.

Track activity volume
Understand average usage volumes and spot lagging cohorts to optimize your app.
Segment and analyze
Create custom cohorts from event attributes to compare behavior across groups of users.
Trophy Metric Analytics

Gamification software for modern product teams

The only gamification platform built for the modern era. Control via API or MCP and wire into your development workflow across multiple environments.

Official Gamification SDKs

NodeJS
Go
Java
.NET
PHP
Python
Ruby
First-class APIs for fast-moving teams
Idempotent, retry-safe, time-zone aware. Designed to feel obvious the first time you read the docs.
metrics.ts
// Send engagement events and read daily aggregates await trophy.metrics.event('distance_run', { user: { id: user.id }, value: 3.2 }) const daily = await trophy.users.metricEventSummary(user.id, 'distance_run', { aggregation: 'daily', startDate, endDate, })
Control everything via MCP
Connect Trophy to MCP clients like Cursor and Claude Code and configure features without touching the dashboard.

Trophy MCP

Sonnet 4.6 · 8 tools loaded

> Track distance events and add a 30-day daily summary endpoint for our analytics charts

Listed Trophy MCP tools · read metrics and summaries docs

(ctrl+o to expand)

I'll wire ingestion and a normalized 30-day summary:

  1. Capture distance_run events from activity completion
  2. Read daily aggregates for the last 30 days
  3. Normalize response fields for chart components

metrics.create({ name: 'Distance run', key: 'distance_run' })

metrics.event({ key: 'distance_run', userId: 'usr_123', value: 3.2 })

users.metricEventSummary({ userId: 'usr_123', metricKey: 'distance_run', aggregation: 'daily', days: 30 })

Metrics ingestion and daily summaries are live in staging with chart-friendly output, want this in production?

Connect your stack via webhooks
Trigger workflows in third-party tools and internal systems in real time based on changes in Trophy.
Trophy
Customer.io
Knock
OneSignal
Mixpanel
Amplitude
Develop, test, and deploy across environments
Separate dev, staging, and production environments with their own keys, data, and configuration. Promote changes with confidence.
Production
Staging
Pre-prod
Jason Dev
Charlie Dev
Keith Dev

Scale with confidence

Trusted by startups and enterprises alike. Scale seamlessly from your first to your millionth user.

Scale from first user to millionth
Latency, throughput, and uptime that hold up as your user base grows.

150M

API requests · 30D

just now

168ms

p95 latency · 24H

just now

100.0%

Uptime · 90D

Secure by design
Encryption in transit and at rest, scoped API keys, and privacy-first defaults out of the box.
  • Data encryption

    TLS 1.2+ in transit and AES-256 at rest

  • Privacy-first

    Trophy operates without PII by default

  • Secure API keys

    Rotation and revocation on demand

Reliable at scale
Fault tolerance, rate limits, and idempotent APIs keep gamification logic dependable under load.
  • Fault tolerant

    Automatic failover through redundancy

  • Rate limited

    Per-endpoint limits maintain fair use

  • Idempotent

    Retry requests without side-effects

FAQ

Frequently asked questions

Have a different question and can’t find the answer you’re looking for? Send us an email.

What is a metric in Trophy?
A metric in Trophy is any user behavior you want to track — such as completing a lesson, making a purchase, or logging a workout — sent as events with a metric key, user ID, and value. Trophy uses those events to power streaks, achievements, points, leaderboards, and personalized lifecycle messaging.
How do metrics connect to the rest of Trophy gamification?
When you send a metric event, Trophy evaluates it against all configured features in one pass: extending streaks, checking achievement thresholds, awarding points, and updating leaderboard rankings. Metrics are the event layer that keeps those features in sync.
What insights can I get from Trophy metrics analytics?
Trophy shows event volume by metric, usage pathways, top users by metric, and custom cohorts from event attributes. You use those views to find gaps in usage or identify users who are driving the most engagement.
Can I define custom events to track?
Yes. You define your own metrics in the Trophy dashboard and send events with numeric values and custom attributes for filtering and segmentation. That lets you model any interaction in your product as a Trophy metric.
How should I send metric events from my app?
Send events from your backend so API keys stay off the client. See the metrics API for SDKs, endpoints, and how to fetch progress to render in your app.