# Email Campaign Plan

Lifecycle email strategy for Solid's rolling-access model. Derives from `brand.md`. All copy must pass the filter test before sending. The canonical state machine, trigger map, and subject-line source of truth live in `Marketing/email-states.html`.

---

## Guiding Principles

### Tone

Every email sounds like a person who respects the recipient's time. Calm, direct, useful. The voice from `brand.md` applies in full: lead with outcome, use plain English, respect skepticism.

### Voice

Founder voice throughout. User-facing emails should read like a note from one person who knows the product well. Prefer first-person singular when speaking directly to the reader. Keep the sign-off consistent as `-- Solid`.

### Frequency

Err on the side of fewer emails. Restraint is a brand signal. A well-timed email every 2-3 weeks beats a noisy drip sequence. Every email should earn its send. If there's nothing real to share, don't send.

### Language

- Use "build" as the primary verb
- No "waitlist" in user-facing copy (per `onboarding.md`). Use capacity framing: "workspace," "ready," "when"
- No fake urgency, no countdown timers, no "spots are filling up"
- No marketing-speak: no "exciting update," no "we're thrilled," no em dashes
- No gamification: no streaks, no badges, no "power user" labels

### From Address

Use a real, monitored address (e.g., `hey@solid.so`). Not `no-reply@`. Every "reply to this email" must be true. Route replies to a monitored inbox.

### Tooling

The state machine needs behavioral triggers (dashboard return, subscription started, first build completed, renewal approaching, usage dropped), not just time delays. Customer.io, Loops, or ConvertKit with automations can handle this. Mailchimp works for the waitlist phase but gets clunky for behavior-based sequences. Choose a tool that can ingest product events.

---

## State Model

Every person in the system is in one of these states at any time. Transitions are behavioral, not calendar-based. This system runs indefinitely, not just pre-launch.

```
WAITLIST ──→ ADMITTED ──→ ACTIVATED ──→ ENGAGED ──→ POWER USER
   │              │            │             │
   │              │            │             └──→ AT-RISK ──→ CHURNED ──→ WIN-BACK
   │              │            │
   │              │            └──→ STALLED
   │              │
   │              └──→ GHOST
   │
   └──→ WAITLIST COLD
```

See `Marketing/email-states.html` for the canonical state machine and email-to-state mapping.

| State | Description | Email Count |
|---|---|---|
| Waitlist | Signed up, pending activation | 4 core + ongoing updates |
| Waitlist Cold | 30+ days pending, stopped opening emails | 1 |
| Admitted | Workspace activated, subscription pending | 3 |
| Ghost | Admitted, no return visit | 2 |
| Activated | Subscribed, completed first build | 3 |
| Stalled | Built once, went silent | 3 |
| Engaged | Regular active usage | ongoing + monthly summary |
| Power User | Sustained high usage (sub-segment of Engaged) | engaged + expansion |
| At-Risk | Usage declining | 2 |
| Churned | Cancelled subscription | 4 |
| Win-Back | Final re-engagement, then permanent suppress | C3-C4 tail |

---

## Waitlist Sequence

Goal: Keep them warm, reinforce the category framing, make them feel the wait is worth it, collect signal on who to admit next.

### W1: Setup Confirmation

**Trigger:** Immediately after workspace setup
**Subject:** "You're set up"

> Hey [first name],
>
> Your Solid workspace is being set up. I'll email you at this address when it's ready.
>
> In the meantime, your dashboard is live. You can pre-select a plan and add a payment method so you're ready to go the moment your workspace opens.
>
> [Open your dashboard &rarr;]
>
> -- Solid

Brief, functional. Drives back to the dashboard where pre-selections increase intent signal.

### W2: Category Problem

**Trigger:** Day 3-5 after signup
**Subject:** "The part nobody shows you"

> Hey [first name],
>
> AI tools today have two problems. The walled gardens generate something impressive in 30 seconds, but the code underneath is unmaintainable. The fragmented stacks spread your work across disconnected tools and leave you doing the glue work. Either way, the "80% done" prototype needs a full rebuild.
>
> Solid is built for the outcome, not just the step. Production AI. Working software you can keep.
>
> I'll be in touch when your workspace is ready.
>
> -- Solid

This is the "why this category exists" email. Teaches the two failures that define the current market. No product pitch. Filters for beachhead users. Link to a blog post if published.

### W3: Proof of Life

**Trigger:** Day 10-14 after signup
**Subject:** "What we've been building"

