Migration · Super Admin

LIVE It Tracker — who filled out what

Every entry ever submitted to the legacy Gravity Forms tracker, rolled up per member, plus what has to be true before any of it lands in Supabase under the right account. Source: entries export 19 Sept 2026, joined to the form definition.

1What is actually in there

—Entries
—Members
—Top member’s shareof all entries
—Filed once, never again
—Matched to a profilechecking Supabase…
Read the concentration before you read the totals This is not 56 people using a tracker. It is one person using it heavily, a handful using it for a few weeks, and about a third of the list trying it exactly once. Any “engagement” number drawn from this data has to say so.

2Which tracker people actually used

SERVE It beat the health goal by nearly 2×. The most-used part of the LIVE It Tracker was never health data at all — which is the case for making manual, non-health tracking a first-class citizen in the new build.

3Entries per month

Two bursts — May 2024 and March 2025 — then a long decline. Both spikes line up with cohort pushes, not steady habit.

4What the tracker recorded

5Who filled out what

WP ID Username Groups Entries First Last Trackers used Serve min Learn min Cardio min Steps

Email addresses are deliberately not on this page The role gate is client-side JavaScript, so the raw HTML of this page reaches anything that doesn’t run JS. Names and group tags are enough to work the migration here; the WP ID → email join table lives as a working CSV in Website Backup/User Exports/, outside the repo, and is used once by the migration script.
Where Username and Groups come from Name and email are joined from the WordPress users export on ID, with the display name preferring the member’s own BuddyPress profile. Group tags are built from three sources: the Organization they typed themselves, the membership tiers in their WordPress roles (Basics, 360 Academy, Ambassadors, Instructors, Group Leader, Staff), and the email domain — which is what reveals the college cohorts behind the entry spikes.

6Moving it into the new environment

The join is solved — 56 of 56 The entries carried only WordPress user IDs. The WordPress users export (ID → user_login / user_email / roles) and the BuddyPress xprofile export close that gap completely: every one of the 56 tracker members now resolves to a real account, with a name, an email and their membership tiers. Nothing is unattributable. What remains is matching those emails to Supabase profiles and reshaping the rows.
1
Export the WordPress user table — done

1,655 users joined on ID; all 56 tracker members resolved to a login, an email and their roles.

2
Match email → profiles, and report the misses out loud

Some legacy members will have no Supabase account. Those rows get parked in a staging table, not force-fitted to the nearest match and not silently dropped.

3
Reshape 57 columns into one row shape

live_it_entries (user_id, local_day, track, metric, value, unit, source, score, note). Each legacy answer becomes one row — serve minutes, learn minutes, cardio minutes, a walk in steps — instead of 57 mostly-empty columns per submission.

4
Translate Great / So-So / Terrible

The legacy scale was three words, exported as 10/5/1. Map to the new scale once, in the migration, and record the mapping — so nobody later reads a 10 as “out of ten.”

5
Carry the gaps the old form caused

Two conditional rules pointed at renamed choices, so fields never appeared. Those blanks are the form’s fault, not the member’s — mark them unasked, not 0.

6
Back-date, don’t re-award

Entries carry their original dates so history and calendars look right. Do not mint coins retroactively — a member would wake to thousands of coins they didn’t earn today, and every leaderboard would break at once.

7
Drop the tracking pixels

The export carries IP addresses and user agents for 56 people. None of it belongs in the new environment. Leave it in the CSV.

7Data-quality flags carried forward

Unattributed entries
Two conditional rules never fired Rules referenced Wisdom and Find a Donor; the real choices are Wisdom/Mentoring and Recruit a Blood Donor. Anyone choosing those never saw the minutes, blood-units or scoring fields.
Ten entries claim a full 24-hour day of service The largest volunteer-minute values are 1,440, 1,439, 1,438 and 1,430 — 1,440 is exactly the number of minutes in a day. Ten such entries account for roughly a third of all 29,416 recorded minutes. Almost certainly hours typed into a minutes box, or a whole day logged at once. Cap or quarantine these at migration rather than importing them as fact.
Dates are clean Every retained row carries a usable activity date, so back-dating the migration is safe.

Gated and noindexed. Shows member-level activity — super admins only.