Analytics
Understand how your games are played. tupic Game collects only the data needed to surface meaningful, aggregate insights -- and nothing more.
Why we collect analytics
The analytics layer powers monetization. tupic Game uses the session, score, and play-count signals to decide where and when to surface ads, to measure their performance, and to compute creator revenue share. Without the data described below the platform cannot serve relevant ads to players or attribute earnings back to game owners. If you publish a game on tupic Game, this is the data that lets us pay you for the plays you bring in.
What we track
For every game on the platform we record a small set of gameplay events. The data powers leaderboards, the explore feed, ad placement and pacing, revenue attribution, and the analytics view in your dashboard.
- Play sessions -- start, end, duration, max level reached, max score, platform (web, mobile web, mobile app, embed, Telegram).
- Score submissions -- score, level, timestamp, optional username. Subject to server-side rate limiting and validation.
- Likes and play count -- aggregated counters per game.
- Cultural context -- generation-time signals (country code, calendar event, persona archetype) used to personalize prompts. These never include personal data; they describe the moment, not the person.
What we do not track
Analytics is opinionated about what stays out of the system. The following data is never collected by the SDK or the runtime:
- Precise location (GPS), device contacts, or call logs.
- Photos, videos, or files from your device gallery.
- SMS or messaging content, microphone, or camera streams.
- Cross-site tracking cookies or third-party advertising trackers.
- Device fingerprinting, IDFA, or persistent advertising identifiers.
- Health or biometric data of any kind.
- Keystrokes, mouse movements, or session recordings.
For the full list of what we do and do not collect, see the Privacy Policy.
Where the data lives
Analytics records are stored on AWS Stockholm (eu-north-1) with HTTPS in transit and access controlled by the same authentication system as the rest of the platform. Aggregated views (leaderboards, play counts) are public for public games; raw session rows are private to the game owner.
- Server logs -- 30 days, then deleted.
- Per-session analytics -- 90 days, then aggregated and anonymized.
- Scores and play counts -- retained for the lifetime of the game.
- Account data -- retained until you delete your account.
What you see in the dashboard
From the Dashboard for any of your games, the analytics view surfaces:
- Total plays, unique sessions, and average session length.
- Play distribution by platform (web vs mobile vs embed vs Telegram).
- Daily and lifetime leaderboards with rank, score, and level reached.
- Trend lines for plays, completions, and likes over the last 7 / 30 / 90 days.
If you ship a tournament, the same view shows tournament-specific scores filtered to the tournament window.
Sending events from your game
Most analytics events are emitted automatically by the runtime. If you want to track a milestone manually -- a checkpoint, a power-up grab, a custom outcome -- use the Game SDK:
window.TupicSDK.analytics.track('level_complete', {
level: 4,
score: 1280,
});For known events (level_complete, game_over, victory) the SDK also calls submitScore on your behalf and shows the post-game CTA.
See the Game SDK page for the full event list and signature.
Sessions API
If you embed a game on your own site and want to record sessions yourself, POST to the sessions endpoint. No authentication is required for guest play:
POST https://games.tupic.com/api/v1/games/{game_id}/session
Content-Type: application/json
{
"player_id": "guest",
"platform": "embed",
"duration": 142,
"max_level": 4,
"max_score": 1280
}The endpoint is rate-limited per game and per IP. Suspicious bursts are dropped without affecting honest traffic. The payload is intentionally minimal -- there are no fields for personal identifiers, IP addresses, or device fingerprints.
Cultural context (generation-time)
When a game is generated, the engine consults the TupicInsight service for a cultural snapshot of the target audience: country, current calendar moment, persona archetype. This context shapes the AI prompts so the generated game feels relevant to its audience.
- The signal is about the audience and the moment, not about the player. It describes things like "Egyptian audience, Eid week" or "GCC business audience" -- not individuals.
- Cultural context is used at generation time only. It is not stored alongside session records.
- The catalog of countries, calendar events, and personas is exposed via the Insight endpoints listed in the API Reference.
Your rights
You can request a copy of your data, correct inaccuracies, or delete your account at any time. Account deletion removes your profile, owned games, scores, and uploaded assets. Anonymized aggregate counters that no longer identify you (overall plays, likes) are retained.
Use the Delete Account page or contact privacy@tupic.com.