Summary The Problem The Architecture The Identity Fix Day-to-Day The Members Area Member Data Model Open Questions

Systems Proposal · GBX Global

One Member, One Record

Why a marketing tool became your database — and how to fix it before the next feature gets built on top of it.

Prepared for  GBX Global Prepared by  Sam Bates Date  16 July 2026 Status  Draft, for discussion

Executive Summary

Mapping out how member data actually moves through GBX's systems today turned up two things worth fixing before any more feature work gets built on top of them.

First, Mailchimp has quietly become the closest thing GBX has to a member database. It's where lead stage lives, where application answers land, and it's the record staff actually work from day to day. That's a mismatch: Mailchimp only ever knows a person by their email address, and people change email addresses — at exactly the two moments this pipeline can least afford it: between applying and signing up, and between signing up and later updating their details. When that happens today, the record splits in two: an orphaned lead on one side, a disconnected new member on the other.

Second, the private members area is old, its messaging feature no longer works, and it's a genuine chore to develop against locally — while carrying very little day-to-day usage to justify keeping it as-is. That's not a reason to panic. It's an opening: whatever replaces it can be built on a foundation that actually supports the search and member-recommendation features GBX wants next, rather than patched onto BuddyPress.

What follows gives each type of data exactly one true home, fixes the identity-linking problem with a mechanism already tested live against GBX's own Memberful account, and sets up the members area rebuild to happen on solid ground rather than on top of the old one.

01  ·  The Problem

Where the pipeline actually breaks

Today, a person's journey runs through three systems that were never quite designed to hand off to one another: someone becomes a lead (a staff referral through the ChimpLink Chrome extension, or a public application on the GBX-Global site), Mailchimp holds their record and lead stage as staff review and approve them, they're sent a Memberful signup link, and once they subscribe, ChimpLink updates that same Mailchimp contact with their subscription details.

That phrase — "that same Mailchimp contact" — is doing more work than it can reliably do. Mailchimp identifies a contact by email address alone, and two handoffs in that chain quietly assume the email doesn't change along the way: applicant → Memberful signup, and Memberful member → later profile updates. When someone applies with one email and signs up with another — which happens, and has happened — the system has no way to reconcile the two. You end up with exactly what's been observed: an orphaned lead sitting on all the application history, and a brand-new member with none of it.

This isn't hypothetical, either. Staff already hand-edit and bulk-update member data directly in Mailchimp, and a bulk update isn't checked against the same rules Mailchimp otherwise enforces. A recent bulk edit wrote "Pre-Seed" into a funding-stage field whose rules only allow "Pre-seed" — Mailchimp accepted it on the way in without complaint, then rejected ChimpLink's own attempt to update that very contact:

Happening in production

"Your merge fields were invalid."  →  "Value must be one of: Pre-seed, Seed, Series A, Series B+, Public (not Pre-Seed)"

One system silently accepting data the other one strictly rejects, on the very same piece of information, is exactly the failure mode this proposal is meant to close off.

Separately, the members area itself has quietly become a low-priority liability: BuddyPress messaging is currently broken, the theme is painful to run and test locally, and current member traffic doesn't yet justify the cost of maintaining it as-is. Rather than a reason to leave it alone, this is the moment to rebuild it properly — see The Members Area.

02  ·  The Architecture

Four systems, four jobs

The fix isn't a new platform to replace everything — it's giving each existing (and one new) system exactly one job, and refusing to let any of them do double duty as a database they were never built to be.

SystemOwnsChange
Memberful Subscriptions & billing — who's paid, which plan, when it renews. No change
ChimpLink Every applicant's history before they're a member, plus the complete historical event record for everyone, ever. Expanded role
New Members App A member's actual profile once they've joined — and, in time, search and member-to-member recommendations. New
Mailchimp A read-only view for staff, and the engine behind the automated email journeys already in place. Narrowed role

How data moves

GBX-Global Apply Now + Quick Lead Memberful Signup, billing & renewals Stripe Payments & payment failures ChimpLink System of record & event history one lifelong ID per person New Members App Live profile, search, messaging & recommendations two-way, authoritative Mailchimp Staff view + automated email journeys one-way, read-only projection

