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.