> Hey [first name],
>
> While your workspace is being prepared, here's what Production AI looks like in practice:
>
> [Real demo clip or screenshots with brief context]
>
> I'm opening access to more builders every week.
>
> -- Solid

Short. One visual, one paragraph of context. Shows momentum, gives them something concrete.

### W4: Social Proof

**Trigger:** Day 21-28 after signup
**Subject:** "What early builders are saying"

> Hey [first name],
>
> [Quote or short case study from an admitted user]
>
> Know someone building production apps? Send them my way. I'll prioritize referred builders.
>
> -- Solid

If no real user stories yet, show a real build example with screenshots. Soft referral nudge: "referred builders get prioritized."

### Ongoing Waitlist Updates

**Trigger:** Every 2-3 weeks after W4, while still pending
**Subject:** Varies with content

Short, real product updates. One piece of genuine news, one visual. Every email should contain something concrete. If nothing real to share, don't send. People respect a company that only emails when it matters.

### Waitlist Cold (WC1)

**Trigger:** 30+ days pending, stopped opening emails
**Subject:** "Still interested in Solid?"

> Hey [first name],
>
> I'm getting closer to opening your workspace. If you're still interested, no action needed. If not, no worries. [Click here to stop these emails.]
>
> -- Solid

One shot. If no open or click, suppress from active sends. Don't delete them. They can be reactivated with a major broadcast.

---

## Admitted Sequence

The most critical emails in the system. Workspace is activated. In Solid, they still need to subscribe (choose plan, add payment, verify phone) before entering. Get them through that gate and to their first build as fast as possible.

### A1: You're In

**Trigger:** Immediate on workspace activation
**Subject:** "Your Solid workspace is ready"

Already defined in `product-spec/onboarding.md`. Two variants: normal and discount. This email should feel personal, like it came from a person, not a system. Plain text style. First name. Short. One clear CTA: open the dashboard, finish subscription, and start.

### A2: Quick Win Nudge

**Trigger:** Day 1-2 after admission, only if they haven't started a build
**Subject:** "A good first build to try"

> Hey [first name],
>
> Try building [specific achievable project]. When you're done, try changing the [specific element]. That's where you'll see why this is different.
>
> [Open Solid &rarr;]
>
> -- Solid

Suggest one specific, achievable first project (15-20 minutes). The goal is to give them a reason to finish subscription and get to the "revision moment" where quality becomes visible. Skip this entirely if they've already started building.

### A3: The Revision Prompt

**Trigger:** Day 3-4 after admission, conditional on whether they've built something

**If they've built something:**

Subject: "Now try changing it"

> Hey [first name],
>
> You've built something. Here's the real test: go back and change something significant. Restructure the layout. Swap an integration. See what happens.
>
> [Open your workspace &rarr;]
>
> -- Solid

Strategically the most important email. Triggers the experience that proves the quality claim.

**If they haven't built anything:**

Subject: "Need help getting started?"

> Hey [first name],
>
> Your workspace has been ready for a few days. If you ran into anything or need help getting started, reply to this email or drop into chat. I'm here.
>
> [Open Solid &rarr;]
>
> -- Solid

### Ghost Sequence

For users admitted whose workspace is ready but who never came back to choose a plan or complete subscription. Usually timing, not disinterest.

**G1** (48h, no return visit): "Your Solid workspace is ready when you are." Quick reminder with dashboard link. Acknowledge busy timing and point back to the subscription step.

**G2** (7 days, no return visit): "Still planning to use Solid?" Last nudge. Offer to keep the workspace ready or close the loop. Invite a reply. After this, suppress to monthly product updates only. Don't revoke access unless capacity requires it.

---

## Activated Sequence

Has subscribed, entered workspace, completed first build. Goal: deepen usage, build habit, turn them into advocates.

### ACT1: Deeper Features

**Trigger:** Day 5-7 after first build
**Subject:** "Three things most people don't try"

Surface 2-3 features they probably haven't discovered. One feature per short paragraph. Practical, not promotional. Screenshots help.

### ACT2: Feedback Ask

**Trigger:** Day 10-14 after first build
**Subject:** "Quick question about your experience"

> Hey [first name],
>
> What surprised you most about building with Solid -- good or bad?
>
> -- Solid

Not a survey. Plain text email that invites a reply. Replies yield two things: testimonial material (with permission) and product feedback. People who reply are far more engaged.

### ACT3: Community Proof

