How to Make Your Steam Profile Public for CS2 Stats
Steam privacy has two dropdowns that decide whether any CS2 tracker can read you. The exact click path, what each one blocks, and how long it takes.
A private Steam profile is the single most common reason a CSStatLab lookup comes back empty. Steam hands third-party tools exactly what your privacy dropdowns allow and nothing more - there is no back door, no API key that overrides your settings, and no way for any tracker to read an account you have locked down. Two dropdowns decide the whole thing, and most people get the second one wrong.
The Exact Click Path
- Open Steam (client or browser) and click your persona name in the top right, then Profile.
- Click Edit Profile on the right-hand side of your profile page.
- Open the Privacy Settings tab.
- Set My profile to Public.
- Set Game details to Public.
- Untick Always keep my total playtime private even if users can see my game details.
If you would rather skip the navigation, steamcommunity.com/my/edit/settings opens that tab directly on whichever account is signed in.
There is no Save button on this tab. Each dropdown writes the moment you change it and Steam confirms next to the field. To check the result properly, open your own profile URL in a private browsing window. Signed in as yourself you will always see a public-looking profile, which is why people are certain they fixed it when they have not.
What Each Dropdown Actually Blocks
My profile is the master switch. Set to Private or Friends Only it overrides everything below it, whatever those dropdowns say. It governs your persona name, avatar, Steam level, showcases and the profile page itself.
Game details controls the games you own, your CS2 hours, and the per-game statistics Steam stores against app ID 730. This is the setting that breaks stats lookups.
Always keep my total playtime private is a separate checkbox that survives Game details being Public. Leave it ticked and your library is visible while every hour count comes back blank.
Friends List, Inventory and the comments dropdown have no effect on stats at all. Leave them wherever you are comfortable - a locked inventory and a hidden friends list will not stop a single number from resolving.
Why Game Details Is the One That Breaks CS2 Lookups
Steam's Web API is split across endpoints with different gates, which is why a profile can end up half-visible.
GetPlayerSummaries is the identity endpoint. It keeps returning your steamid, personaname, profileurl and avatar hashes even on a fully private account. The field that flips is communityvisibilitystate: it reads 3 when your profile is public and 1 when it is not. What disappears on a private profile is realname, timecreated, loccountrycode and the gameextrainfo field that shows what you are currently playing.
Game details is a different gate entirely. With it set to anything other than Public, GetUserStatsForGame for app 730 answers HTTP 403 instead of your stats, and GetOwnedGames comes back empty. Ownership, playtime and Steam's own CS2 counters all vanish together.
This matters more in CS2 than it did in CS:GO. Your Premier CS Rating and your competitive match history are not exposed through the Steam Web API at all - no endpoint returns them. Every tracker reaches match data through a service you have connected, and those services first confirm through Steam that the account behind the ID actually plays CS2. Leetify's setup flow asks for a public profile for exactly that reason. When Game details is locked, the first step fails and everything downstream reports "no data" rather than "private", which is why the error you see rarely points at the real cause.
Valve's own Steam profile privacy guide covers the Public, Friends Only and Private states in full.
How Long the Change Takes to Propagate
- Steam Community pages update immediately.
- The Steam Web API serves cached responses. A minute or two is normal, occasionally longer under load.
- Leetify re-scans on its own schedule and needs a finished match to pull. Flipping a setting does not backfill games you played while private.
- CSStatLab caches misses. When a lookup finds no connected Leetify account, that answer is remembered for up to 24 hours before we check again, and the marker is cleared the moment a lookup succeeds.
The practical consequence: changing your privacy settings and refreshing CSStatLab ten seconds later will usually show you the old answer. Play a match, come back the next day.
What CSStatLab Can and Cannot See
Three public sources feed a profile page:
- Steam Web API - SteamID64, persona name, avatar and profile URL.
- Leetify's public API - the per-match numbers: K/D, ADR, pre-aim, time to damage, accuracy, spray control and utility.
- FACEIT's Data API - level, elo and lifetime matches, used as the fallback when there is no Leetify account.
Nothing else. No email address, no password, no payment details, no private messages, no friends-only content, no deleted matches, and nothing at all from a profile set to Private. If you cannot see it in a private browsing window while signed out, neither can we. The full detail is in the data, privacy and troubleshooting FAQ, and what CSStatLab is covers the wider picture of where each number comes from.
When Public Is Not the Problem
Work through these in order before assuming privacy is the culprit.
You are searching the wrong identifier. A SteamID64 is 17 digits and starts with 7656119. A vanity URL such as steamcommunity.com/id/yourname is not an ID and has to be resolved first - see how to find a Steam ID.
The profile was never set up. A brand-new account has no Community profile until you click through the one-time setup. The page reads "has not yet set up their Steam Community profile" and no privacy dropdown will fix it.
No Leetify account is connected. This is the most common miss by a wide margin, and from the outside it looks identical to a privacy problem: public profile, correct Steam ID, still no per-match breakdown. Finding and sharing your Leetify profile walks through connecting one, and Leetify vs CSStatLab explains which numbers come from which service.
The player only plays Premier. There is no FACEIT record to fall back on, so the fallback stat grid stays empty. That is expected behaviour, not a fault.
Once the data does resolve, how to read your profile is the next stop.
Was this article useful?
See this concept on real profiles
Open a live player page and compare the article's ideas with real trends, ranks and statistical signals.
Related articles
How to Review a CS2 Match: A Practical Demo Checklist
A repeatable 20-minute CS2 match review that turns deaths, missed timings and bad decisions into one clear practice goal.
CS2 Mouse Acceleration Guide - Turn It Off Properly
Mouse acceleration ruins consistency in CS2. Here is how to disable it in Windows, in-game and on your mouse, so the same physical motion always moves the same distance.
