gtmjosh
CRM Data Definitions
Chapters
  1. 01 · One Business, Four Kinds of Records
  2. 02 · Define Leads and Contacts
  3. 03 · Build the Person Lifecycle
  4. 04 · Build the Account Lifecycle
  5. 05 · Define Opportunity Stages
  6. 06 · Assign Owners and Handoffs
  7. 07 · Define Important Fields and Sources
  8. 08 · Resolve Conflicts and Open Questions
  9. 09 · Capstone: Publish the Business Truth Map
Guide overview →

15 min · Interactive exercise

Chapter 3 of 90 complete

Build the Person Lifecycle

Define relationship stages while keeping consent, fit, employment, work, and ownership separate.

Priya asked for a walkthrough. One workflow changes her status to Sales-ready. Another sees she opted out of marketing email and changes it to Disqualified. A rep later marks the status Working. Nobody can now tell what Priya's relationship with GTM Lab actually is. This chapter gives the person lifecycle exactly one job: describe the current commercial relationship. Everything else gets its own field.

A stage is a contract, not a label

GTM Lab's person lifecycle uses four stages: Known person, Engaged, Sales-ready, and Recycled. A stage contract states what the stage means, what evidence permits entry, who's accountable, which exits are valid, and which date a report should use.

A single record can hold many true facts at once without conflict: Priya can be Engaged, opted out of marketing email, employed at Acme, a fit for the motion, and waiting on a Sales acceptance, all at once, with none of those facts forcing the others to change. The dates in the stage table are deliberate event dates, not Last modified, because an import or owner change can touch a record without touching the relationship you're actually measuring.

Priya moves forward without losing the rest of the record

The walkthrough request moves Priya from Known person to Engaged and records engaged_at. She can't enter Sales-ready until Sales accepts after confirming an active project, fit, and the Acme relationship, which is the handoff Chapter 6 builds. A separate resettable test proves recycling works: end a motion with a documented reason, move to Recycled, apply new evidence, and the record returns to Engaged keeping its first engaged_at and appending new history.

Carry this into your business

Start with the states that already change a report, handoff, or automation today. Keep consent, employment, fit, work, ownership, Account relationship, and deal progress in their own lanes, so a valid update in one of them can never quietly erase a fact that belongs to another.

GTM Lab

Saved locally
Business Truth Map · 0 of 9 sections started

Saved locally to your browser.

Build the four stage contracts

Confirm each stage contract: entry evidence, owner, milestone, and valid exits.

Someone becomes a Known person the moment they are identifiable and matched to Acme. Confirm that contract.

Confirm the Known person contract

Entry: identifiable and matchable to Acme. Owner: Marketing Operations. Milestone: known_person_at.

Priya asking for a walkthrough is what moves her to Engaged. Confirm that contract.

Confirm the Engaged contract

Entry: walkthrough request. Owner: Marketing. Milestone: engaged_at.

Sales-ready requires Sales itself to accept, after confirming a real use case and fit. Confirm that contract.

Confirm the Sales-ready contract

Entry: Sales acceptance after confirming an active use case and fit. Owner: Sales. Milestone: sales_ready_at.

When the motion ends with no deal, the record moves to Recycled with a reason on file. Confirm that contract.

Confirm the Recycled contract

Entry: motion ends with a recorded reason. Owner: agreed returning team. Milestone: recycled_at.

Push on the edges

Record Priya's opt-out, then attempt to move her to Sales-ready without an acceptance on file.

Fixture: pending-handoff

Priya Shah · Marketing to Sales handoff

FIXTURE-PENDING-HANDOFF
Person lifecycle
Engaged
Work status
Awaiting acceptance
Account lifecycle
Target
Current owner
Marketing
Opportunity
None yet
Resets every run.
What does Priya's opt-out change?

Run the recycle-then-re-engage test

Run the disposable person-reengagement fixture: Engaged → Recycled → Engaged.

Fixture: person-reengagement

Disposable person-lifecycle trace

FIXTURE-REENGAGEMENT
Starting stage
Engaged
first engaged_at
2026-03-02T14:00:00Z
Test transition
Engaged → Recycled → Engaged
Expectation
first engaged_at preserved; history appended
Resets every run.

Run the fixture

Chapter 3 of 90 complete