Solid brass connections are authoritative — the systems on either end can be trusted as a source of truth for their part of the data.   The dashed line into Mailchimp only runs one way. Nothing about a member is ever authoritative there.

The identity fix

Confirmed · tested 15 July 2026

Give every person a single internal ID the moment they first make contact with GBX — whether that's a staff-entered referral or a public application — and carry that same ID all the way through, including into Memberful's signup process. Memberful lets us attach that ID to a person's checkout link as a tracking parameter, and, critically, we tested this live against GBX's own Memberful account and confirmed it survives even when someone signs up with a completely different email address than the one they applied with. That one ID becomes the thing every system agrees on — not an email address, which is always free to change.

For the record

Memberful returns this value as tracking_params.applicant_id on both the member_signup and subscription.created webhook events. Verified against a live test signup on GBX's account (plan 35873) using a deliberately mismatched email address — the linking ID still came through cleanly on both events.

The same idea needs to run one step earlier, too: today, a lead who applies using a different email than a staff member originally entered for them risks the same kind of broken link. ChimpLink already has working logic that safely updates a Mailchimp contact's email address in place when it changes after signup, without creating a duplicate. This proposal is really about widening that existing mechanism to cover a person's entire history with GBX — from the very first time they're a lead, not just from the day they become a paying member.

03  ·  Day-to-Day

What actually changes for staff

Nothing about the spirit of how leads are reviewed changes. Staff still see new leads, still get notified when someone completes an application, still approve applications and send payment links. What moves is where that review happens: out of a Mailchimp segment that has to be manually refreshed, and into a live Leads view inside ChimpLink itself.

The automated email sequences — welcome emails, payment-link reminders, win-back emails for lapsed members — keep running exactly as they do today. Mailchimp keeps sending them; it's simply being told what to send by the system that actually owns the data, instead of being where those decisions are made and stored.

The lead journey, unchanged in shape

01First Interaction
02Completed Application
03Payment Link Sent
04Converted
paused, reversibleOn Hold
dead endClosed  /  Lost

04  ·  The Members Area

Rebuild it, don't patch it

Three things point the same direction: current member traffic on the site is low, the BuddyPress messaging feature has already stopped working, and the theme is genuinely painful to develop and test against locally. Individually, any one of those might be worth living with. Together, they mean there's very little being protected by leaving it as it is.

What stays the same Memberful continues to handle sign-in and access control exactly as it does now — members won't notice any change there, and their subscription status still automatically governs what they can access.

What's gained by rebuilding rather than patching: a members area with its own proper data store, built from day one to support real search and member-to-member recommendations — the kind of features BuddyPress was never going to deliver well, and that any AI-assisted matching layer needs a solid foundation under it to work from.

05  ·  The Member Data Model

What's actually being collected, and where it should live

Rather than guess, this is a straight inventory: every field on the Apply Now form, every field in the current member profile editor, and every merge field ChimpLink already writes into Mailchimp. Two things stood out immediately.

