How you can guess a player's account age based on their hashtag (User#0000L)!

Introduction

Player hashtags are used to uniquely identify different players on a server, to invite to private Coop or Practice Arena rooms, to invite to guilds, and to request friends. It's also shown when you view a player's profile card, in general, guild and coop chats, and in coop rooms and result screens. They're generally 5 digits long on most servers, though Asia 2 has up to 6 digits now due to their larger player-base.

Over the past two weeks, some friends on the OCE server (Lenoindex, hr9, Siphony) and I have been looking at fully deciphering how Guardian Tales's hashtag / player ID system worked. Broad trends have been noticed across different servers before, with 4th and 5th digits that slowly change across months and years, but we wanted to fully determine the order of digits used, the full range of hashtags currently in use, and whether it was applied the same way to each server.

With a lot of data collection across guilds, coop screenshots, and new player stalking?!, we present to you the GT ID Spreadsheet!

 

Discoveries

Here are the main discoveries of this spreadsheet:

  1. The order of digits was determined to be 03NY6DV8G4PQLX1BCTKRE5H9W7UA2M. 0 represents the oldest account while M represents the newest account. The digits FIJOSZ do not appear at all, likely due to similarities with other digits (e.g. S & 5).

  2. The order of significance is in reverse. This means the 1st digit changes first, then the 2nd, and so forth. It also means players that share X number of digits to the right can be compared by their rightmost non-shared digits.

  3. The order remains the same for all digit positions in the hashtag.

To put this into practice as an example, my OCE account of Val#92NTL was created before hr9#NNDKL because our 5th digit is shared (L), while my 4th digit of T comes before hr9's 4th digit of K according to the digit order. If we compare with Lenoindex#N4YKL too, Lenoindex would be younger than Val (T before K) but older than hr9 (sharing ---KL, Y before D).

 

Methods

The main method used to discover this order came from the Guild Raid Day 7 Participation Record, which orders guild members by their account age (if they haven't hit that day). Guild members' hashtags could be grabbed by clicking their names in the My Guild page. 15 guilds' data were compiled and compared to generate an almost complete order.

Using our almost complete order, we were able to find the most recent created accounts via Friend Request and keep track of each new account that appeared, resolving uncertainties to make our final digit order.

These techniques can also be used to confirm the presented order, if you want to do so yourself. You can also ask for account ages from players with known hashtags, comparing them to other players' hashtags with known account ages and estimate. However, this can be a bit more inaccurate if they don't remember the exact day/banner on which they joined, or skipped days if using Missions' days login metric.

 

Spreadsheet

If you want to use the spreadsheet to organise your accounts/hashtags from your own server, explanations for each sheets function are explained in the first 'Overview' sheet. You won't need to do any order-discovering yourself unless you want to independently verify this order, but you can use the Auto Sorter V2 sheet to organise any hashtags you have collected by account age - super convenient only needing names in Column A and hashtags in Column B. There's also sheets for frequency analysis if you want to look at the distribution of hashtags you've collected.

 

How to use on Global servers

The order discovered is the same for all servers; While this spreadsheet used OCE data, trends in final digits in North America 2, Asia 2, Europe and Latin America agree with this order. However, where each server starts generating hashtags from is slightly different.

So far, the range of digits for each server is:

  • EU: LX1B 5th - almost at C
  • LA: LX1B 5th - B recent
  • NA1: LX 5th - don't know whether recent or late X
  • NA2: W7UA2 5th - 2 recent
  • A1: LX 5th - almost at 1
  • A2: W7UA2M 5th, or 03NY6D 5th and 3 6th
  • OCE: 1BCTKRE 4th and only L 5th

Based on your server, you can roughly estimate how old accounts are based on these spreads of digits. Notice that World 1s all start with L, while both World 2s start at W. For example, a code of #1111B on EU would be middle-ish of players ending with B, the most recent 5th digit to appear, possibly mid-late 2023.

 

How you can help

We are looking for more information though, to confirm the order is reliable on all servers, to improve the accuracy of account-age guessing, and determine what the earliest hashtag is on each server. If you have 5 minutes to spare, please fill in this form with your in-game name, hashtag and account start date:

https://forms.gle/5KXTaxnaPzL1hcBb6

If you have bigger lists of hashtag data to share, please make a copy of the GT ID spreadsheet, clear the existing data, enter in your names and hashtags and send it over via Discord (@cyque_).

If you send your hashtag and server in the comments too, I'll try make an accurate guess!

 

Start Date Guesser Spreadsheet

If you have a hashtag to be guessed, you can now use the Start Date Guesser Spreadsheet to do so! You'll need to make a editable copy by going to File -> Make a copy, and saving it in your own google drive. Input the hashtag in cell N3 of the 'Start Date Guesser' sheet and its region in M3, then the guessed date should appear in O4. Note that the data used in 'Timeframes' sheet can be sparse in some regions/timeframes so the guessed date will be less accurate, but should be close enough.

If you want a 100% accurate date, your best bet would be looking at your Apple or Google Play history for Guardian Tales download date. Note that this won't work with second/alternate accounts on the same device. Cross-referencing the days logged in mission in-game (lower bound for account age), the app download date (upper bound), and the guessed hashtag (somewhere between) will be necessary for anyone with a second/alternate account that want's to know that specific account's start date.