Game analytics for Godot
TL;DR
Talo provides easy, customisable analytics for Godot games. Track what players do with events, monitor their progress with stats, segment your player base with groups and surface journeys in real time.
You can be up and running with just a few lines of GDScript using the Talo Godot plugin.
Install the plugin
Get the Talo Godot plugin from the Godot Asset Library, GitHub releases or itch.io. Then follow the installation guide to add it into your project.
Track meaningful player actions
Event tracking lets you decide which actions to monitor:
- Completing levels or story chapters
- Making important story decisions
- Finding secrets or collectibles
- Using specific abilities or items
You can start tracking events with just one line:
await Talo.events.track("Level completed", { level = "5" })Custom properties (props)
Add custom properties for extra context like which story decision was made or what level was completed. Talo lets you drill-down into these props inside the dashboard, allowing you to easily compare individual props.
Built-in metadata
Each event attaches useful metadata - operating system, game version, window mode and screen size - making platform-specific debugging much easier.
Monitor player progress with stats
Game stats track progress over time:
- Total secrets found
- Puzzles solved
- Enemies defeated
You can start tracking player stats with just one line:
await Talo.stats.track("enemies-defeated", 3)Built-in validation
With game stats you get control over min/max values, defaults and how often stats can update. Talo manages all this validation for you to help prevent cheating.
Global stats
Mark stats as global to see totals across everyone playing. Watch real-time numbers like total quests completed or deaths worldwide directly from the dashboard.
In-game stat metrics
Stats don't just exist inside the Talo dashboard: you can also display metrics to players inside your game.
var res := await Talo.stats.get_global_history("gold-collected")
var total_updates := res.count
var global_metrics := res.global_value
var player_metrics := res.player_value
var global_average := global_metrics.average_value
var player_average := player_metrics.average_value
var median_value := global_metrics.median_value
var average_change := global_metrics.average_changeSegment your player base
Player groups let you split your player base by behaviour, progress or activity. Groups update automatically when players match (or stop matching) your criteria.
Make groups for players who beat the main story, identify players stuck in the tutorial or find players who regularly download new updates. Mix and match conditions with AND/OR logic.
You can filter by stat values (e.g. players who have completed over 5 levels), by last login dates or by player properties (e.g. beta testers).
Use groups in-game
You can check if a player belongs to a group in-game with just one line of code. You won't need to write any of the custom logic yourself!
func is_beta_tester():
return Talo.current_player.is_in_talo_group_name('beta-testers')Get started with the Godot plugin
- Want to track the frequency of player actions? Learn how to in the Godot events docs.
- Want to see metrics over time for players? Learn how to in the Godot stats docs.
- Want to gate parts of your game to player segments without custom logic? Check out the Godot groups docs.
Frequently asked questions
1.What makes Talo analytics different from other analytics tools?
Talo is built specifically for indie developers. It understands game-specific needs like player stats, event batching and separating out development data.
2.What are the differences between events and stats?
Events track individual actions as they happen (like "Level completed" or "Item bought"). Stats track cumulative numbers over time (like total levels completed or total items owned). Use events to understand what players do and use stats to measure progress.
3.Can I keep my players anonymous?
Yes. Talo doesn't require any personal or identifiable information to be sent. Players can remain completely anonymous while tracking gameplay data, stats and events.
4.How do I handle data deletion requests?
You can delete any player's complete data (events, stats, props and more) with one click from the dashboard.
5.How do player groups work?
Player groups let you segment your player base by behavior, stats, events or properties. Groups update automatically as players meet or stop meeting your criteria.
6.Can I export my analytics data?
Yes. You can export player data, event histories, stat values and group information at any time. Your data is yours.