User Accounts Registry
Monitor user balances. Accounts with > 5,000 MC are flagged as Suspicious.
| Username | Joined | Balance (MC) | Password | Status | Controls |
|---|
Weekly Bets Manager
Create matchups for users to pick winners. Set the predetermined winner, then reveal results at end of week.
Matchups
User Picks
Save matchups first, then user picks will appear here.
May Madness — Geography Tournament
Build the double-elimination bracket. Set the team list (any number, 2 or more), and the bracket auto-generates a Winners and Losers bracket plus a Grand Final. Set winners as matches are played to advance teams and settle user bets.
Tournament Setup
User Picks & Standings
Save the tournament first.
Forum Ban Management
Ban users from posting in the forum. Banned users can still view messages but cannot send new ones.
Currently Banned Users
| Username | Action |
|---|---|
| Loading... | |
Hall of Fame Manager
Manage Hall of Fame inductees. Auto-import users with >1,000,000 MC or manually add entries with images and descriptions.
Current Inductees
| Image | Name | Description | Inducted | Source | Action |
|---|---|---|---|---|---|
| Loading... | |||||
Games Manager
Upload HTML games (and optional thumbnails + captions). Each game is published at
/games/<slug>, where the slug is generated from the game's name.
Published Games
| Thumb | Name | URL | Type | Added | Actions |
|---|---|---|---|---|---|
| Loading... | |||||
Game Levels & Progress Manager
View and modify saved game progress for each user. Set levels, scores, or any game-related localStorage data.
Select a user above to view their game progress data.
Help — Signup & Google Analytics 4 Variables
Reference for the variables produced by the New User Registration form
(register.html) and how they flow into Google Analytics 4.
Form fields on the signup screen
| Label | Form input name |
Required | Stored as |
|---|---|---|---|
| Username | username |
Yes | Blob key in the users store + localStorage.currentUser |
| Email Address | email |
Yes | email field on the user blob + localStorage.email |
| Password | password |
Yes | Salted SHA-256 (passwordHash + salt) on the user blob — never stored in clear text |
| Confirm Password | confirm_pass |
Yes | Compared against password client-side only; not persisted |
Google Analytics 4 setup
The signup screen includes the gtag.js snippet with placeholder
Measurement ID G-XXXXXXXXXX. Replace both occurrences in
register.html with your real GA4 Measurement ID
(Admin → Data Streams in your GA4 property).
Variables sent to GA4 on successful signup
| GA4 destination | Variable name | Value |
|---|---|---|
| User property | username |
The submitted Username |
| User property | email |
The submitted Email Address |
Event (sign_up) parameter |
method |
Constant string "email" |
Event (sign_up) parameter |
username |
The submitted Username |
Event (sign_up) parameter |
email |
The submitted Email Address |
Before username and email show up in GA4 reports you
must register them as custom dimensions in
GA4 → Admin → Custom definitions → Create custom dimension,
with scope User for user properties or Event
for event parameters, and User property / Event parameter name set to the
exact variable name above.
/.netlify/functions/auth where it is salted and
hashed (SHA-256) before storage. There is no password
variable available to GA4, by design.
Note: GA4’s own policy prohibits sending raw email addresses as identifiers. If you need to keep using email in analytics, configure GA4 User-provided data collection so the value is hashed (SHA-256) before it reaches Google.