Files
datatools-dev/marketing/emails/README.md
Michael e1f364f010 feat: Tier B operator scaffolding — bundle, copy SoT, posts, emails
Pick up and finish yesterday's cut-off Tier B pass.

- build/: PyInstaller scaffold (datatools.spec + launcher.py +
  hook-streamlit.py + README) — folder-mode bundle, locked
  127.0.0.1, per-OS recipe
- marketing/COPY.md: single source of truth for every customer-facing
  string — landing H1/sub/CTAs, demo CTAs, email subjects, Gumroad
  listing, banned phrases
- marketing/community-posts/: 9 drafts (3 posts × 3 niches:
  bookkeeper, revops, shopify-pet) — story / tip / soft-offer
- marketing/emails/: 18 drafts (Gumroad delivery + 5-touch
  onboarding × 3 niches), per-niche segmentation guidance
- docs/NEXT-STEPS.md: flip 2.2 / 2.4 / 3.1 / 3.4 to done with
  pointers to the new assets; add Phase 0 inventory rows
- .gitignore: narrow `build/` ignore so PyInstaller spec + launcher
  + hooks get tracked, only generated artifacts (build/build/,
  build/__pycache__/, build/dist/) stay ignored

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 14:04:37 +00:00

61 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Email sequences
Per niche (`bookkeeper/`, `revops/`, `shopify-pet/`):
- **`00-delivery.md`** — Day 0 Gumroad delivery email. Triggered when
Gumroad confirms the purchase. Job #1: get the buyer to download
and open the app inside the first 24h. Buyers who don't open within
72h refund at ~3× the rate of buyers who do.
- **`01-day1.md`** — Day 1 nudge with a sample file matched to the
niche. The Day-1 email is the highest-leverage one in the
sequence; it converts "I bought it" into "I used it".
- **`02-day3.md`** — Day 3 deep-dive on one specific feature the
niche cares about most.
- **`03-day7.md`** — Day 7 workflow framing. "Use it every {month /
campaign / sync}, not as a one-off."
- **`04-day14.md`** — Day 14 power-user tip. Surfaces a non-obvious
feature; converts "I use it" into "I rely on it".
- **`05-day30.md`** — Day 30 referral / review ask.
## Sender setup
- **From:** `support@datatools.app` (single-sender to keep replies in
one inbox; don't fan out to per-niche aliases until volume warrants)
- **Reply-To:** same — every email expects a reply pathway
- **List provider:** Gumroad's built-in for delivery; Buttondown or
ConvertKit for the 5-touch sequence (Gumroad's drip is too crude
for niche segmentation)
- **Segmentation:** customers self-tag at checkout (Gumroad custom
field "What do you do?"). Map: `bookkeeper`, `revops`,
`shopify-pet`, `other`. `other` gets a generic sequence (not
drafted yet — Tier C).
## Variables
All emails use these placeholders. Set them at sequence-import time,
not per-email:
- `{{first_name}}` — Gumroad provides; fall back to "there" if blank
- `{{download_url}}` — niche-specific download URL from Gumroad
- `{{sample_file_url}}` — niche-specific sample CSV (`samples/demo/...`)
- `{{landing_page}}` — niche-specific landing page URL
- `{{support_email}}``support@datatools.app`
## Cadence and quiet rules
- Don't send between 10pm-7am buyer-local-time (Buttondown supports
TZ-aware send; ConvertKit doesn't out of the box)
- If the buyer replies to *any* email in the sequence, pause the
remaining touches until you've replied to them. A drip that
ignores a customer reply reads as worse than no drip.
- If the buyer requests a refund, kill the sequence immediately.
- Day 14 + Day 30 emails are skippable if the buyer has already
emailed support with a feature request or bug report — they're
engaged enough; don't pile on.
## Subject lines
Subjects are owned by `marketing/COPY.md` § 4. Don't edit subjects
in-line in the email files; edit COPY.md and re-propagate. Same
discipline applies to the closing CTA — owned by COPY.md § 0.