**Trigger:** Day 18-21 after first build
**Subject:** "What [Name] built this week"

Showcase another user's build. What they made, what challenge they hit, how Solid handled it. Normalizes continued usage and gives ideas for their next project.

### Stalled Sequence

Built once, went silent. Find out what happened or let go gracefully.

**S1** (7-10 days after last activity): "How's it going with Solid?" Casual, not desperate. Check if they ran into something.

**S2** (14-21 days): "Something new since you last built." One specific improvement or compelling build. Concrete reason to return.

**S3** (30 days): "Still planning to build with Solid?" Graceful exit. This approach often reactivates silent users or surfaces churn reasons. After this, suppress to product updates only.

---

## Engaged Emails

Regular active users. The product is the engagement loop. Email supports, not replaces it. Reduce frequency.

**Product updates** (every 2-3 weeks): New features, improvements. Same updates that go to the waitlist, but with more depth because these users can try features immediately. Include a CTA to try the feature.

**Community spotlight** (alternating with updates): Interesting builds, user stories, clever use cases. Inspiration, not education.

**R1: Referral nudge** (once, around week 4-6 of active use): "Know someone who should be building on Solid?" If they refer someone strong, prioritize that person for activation. Personal intro or referral link. One email, one ask. Not a campaign.

**E1: Expansion email** (usage-triggered): When a user hits a usage threshold suggesting they'd benefit from a higher tier. Contextual, framed as "more room" and AI savings. Not a generic upgrade pitch.

### Plan Fit Check

**Trigger:** End of month 2, if usage pattern warrants

Under-using (<25% of budget): Suggest a smaller plan. "Same workspace, same work." This is a trust play.

Over-using (near ceiling): Suggest a larger plan. Frame as "more room" + AI savings, not "spend more."

### Monthly Summary

**Trigger:** Each billing cycle reset
**Subject:** "Your month with Solid"

> Hey [first name],
>
> Last month you used $[X] of your $[Y] [plan name] budget across [N] conversations.
>
> Your usage resets today. $[Y] available this month.
>
> [Open your workspace &rarr;]
>
> -- Solid

Data, not narrative. No gamification. If last month's usage was $0, suppress this email and trigger an at-risk check instead.

---

## At-Risk Sequence

Usage declining. Don't say "we miss you." Surface problems or get out of the way.

### AR1: Check-in

**Trigger:** Usage drops significantly (2+ weeks inactive)
**Subject:** "Anything I can help with?"

> Hey [first name],
>
> I noticed you haven't been building lately. Totally fine, just checking in. If you ran into a wall or something wasn't working, I'd love to help. Hit reply or drop into chat.
>
> [Open your workspace &rarr;]
>
> -- Solid

Short, human, no guilt.

### AR2: Before Renewal

**Trigger:** 3 days before billing cycle renews, if no usage in 21+ days
**Subject:** "Your plan renews on [date]"

> Hey [first name],
>
> Your [plan name] plan ($[X]/mo) renews on [date]. Since you haven't used Solid recently, I wanted to flag it. You can cancel or change your plan anytime from the subscription page.
>
> If you want to keep your plan, no action needed.
>
> [Manage your plan &rarr;]
>
> -- Solid

The highest-trust email in the system. Proactively reminding someone they're about to be charged when they haven't used the product. Prevents "I forgot I was subscribed" churn that permanently damages brand perception.

---

## Churned Sequence

Cancelled subscription. Listen first, then share improvements, then make one offer, then stop.

### C1: Check-in

**Trigger:** Day 3 after cancellation
**Subject:** "Was there something we could have done differently?"

> Hey [first name],
>
> Your [plan name] subscription has been cancelled. You'll have access through [end of billing period].
>
> Your workspace and everything you've built stays intact. If you resubscribe later, it's all still there.
>
> If you have a minute, I'd appreciate knowing what led to the decision. Reply to this email or don't.
>
> -- Solid

Neutral. No pitch. No discount offer. No "are you sure?" Just listen.

### C2: Product Update

**Trigger:** Day 14 after cancellation, only if something relevant shipped
**Subject:** "What's changed since you left"

> Hey [first name],
>
> A few things have changed since you left:
>
> [1-3 bullet points of genuine improvements]
>
> Your workspace is still there if you want to pick up where you left off.
>
> [Resubscribe &rarr;]
>
> -- Solid

Only send if genuinely relevant changes shipped. If nothing meaningful happened, skip this email.

