← All projects

Case study · Theodore Roosevelt Presidential Library · 2026

Six Systems, One Visitor: An Automated Lifecycle for a New Institution

A donor who buys a ticket and eats lunch is three different contacts in three different databases. Opening weekend was going to generate tens of thousands of them. This is the design that turns six partial views of a person into one profile — and then decides, without a human in the loop, which of five journeys they belong in.

RoleChief Communications & Marketing Officer
OrganizationTheodore Roosevelt Presidential Library
Year2026
StackConstant Contact · ACME · Shopify · Clover · DonorPerfect · wealth screening
Scope41 emails · 5 journeys · 9-level hierarchy
Detail of an artifact from the Theodore Roosevelt Presidential Library collection

The brief

Six systems each held a partial view of the same human being: web forms, ACME ticketing, ACME membership, Shopify, Clover point-of-sale, and DonorPerfect. None of them agreed on who anyone was.

That is survivable at a thousand contacts. At opening scale it produces the failure every institution recognizes: a $10,000 donor receiving a first-time-visitor welcome email, a member being asked to become a member, a family getting four versions of the same message because they exist four times.

41Emails drafted
5Lifecycle journeys
9Priority levels
6Source systems unified

One profile, permanent signals

Matching runs on email first, then source-system contact ID, with a manual review queue for anything ambiguous. The rule that makes it durable: source is a permanent tag that is never overwritten. Signals stack rather than replace. Someone who arrives as a shop customer and later becomes a member is both, forever, and both facts stay available to segmentation.

The named data-quality metric is match success rate — because a lifecycle program silently degrades when matching degrades, and nobody notices until the wrong person gets the wrong ask.

The priority hierarchy

The core design decision is what happens when a person qualifies for several journeys at once, which is most people. Nine levels, evaluated in order. The counterintuitive one is near the top:

Cumulative giving outranks membership
At $1,000 and above, a donor who is also a member gets the donor journey, not the member journey. The higher-value relationship wins, even when the lower-value one is more recent. Most systems get this backwards because membership status is the easier field to read.
Tier 5 is suppressed entirely
Donors at $50,000+ receive no automated mail at all. At that level the relationship belongs to a major gifts officer, and an automated touch is worse than silence.
Recency breaks ties below the giving threshold
Under $1,000, the most recent meaningful action wins — a visit outranks a year-old shop order.

Five journeys

The lead-time gate

The detail I’m proudest of is that the pre-visit sequence compresses to fit the buyer instead of firing on a fixed calendar. Book five or more days out and you get the full five-touch cadence. Book two to four days out and it skips the T-5 email. Book same-day or next-day and T+0 merges with the T-24h content, leaning on a morning-of SMS instead.

A visitor who books tomorrow should not receive an email telling them what to pack next week. That sounds obvious and almost no automated program does it, because sequences are usually written as fixed timelines rather than as a function of how much runway you have.

Two membership asks, deliberately different

The post-visit sequence makes the membership case twice, in two registers. T+5 is tactical — apply the price of today’s ticket toward a membership. T+30 is narrative — come for the man, leave with a mission. Those land with different people, and sending only one of them means losing whichever half doesn’t respond to that frame.

Wealth screening that never blocks a send

Capacity screening runs as a nightly asynchronous batch, by design. Today’s email uses today’s capacity tags; tomorrow’s uses updated ones. Nothing waits on a third-party lookup, because a screening API having a slow night should never delay a visit-prep email.

It produces two flags for human review — member_prospect and upgrade_candidate — which go to a major gifts officer rather than triggering an automated ask. The argument for doing it at all:

Without ongoing screening, a high-capacity member sits in standard automation giving $150 a year when they could be giving thousands.

Guardrails

The rules that stop the program from doing damage, enforced platform-wide rather than per-sequence — which matters, because per-sequence limits are exactly how people end up receiving four emails from four journeys that each individually behaved:

That third one is the rule I’d put on a wall: the rule that prevents $100 asks from preventing $10,000 gifts. An automated ask that anchors low is not neutral — it actively costs money, and it does so invisibly.

250 miles

Member content splits on a distance band, on the premise that a substantial share of members will rarely or never visit. Inside 250 miles, membership is framed around return visits and events. Outside it, the digital benefits lead — because selling “free admission all year” to someone in Atlanta is selling something they cannot use, and they will notice.

Configuration, not engineering

All of it runs in Constant Contact rather than a custom build. The work is configuration, not engineering — which is the only responsible choice for an institution whose communications team is two people. A bespoke marketing-automation platform would have been more elegant and would have become unmaintainable the moment I left.

What I’d carry forward

Why it mattered

An institution’s email program is the only conversation it has with almost everyone who will ever care about it.

Most of the 150,000–200,000 people expected annually will visit once. What happens in the six weeks around that visit determines whether they become a member, a donor, an advocate, or a person who went to a museum once. That is worth designing properly, and it is worth designing before the doors open rather than after the first season’s data disappoints.

Related: the launch campaign that fills the funnel · the wearable that triggers the recap email · the opening that generated the volume