With the creation of Actually Playing Games, we've been finding it rather useful to be able to check for a given SteamGifts user how much they actually play the games they win here. Obviously most SG users don't have a BLAEO account - and just viewing a users profile in Steam takes a while and is difficult to filter down to just SG wins. So I've written a userscript for Tampermonkey for Firefox or Chrome that, when viewing the wins page for a user, allows you to quickly fetch some statistics about how much (i.e. playtime) and how well (i.e. achievements achieved) that user does for their wins.

Download the userscript from Github

IMPORTANT: this extension requires a Steam API key to function. You need to go to this page and register for one if you do not already have one (the domain name can be one you make up - its not important).

To use it, once you've installed the userscript in GM/TM, just go to any user's gifts won page and click on the button labelled "Provide API key", paste your API key into the prompt (this is cached hereafter), and then click on the new button labelled "Fetch Playing Info". You'll see the additional rows of the table slowly fill up as the information comes back from the Steam API, as well as individual games having their info updated in the rows below. The extension caches all the results it can and tells you when the cache was last updated.

Caveats: there are some considerable omissions that this script cannot deal with or be worked around:

  • the script will not work for fetching stats about users whose profile information is private,
  • if a user plays their games in offline mode or through family sharing, that time will not be included in the stats.

Warning: if you use this extension too many times in a day, there is a possibility Steam will block your API key for a period of time and the results that come back will be incorrect or none at all.

Changelogs

2018-01-23: New feature! Do You Even Play, Bro? now queries How Long to Beat (HLTB) for each game, and enriches both the list of games and adds some summary statistics to the table. This makes it easier to compare a users playtime to the consensus about how long a game should take, especially useful for games without any achievements.
2017-12-15: The latest version of Greasemonkey for Firefox 57 has broken a number of things (internal API changes, as well as installing userscripts from GitHub). Rather than waiting for them to fix all these issues, I instead suggest Firefox 57 users move to Tampermonkey since it has neither of these issues.
2017-07-07: Added a new feature of charting a user's cumulative achievement percentage (put your cursor over the graph for more details). Users can switch between the two styles by clicking on the link next to "Games with Achievements".
2017-05-20: With many thanks to BarefootMonkey for spotting it, my script no longer includes DLC in the counts - so hopefully those of you who have won individual DLC or collections that included DLC should see your stats have improved.
2017-05-16: Just pushed out version 1.3.5 of this script. It's made some slight changes to how the "win counts" (now "games with...") section of the table, moving the absolute counts to title attributes (i.e. hover over the percentage to see the ratio) and adding a new count of games with ≥25% of achievements available obtained.
2016-11-08: I've released version 1.2.0 of the script that introduces the ability to fetch the list of games within a sub, which should reduce the inaccuracy of some users statistics.

View attached image.
7 years ago*

Comment has been collapsed.

Thanks a lot for the update Kelnage :)

6 years ago
Permalink

Comment has been collapsed.

I liked seeing the numbers, dunno why they got removed, please add

$game_counts.append(" (" + playtime_game_count + '/' + win_count + ')');
$game_counts.append(" (" + achieved_game_count + '/' + achievement_game_count + ')');
$game_counts.append(" (" + achieved_game_count_25 + '/' + achievement_game_count + ')');

to lines 212,215 & 218 subsequently.

6 years ago
Permalink

Comment has been collapsed.

I hid them because that cell was getting a bit too big. As a workaround for now, you can hover your mouse over the percentage to see the ratio. Going forward, I will probably add a new row to the table and split them into two (one cell containing the playtime percentage/ratio and another for the achievements).

6 years ago
Permalink

Comment has been collapsed.

I reduced 'achievement' to 'achiev' to save some ;-) Tooltips are cumbersome imo, I prefer to see all data immediately.

I have my version customized and will keep that atm, also added a 100% display. There a tooltip listing the games would be useful ^^

6 years ago
Permalink

Comment has been collapsed.

I've just pushed a new version (1.3.6), which has gone back to the full display of the stats (i.e. ratios as well as percentages). Hope you're happier with that.

Listing the games could be done in a future release, although right now I don't believe I store the names of games, just their appids.

6 years ago
Permalink

Comment has been collapsed.

I'm already a step further ;-) Guess I finally need a github acc to directly contribute those ^^

View attached image.
6 years ago
Permalink

Comment has been collapsed.

Github pull requests are always welcome - although for the 100% completion feature I've just added it to 1.3.7.

6 years ago
Permalink

Comment has been collapsed.

nice ^^
I avoided using 100% as the descriptor cause it can easily be confused with the actual percentages.

6 years ago
Permalink

Comment has been collapsed.

Thanks a lot for the update Kelnage! It's awesome!

6 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

6 years ago
Permalink

Comment has been collapsed.

That was always like that, basically scripts need to be aware of Endless Scrolling to work with it, which is a bit much to expect.
You can still open the pages directly, it will display it then.

6 years ago
Permalink

Comment has been collapsed.

