Grounded in the 103 segments exported 2026-06-10 (28 active / 75 static).
Goal: every segment sortable by category → subject → year at a glance, with no duplicates or junk.
Principle (same as campaigns): folders carry the category; the name carries subject + purpose + year. Don't cram everything into the name.
What's wrong today (from the real export)
| Problem | Evidence |
|---|---|
| Auto-generated junk names | [Email] - Fri Nov 28 2025 12:11:33 GMT-0600, [Workflows] - Wed Mar 04 2026 20:42:30…, Fri Mar 06 2026 Hard Bounced, system defaults nobody renamed |
| Import leftovers (file extensions in names) | 2020 TLG Attendees.csv, Milwaukee Cohort 2025 .xlsx, MNToP Database SIMPLE.xlsx, CoP Registration 2025_11_25.csv |
| Heavy duplication | ~11 CoP segments, 5+ Hard Bounce, 4 MToP Recruitment variants (MToP 2026 Recruitment vs Updated MToP 2026 Recruitment…) |
| Casing chaos | BOOK BETA READERS & CONTRIBUTORS, FREE SEAT FOR TSP IN BOSTON vs reaching out to people silent since jan 2024 |
| Typos baked into names | MToP Alimni (Alumni), Area Targeting - Wisonsin (Wisconsin) |
| Mixed delimiters | dashes, underscores, em-dashes (–), spaces, all in use |
| Mostly un-foldered | only 21 of 103 sit in a folder |
| Possible duplicate internal list | Hue Life Team - Internal already exists (active, 11 records), confirm your new Internal, HueLife Team isn't a second copy |
Step 0: The strategic layer (read first, it shapes everything below)
HueLife sells through two distinct revenue streams, and repeat business is a priority. The whole segmentation model is built on those two facts.
Two streams (every audience belongs to one)
| Stream | Code | Who | Sold as | Tracked in HubSpot as |
|---|---|---|---|---|
| Individuals / Class Attendees | IND | People enrolling in public courses/cohorts (MToP, TFM, CoP…) | Individual seats | Contacts (+ course registration / small deals) |
| Institutions / Enterprise Training | INST | Orgs commissioning custom training, state Depts of Health, county/government (AMC, ICMA, MCMA are already this) | Contracts | Companies + Deals (contacts associated) |
Customer stage (the retention lever: emphasize Repeat)
Track every customer's stage in both streams, as a property, not just a list:
Prospect → First-time Customer → Repeat Customer → Lapsed
- Add a custom property
Customer stage(and/orTimes purchased) so "repeat" is filterable everywhere, reports, emails, dashboards. - Build a headline segment per stream,
Repeat Customers(in folder3 · IND, Repeat & Alumni) andRepeat & Renewal Accounts(in folder5 · INST, Active & Repeat Clients). Retention campaigns target these.
Stream lives in the folder, not the name. Because folders 1–3 are
INDand 4–5 areINST, you don't prefix names with the stream, the folder already says it. Names staySubject – Descriptor – YYYY.
️ Data-model gap to close alongside this
The institutional stream is currently untracked: companies have 0 custom properties and there are only 3 deals in the whole portfolio. Segments of contacts can't measure repeat institutional revenue, Deals do. Before this naming work fully pays off, stand up:
- Company records for each institution (+ a
Client typeproperty: Government / Health Dept / Nonprofit / Corporate), - a Deal pipeline for institutional contracts with a renewal stage,
- associate course attendees back to their institution where one exists (a Dept-of-Health attendee is both an
INDseat and a signal for anINSTaccount).
Step 1: Use FOLDERS for the category (now stream-aware)
Lead the folder structure with the two streams, then operational (stream-agnostic) folders. Number them so they sort sensibly:
| Folder | Holds |
|---|---|
1 · IND, Prospects & Interest | Individual recruitment, interest forms, waitlists, leads |
2 · IND, Cohorts & Attendees | Enrolled/active individual cohorts (MToP, TFM, HIJ, HCS, HSF, AES, CoP, HUE, ToP) |
3 · IND, Repeat & Alumni | Past attendees, alumni, repeat customers (retention targets) |
4 · INST, Prospects | Institutional leads/targets (govt, health depts, county orgs) |
5 · INST, Active & Repeat Clients | Current institutional accounts + renewals/repeat contracts |
6 · Events & Conferences | Conference/RSVP lists (often where INST leads are sourced, AMC, ICMA, MCMA, YouLEAD, Lumina) |
7 · Geo Targeting | Location-based audiences (MO, TX, WI, Dallas, Boston…) |
8 · Email Engagement | State lists, newsletter subs, opened/unopened, engaged/unengaged |
9 · Suppression & Internal | Do-not-contact: unsubscribed, hard-bounce-final, no-longer-employed, internal team (Hue Life Team - Internal) |
99 · _Imports to Process | Raw .csv/.xlsx static uploads awaiting merge → then delete |
Step 2: The naming convention (within a folder)
Subject – Descriptor – YYYY
| Field | Required | Notes | Example |
|---|---|---|---|
Subject | yes | Program / event / region code (controlled list below) | MToP |
Descriptor | yes | The role/state, Title-Case from the vocabulary below | Recruitment |
YYYY | when time-bound | Cohort/event year; use Evergreen for always-on | 2026 |
Rules: Title Case · one delimiter only, – (space-hyphen-space) · no file extensions · no auto-generated timestamps · fix typos on rename.
Subject codes (your actual programs/events)
MToP · TFM · TSP · TSoI · ToP · HIJ · HCS · HSF · AES · CoP · HUE Strategy · YouLEAD · TLR · TLG · Book, plus event codes AMC · ICMA · MCMA · Lumina, and region names for Geo.
Descriptor vocabulary (keep it small)
Alumni · Current Cohort · Waitlist · Recruitment · Interest · Target Audience · Attendees · RSVP · Follow-Up · Registrants · Newsletter · Engaged · Unengaged · Opened · Unopened · Hard Bounce · Unsubscribed · Internal · Do Not Market
Step 3: Rename map (representative)
| Current | → New | Folder |
|---|---|---|
MToP Alimni | MToP – Alumni | 1 · Programs |
MToP - Current Cohort 2026 | MToP – Current Cohort – 2026 | 1 · Programs |
MToP 2026 Recruitment | MToP – Recruitment – 2026 | 2 · Recruitment |
MToP 2026 Target Audience Non-Marketing | MToP – Target Audience – 2026 | 2 · Recruitment |
CoP registrants 2026 | CoP – Registrants – 2026 | 3 · Events |
Leadership Retreat Interest | TLR – Interest – Evergreen | 2 · Recruitment |
Area Targeting - Wisonsin | Geo – Wisconsin | 4 · Geo |
March Newsletter Recipients (engaged) | Newsletter – Engaged – 2026-03 | 5 · Engagement |
Hard Bounces_For Review | Hard Bounce – Review | 6 · Suppression |
Do Not Market – Unsubscribed | Unsubscribed – Do Not Market | 6 · Suppression |
Hue Life Team - Internal | Internal – HueLife Team | 6 · Suppression |
BOOK BETA READERS & CONTRIBUTORS | Book – Beta Readers | 2 · Recruitment |
Step 4: Cleanup priorities (do this first, it's most of the value)
- Delete the junk auto-named segments, every
[Email] - <timestamp>and[Workflows] - <timestamp>(sizes 1–18, mostly unused). These were created by accident. - De-duplicate the big clusters, pick ONE canonical, merge/delete the rest:
- CoP (~11): keep
CoP – Registrants – 2025,CoP – Registrants – 2026,CoP – Attendees – 2024,CoP – Interest. Delete the.csvsnapshots and near-dupes. - Hard Bounce (5+): keep one dynamic
Hard Bounce(auto-updating); delete the dated review snapshots once actioned. - MToP Recruitment (4): keep
MToP – Recruitment – 2025and– 2026; deleteUpdated MToP 2026 Recruitment.
- CoP (~11): keep
- Resolve the internal-team duplicate,
Hue Life Team - Internalalready exists. Confirm whether your newInternal, HueLife Teamis a second copy; keep ONE (the dynamic one filtered onemail contains @hue.life) and delete the other. This is the list driving the non-marketing / reporting exclusion, you only want one source of truth. - Move all
.csv/.xlsximports into9 · _Imports to Process, merge their contacts into the right dynamic segment, then delete the static import. - Fix the two typos on rename (
Alimni,Wisonsin).
Step 5: Active vs Static rule
- Active (dynamic) for anything ongoing, cohorts, recruitment audiences, engagement/suppression states. It self-maintains. (Only 28 of 103 are dynamic today, that's backwards.)
- Static only for a deliberately frozen point-in-time snapshot (e.g. "who attended the Dec 2025 event"). HubSpot shows the type with an icon, so don't put "Active/Static" in the name.
Migration checklist
- Create the 7 folders (Step 1).
- Delete junk + dedupe the big clusters (Step 4), biggest cleanup win, do it before renaming.
- Resolve the internal-team duplicate.
- Rename survivors to
Subject – Descriptor – YYYYand file each into its folder. - Convert ongoing static lists to Active where it makes sense.
- Gate new segments: no segment is saved without a conforming name + folder.
Renaming/foldering a segment doesn't change its membership or break anything that references it, names and folders are organizational only.