Metrics

Model any user interaction

Set up metrics to track key user behaviors. Analyze usage, compare retention patterns, and power engaging user experiences.

Powering gamification experiences for 1M+ users

CampfireRevisionDojoLexiooOnePrepLealCyberPatientBohemian ResearchMaths GenieRitmo

Read our customer stories

Use case

Building blocks for retentive user experiences

Discover which user interactions are most effective at retaining users and drive personalized experiences to keep them engaged.

Achievements
Turn users into power users by congratulating and rewarding progress against your most retentive metrics.
Streaks
Create a powerful engagement incentive and encourage regular usage habits against any metric.
Automated notifications
Deliver personalized emails and push notifications at the perfect moment to motivate users to stay engaged.
Trophy Metrics

Analytics

Deep insights into user behavior

Understand how users engage with your product, and optimize the user experience to retain users.

Discover churn patterns
Understand retention drop-off patterns and drive personalized experiences to claw back users and revenue.
Focus efforts
Identify the most effective metrics for increasing retention and iterate on user experience to keep users engaged.
Segment and analyze
Create custom cohorts to track user behavior over time and optimize the user experience for different 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
Beta
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

146ms

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 foundation that keeps gamification and retention experiences in sync.
What insights can I get from Trophy metrics analytics?
Trophy helps you discover churn and retention drop-off patterns, identify which behaviors correlate with retention, and segment users into custom cohorts to compare behavior over time. You use those insights to focus product work on the interactions that keep users coming back.
Can I define custom behaviors to track?
Yes. You define your own metric keys in the Trophy dashboard and send events with numeric values and custom attributes for filtering and segmentation. That lets you model any interaction that matters for engagement in your product.
How should I send metric events from my app?
Trophy provides type-safe server-side SDKs for Node.js, Python, Go, Java, PHP, Ruby, and .NET so you send events from your backend and keep API keys secure. You fetch aggregated progress via the API and render it in any frontend framework.