### C3: Re-engagement Offer (optional)

**Trigger:** Day 30 after cancellation
**Subject:** Varies

Only direct conversion ask in the sequence. Extended access, discount, or incentive. Brief. If the brand position on no-discount cancellation (from `monetization.md`) applies, skip this email entirely and go straight to C4.

### C4: Final Note

**Trigger:** Day 60 after cancellation
**Subject:** "Last note from Solid"

> Hey [first name],
>
> This is the last email you'll get from us unless you come back. Your workspace and work are still saved.
>
> If Solid is ever the right fit again, you know where to find us.
>
> [Open Solid &rarr;]
>
> -- Solid

Explicitly stating "last email." After this, permanently suppress from all marketing emails. They only hear from Solid if they resubscribe, if legally required, or via a major broadcast exception.

---

## Broadcast Emails

One-time sends to the full list, not part of any sequence. Every broadcast must have a segment-aware CTA.

| Broadcast | Audience | Notes |
|---|---|---|
| Launch day | Full waitlist + admitted | Different CTA per segment |
| Major milestones | All segments | 2-4 times per year max |
| Product Hunt / press | All segments | When there's a specific event to amplify |

Rule: Don't send the same generic email to someone on the waitlist for 2 months and someone who uses Solid daily. Even if the news is the same, the action you want from each is different.

---

## Transactional Emails

Functional emails triggered by account or billing events. Not marketing. Even more minimal.

| Email | Trigger | Content |
|---|---|---|
| Payment receipt | Each billing cycle | Plan name, amount, period, link to subscription page |
| Payment failed | Charge fails | What happened, link to update payment, grace period |
| Plan changed | Upgrade or downgrade | New plan name, new budget, effective date |
| Top-up confirmation | Top-up purchased | Amount added, current balance, link to workspace |

Transactional emails: plain, functional, no marketing content, from the same sender address, reply-able, not unsubscribable. They sit outside the weekly cap and outside the lifecycle state machine.

---

## Suppression Rules

| Rule | Details |
|---|---|
| Global cap | No more than 1 marketing email per week to any user, except account-setup and activation/onboarding emails (`W1`, `A1-A3`, `G1-G2`) |
| Waitlist cold | After WC1 with no engagement, suppress to broadcasts-only |
| Ghost | After G2, suppress to monthly product updates only |
| Stalled | After S3, suppress to product updates only |
| Churned (60+ days) | After C4, permanently suppress from all marketing |
| $0 usage month | Suppress monthly summary, trigger AR1 instead |
| Unsubscribe | One-click on all marketing emails. Does not affect transactional |

---

## Email Design

- Near-plain-text HTML. Single column, no images, no heavy formatting
- Consistent with the product's visual identity: clean, no gradients
- Mobile-readable without media queries
- Every email ends with "-- Solid" as the sign-off
- No social media icons, no footer links beyond unsubscribe

---

## Build Priority

| Phase | Timing | Emails |
|---|---|---|
| 1 | Before launch | W1, W2, A1, A2, launch broadcast |
| 2 | Weeks 3-4 | A3, W3, W4 |
| 3 | First 30 days post-launch | ACT1-3, S1-3, G1-2, ongoing waitlist template |
| 4 | 60-90 days | AR1-2, C1-C4, E1, R1, WC1 |

---

## Metrics

| Metric | Target | Signal |
|---|---|---|
| Open rate (waitlist sequence) | 50%+ | Subject lines, sender recognition |
| Click rate (A1 activation email) | 40%+ | Activation urgency and clarity |
| Admission to first build | 70%+ within 7 days | Subscription flow friction |
| ACT2 reply rate | Track, don't target | Engagement depth, trust signal |
| Monthly summary open rate | 35%+ | Account email relevance |
| Unsubscribe rate | <0.5% per send | Over-sending signal |
| C2 win-back conversion | 5-10% | Product improvement resonance |

---

## Open Questions

- Should the A2 "quick win" email suggest a specific project, or let the user decide? Specific is more actionable but may not match their use case
- Should pending users who pre-selected plan + payment get activated faster? The data says they convert, but prioritizing them could create a pay-to-skip perception
- Should the AR2 before-renewal email include a "pause" option? Pausing preserves the relationship better than cancel
- Is 60 days the right threshold for permanent churn suppression, or should it be longer?
- Should C3 (re-engagement offer) exist at all, given Solid's no-discount cancellation stance in `monetization.md`?