I'm not sure if this could be done or if it's easy to do, but I would love to have "How Long To Beat" data added via script. Would certainly help to choose to enter a GA or not.

6 years ago
Permalink

Comment has been collapsed.

Would love to - sadly it seems HLTB has made getting that data out of their website much harder for scripts than it used to be. It is certainly still on my wish list, but honestly unless they implement a proper API, I doubt I will be able to do this.

6 years ago
Permalink

Comment has been collapsed.

It's a bit sad to hear that, but thanks anyway! :)
btw, the new features are awesome!

6 years ago
Permalink

Comment has been collapsed.

All this talk about played wins reminded me that I haven't bump this thread in a while!
BUMP!

6 years ago
Permalink

Comment has been collapsed.

Hey LastM - just so you know, I've just added HLTB querying to Do You Even Play, Bro. Currently it won't display this information for GAs other than won games, but it probably won't be too hard for me to add that in soon.

6 years ago
Permalink

Comment has been collapsed.

I hope it's OK, but I sent you a pull request on GitHub.

Thanks again for making such an awesome script.

6 years ago
Permalink

Comment has been collapsed.

Pull requests are very welcome! Thank you very much for noticing how to detect DLC when checking playtime - it has made my script even better.

6 years ago
Permalink

Comment has been collapsed.

Edit: Nvm, was an error on my end.

Thank you for the useful script :).

6 years ago*
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

6 years ago
Permalink

Comment has been collapsed.

Good question! I hope that this data isn't included in the counts/averages- but because of the way the playtime comes back and the enrichment works, it displays the playtime anyway. If the game has achievements and they aren't being shown, then that would add some evidence to that hypothesis (as game achievements have to be individually requested). But I will double check the script to make sure.

6 years ago
Permalink

Comment has been collapsed.

Bump.

6 years ago
Permalink

Comment has been collapsed.

Hi there! Thanks again for the script. 👍

I have a suggestion regarding achievement scores. You currently display >=25% completion, and 100% completion. Some games are very hard to get to 100% (some impossible). I'd be more interested to see how many are >=50% and >=75%. At least then you see a better idea of the overall progress.

What do you think?

Update:

I forked and updated it myself, submitted a pull request. I like it better, but I'll leave it to you to use it. :)

Another update:

In a rush, I did a piss poor job of formatting the output and cleaning up the variables (achievement_25_100_counts). Sorry for that.

6 years ago*
Permalink

Comment has been collapsed.

It worked once, then never again.

Just kidding. I may have figured it out o_O?

6 years ago
Permalink

Comment has been collapsed.

Sometimes (more often than I would hope for) I stumble upon the profile of a user with hundreds of wins, and with maybe one or two games out of those hundreds won that have any achievements gained in them. That always makes me wonder which these one or two games are, that were interesting enough to capture the interest (even if only ever so briefly) of that user.

It would be possible to go through each page of the wins and look for achievement percentage numbers that aren't 0, but that would be tedious.

Would it be easy to implement a "generate list of games with achievements"-link? When it comes to the UI, I'm thinking that the percentages for Games with ≥1 Achievement, 25% and 100% each would be a link, and each link opening a new tab or something (don't know what's possible/easy to do) with the generated list. The row with the most space left ("Games with ≥1 Achievement") could have a "(click for list of games)" description.

...as for the list, only the games that fit each category (<1, 25%, 100%) would be listed, and the game name, achievement stats (x/n, %) and playtime listed for each game.

This is not an important function, but would be pretty handy and neat for the curious :)

Thanks again for this tool, pretty nice for finding people who do play their won games to add to the whitelist!

6 years ago
Permalink

Comment has been collapsed.

Do you think it would be sufficient to do a tooltip (i.e. you hover the mouse over the "Games with >1 achievements" result) in the following format:

<Game with 1st most achievements>: <playtime>, <achievement percentage>
<Game with 2nd most achievements>: <playtime>, <achievement percentage>
...

I don't think I'd be able to easily add a separate page, although it might not be so bad to try and do a modal dialog instead (a "pop-over", if you prefer), with the same content as above, where you could click on the game names to search for that particular win I guess. Probably wouldn't work for games that were extracted from packages though.

6 years ago
Permalink

Comment has been collapsed.

Yeah, I was actually considering adding that as one of my suggestions, doing it as a tooltip :) Didn't know which way would be the easiest to code.

Oh, and for the sorting, the achievement percentage is probably more interesting than the raw achievement numbers. If several games have the same percentage, I think the second thing they should be sorted after is the playtime. So, someone who has 100% in all their wins would have them presented as most played first. Still, if this is possible/easy to do.

Would it be easy to add, or much work? Don't know how many of us would use that feature, but for me it would be a nice bonus :)

6 years ago
Permalink

Comment has been collapsed.

posted this in blaeo, but since it also affects this script here it goes xD