Found while compiling this Company, job title, industry, and LinkedIn are all captured twice today — once when someone applies, and again independently when they later edit their member profile — with nothing reconciling the two. The identity fix already agreed (an applicant's answers seed their new profile at signup) fixes this by design: the profile becomes the one living, editable copy, and the applied-with answers stay only as historical context.
Resolved · 16 July 2026

A live pull of Mailchimp's own field list confirmed it: the funding-stage dropdown from The Problem's bulk-edit error is a field called "Stage" (Pre-seed, Seed, Series A, Series B+, Public), and it exists only inside Mailchimp — created directly in its dashboard, invisible to the Apply Now form, the member profile, and ChimpLink's own merge-map. It wasn't the only one: the same pull turned up several more fields that live only in Mailchimp, listed below.

Identity

FieldCaptured todayWho sees it
Full nameApply Now, member profile, MemberfulMember (own) + directory
EmailApply Now, member profile, MemberfulMember (own) + staff

Professional profile — member-editable, shown in the directory

FieldCaptured todayWho sees it
CompanyProfile edit + Apply Now (duplicate)Member + directory
Job titleProfile edit + Apply Now (duplicate)Member + directory
Location (city)Profile edit + Apply Now, as "Country & Region"Member + directory
CountryProfile edit (hidden field, not shown in the loop)Staff only, today
EducationProfile edit onlyMember + directory
IndustryProfile edit (single choice) + Apply Now (multi-select — inconsistent shape between the two)Member + directory
LinkedInProfile edit + Apply Now (duplicate)Member + directory
Twitter / XProfile edit onlyMember + directory
Company websiteApply Now only — not carried into the profile todayStaff only, today

Funding & investment — member-editable, visibility is the member's own choice

FieldCaptured todayWho sees it
Funding statusProfile editMember, toggle ("Show Funding Status")
Last funding typeProfile editMember, same toggle
Total fundingProfile editMember, same toggle
Stage (Pre-seed / Seed / Series A / Series B+ / Public)Mailchimp only — no form or profile equivalentUnclear — decide if this becomes a real profile field

Preferences & settings — about their experience, not really "about" them

FieldCaptured todayWho sees it
Private messaging (opt-in/out)Profile editMember, own setting
Show funding status (the toggle)Profile editMember, own setting

Mailchimp-only fields — exist only inside Mailchimp, added directly by staff

Once staff can no longer freely bulk-edit Mailchimp itself, each of these needs a straight yes/no: is it actually still used? If yes, it becomes a real field in the new Members DB — staff-only, since none of these came from a member-facing form, so there's no reason to expose them as something a member edits. If no, it gets dropped rather than carried forward as dead weight.

FieldNotesStill used?If kept
Alternative EmailsA staff workaround for exactly the identity-linking problem this proposal fixes properly.YesAbsorbed into the identity fix, not a standalone field
Additional Companies / Additional Company WebsiteSome contacts have more than one company tracked ad hoc.Ask staffStaff-only field, new DB
Exec Focus Area (Finance / Sales & Marketing / Operations / Product / Technical / Legal)A manual refinement of "Executive" that the Apply Now form itself doesn't ask for.Ask staffStaff-only field, new DB
Silicon Valley or San Francisco?A finer regional split than the profile's own Location field.Ask staffStaff-only field, new DB
Elevator PitchExists as its own field here, even though the Apply Now sync currently stores the same answer as a note, not a field — worth reconciling which is authoritative.YesReconcile with the Apply Now note, then keep one
HonoursPurpose isn't obvious from the data alone.Ask staffDepends entirely on the answer

Qualification data — collected once at application, not part of the ongoing profile

FieldCaptured todayWho sees it
Which best describes you (Founder / Investor / Executive / Sponsor / Government)Apply NowStaff only
Relation to BritainApply NowStaff only
Which plan interests youApply NowStaff only
Referral sourceApply Now, Quick LeadStaff only
Elevator pitch (used for the newsletter intro)Apply NowStaff only
Book recommendationApply NowStaff only
Introductions requested (service providers)Apply NowStaff only
Gender (collected for event invitations)Apply NowStaff only

Lifecycle & business data — system-owned, not a profile field

FieldCaptured todayWho sees it
Plan, plan active, auto-renew, expiry dateMemberfulMember (own status) + staff
Signup date, member IDMemberfulStaff only
Lead stage, contact typeChimpLink / MailchimpStaff only

Where it lives, going forward

One owner per row. Mailchimp is deliberately left off — it never owns anything; it only ever receives a copy from whichever column is checked.

DataMemberfulChimpLinkNew Members App
Subscription & billing
Current login email (once a member)
Applicant & qualification history
Sales pipeline (lead stage, contact type)
Full lifetime event history
Professional profile
Funding & investment status
Member preferences & privacy toggles

Everything else in this section's tables above is either historical detail behind these rows, or one of the still-open judgment calls below.

Needs cleaning up

"Stage" and "Funding Status" are two fields for one concept, and they disagree with each other by design. Funding Status (in the member profile) is free text — anyone can type anything into it. Stage (Mailchimp-only) is a constrained dropdown — Pre-seed, Seed, Series A, Series B+, Public — and it's the exact field that broke in The Problem's bulk-edit error.

Recommendation: when the new Members App's schema is built, keep only the constrained version — a dropdown, not free text — and retire the duplicate. A dropdown is what prevents the "Pre-Seed" vs. "Pre-seed" class of bug from happening again; free text is what allowed it in the first place.

06  ·  Open Questions

What's still unresolved

None of the below block starting. They're decisions to make as the work progresses, not reasons to wait.