i think there's an issue with skyrim ids
won game here: https://www.steamgifts.com/user/Mully/giveaways/won/search?q=skyrim
-
sg points to this old sub for the legendary edition, which is removed now from the store and replaced by the special edition of the same game:
http://store.steampowered.com/sub/28187/
https://steamdb.info/sub/28187/
-
so, shouldn't it be updated to read this instead?
http://store.steampowered.com/app/489830/The_Elder_Scrolls_V_Skyrim_Special_Edition/
https://steamdb.info/sub/110687/
i think they are the same game, just updated with all the dlc.

6 years ago
Permalink

Comment has been collapsed.

Hmm, I'm a little reluctant to hard code in any redirection from old appids to new ones, as I could foresee it causing me a lot of work to maintain such a list (which I probably wouldn't do and end up neglecting the userscript more than I already do). Ideally Steam will eventually set up a redirect (which my script would handle correctly). Clearly it doesn't seem like that's going to happen - but I'm not sure I have a good solution to the problem in general.

6 years ago
Permalink

Comment has been collapsed.

no problem if it can't be fixed, but it's good to know just in case someone else asks or it happens again with another game.

6 years ago
Permalink

Comment has been collapsed.

Sorry for grave digging, but Skyrim Legendary Edition is not equal to Skyrim Special Edition.

  • Skyrim = base game,
  • Dawnguard, Hearthfire, Dragonborn = All DLCs,
  • Skyrim Legendary Edition = Skyrim + DLCs,
  • Skyrim Special Edition = Skyrim + DLCs + improved engine and graphics.
6 years ago
Permalink

Comment has been collapsed.

Bump for probably the most useful script on SG.

6 years ago
Permalink

Comment has been collapsed.

I think ESGST is the most useful script, but this is definitely right there in the top 3 or 4.

6 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 3 years ago.

6 years ago
Permalink

Comment has been collapsed.

Thank you for the useful script! So have a bump.

SG right now:

View attached image.
6 years ago
Permalink

Comment has been collapsed.

Hi there i've got it installed and activated but nothing has changed

6 years ago
Permalink

Comment has been collapsed.

should be at the top of this page. ;)

6 years ago
Permalink

Comment has been collapsed.

did you set your api key?

6 years ago
Permalink

Comment has been collapsed.

i think it's working now, it was showing N/A but now it is showing numbers

6 years ago
Permalink

Comment has been collapsed.

You have to manually update it. It doesn't auto update the stats!

6 years ago
Permalink

Comment has been collapsed.

Yirg told me to bump something worthwile to bump. This is. Very useful userscript!

6 years ago
Permalink

Comment has been collapsed.

Indeed it is :-)

6 years ago
Permalink

Comment has been collapsed.

Bump.

6 years ago
Permalink

Comment has been collapsed.

I love this script but realised I've never bumped it. Thanks a bunch for making it. :)

6 years ago
Permalink

Comment has been collapsed.

Would it be possible to implement this script for the sent games page so as to easily see which games we've given away have been played?

6 years ago
Permalink

Comment has been collapsed.

There's Did they even play?. It runs on the winners page of a giveaway, so you do have to check each one of your giveaways separately though.
(It's based on this script I think)

6 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

6 years ago
Permalink

Comment has been collapsed.

Damn.

I tried to install it on FF with tampermonkey, but it's not working.

Edit: It does work on tempermonkey and new FF. I just needed to restart webbrowser few times for some reason

6 years ago*
Permalink

Comment has been collapsed.

Just use tampermonkey for Firefox for the time being. I may update my script properly to use their new API, but only if others follow - I'm not wasting my time just to support their arbitrary API decisions.

6 years ago
Permalink

Comment has been collapsed.

I've released version 1.2.0 of the script that introduces the ability to fetch the list of games within a sub, which should reduce the inaccuracy of some users statistics.

What if the sub has been removed, but the game is still in the Steam store? I have an issue with GoNNER - Press Jump To Die Edition. The sub was removed and now is a bundle (this one) so this script thinks I haven't played the game, but I already finished it

View attached image.
6 years ago
Permalink

Comment has been collapsed.

Then I'm afraid my script won't work for that particular win. Sadly I can't find a reliable method of handling those problems (sites which have done so maintain their own database of sub -> games mapping, but I don't have the time to do that). The good news is that because it can't fetch the information for that game, it won't be counted as an unplayed or unfinished win in the stats - it should just be ignored.

6 years ago
Permalink

Comment has been collapsed.

Awesome script. works well, haven't had any issues yet and its accurate for the most part :0 ty!

6 years ago
Permalink

Comment has been collapsed.

Seems your latest update broke the addon for me, on Chrome.
Where the data and button used to be, on the wins page, there is nothing to be seen now. Downgrading to 1.4.2 fixed the problem.

6 years ago*
Permalink

Comment has been collapsed.

I don't know what would have caused that, but I've just put out version 1.5.1, which reverted most of the changes I made, so hopefully that will work for you (it works for me on Chrome).

6 years ago
Permalink

Comment has been collapsed.

I can confirm that 1.5.1 works for me too. Thank you. :)

6 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.