# Mail-house hand-off instructions — Waiʻanae Coast cohort

Reference: **Report #1701391** (Pearl City → Makaha roster, 138 businesses).

This brief is what the printer or mail house needs alongside the roster CSV
(`/rosters/pearl-city-to-makaha-2026-08.csv`) and the one-pager PDF
(`/deploy/waianae-letter.pdf`). It is split into four sections — Letter print
specs, Envelope / preparation, Wave cadence, and Response tracking — so each
party (printer, mail house, owner) can read just the section they own.

The source files referenced here (`direct-mail/waianae-letter.pdf`,
`direct-mail/waianae-letter.md`, the `<<TOKEN>>` set) are the single source of
truth — any change to envelope, merge fields, or print specs should start in
those files, not in this brief.

---

## 1. Letter print specs

The print deliverable is **`direct-mail/waianae-letter.pdf`**, a single-page
US Letter (8.5 × 11 in) document already committed to this repository.

| Spec | Value |
|---|---|
| Page size | US Letter, 8.5 × 11 in |
| Page count | Exactly **1** page (no bleed / no overrun) |
| Print scale | **100%** (do **not** enable "Fit to page" — the macrons and ruled lines will shrink) |
| Margins | **Default** printer margins (the letter is laid out for stock defaults; do **not** set "None") |
| Color | Black ink on white stock; the QR at the bottom is a black-on-white vector inside the PDF — no spot color, no four-color process |
| Stock | 24–28 lb white letter paper; light-stock mailings must NOT use a heavier sheet than #10 envelopes can comfortably enclose |
| Orientation | Portrait, no rotation |

If the printer's driver applies "Fit to page" by default (most do on macOS),
explicitly request 100% / Actual size before sending. After print, verify in
Properties that page 1 reports 8.5 × 11 — a compressed letter signals Fit-to-page
hit on a driver knob.

---

## 2. Envelope / preparation notes

Before the mail house accepts the work, the owner must **fill in the
`<<STREET/ZIP>>` return-address block** for every letter. The repo only stores
the locality `Kapolei, HI 96707`; the full street + ZIP must be added before
mailing to satisfy USPS return-service standards. See `direct-mail/README.md`
for the broader placeholder list.

| Item | Setting |
|---|---|
| Envelope | **#10 business-reply** (4.125 × 9.5 in) **or** a matching single-window window envelope |
| Return-address placement | Upper-left corner of the envelope face |
| Recipient-block alignment | Recipient block in the lower 2/3 of the envelope (USPS recommends ≥ 12 pt margin from the bottom edge) |
| Window position (if used) | Position the printed address block on the letter so it shows through the window — the merge engine should print the recipient address on the 5th-line block of the letter, the line directly above `<<CITY>>, <<STATE>> <<ZIP>>` |
| QR artifact | The QR at the bottom of the letter encodes `https://pacificaisolutions.co/#contact` — the existing contact form on the landing page already fires the GA4 + Meta Pixel `Lead` events (per `CLAUDE.md` recent changes 2026-05-23), so QR-tap replies are auto-tagged with `sector` + UTM via `/api/leads` |
| CSV file format | Drop any BOM (byte-order mark); mail-house drivers choke on UTF-8 BOM and will mis-read the first header |
| Column header rename (if mail house prefers plain headers) | `<<FIRSTNAME>>, <<LASTNAME>>, <<BUSINESS>>, <<ADDRESS>>, <<CITY>>, <<STATE>>, <<ZIP>>` — but the `<<TOKEN>>` form is the source of truth and is preferred by `direct-mail/waianae-letter.md` |

Two pre-flight checks to run before the mail house accepts:

1. **`<<STREET/ZIP>>` is filled in** for every letter — the repo does NOT ship
   a real street address, only the locality line.
2. **BOM is absent** from the CSV (open in a hex editor if unsure; or open in
   Excel and re-save as CSV UTF-8 without BOM, which strips the marker).

---

## 3. Wave cadence — Wave 1 / Wave 2

This cohort is sent in a fixed 14-day cadence so the owner can stamp the
tracker sheet at predictable milestones. Cadence is keyed to a single calendar
day the owner dials in — call it `T+0`.

### Wave 1 — T+0 (initial drop)

- Send the 138-row roster merge to the Waiʻanae Coast cohort via the mail house.
- Expect ~7–10 business days USPS bulk lead time before delivery starts.
- Stamp **`Send Date`** on a copy of `scripts/outreach-cadence-2026-07.csv` —
  file is the same shape used by the West Oʻahu outreach batch and needs no
  edits. This becomes the Wave 1 tracker sheet for this cohort.
- Pre-fill the **`Day-7 Sent (date)`** column with the projected date 7
  calendar days out — just leave the date as a placeholder until the Day-7
  follow-up actually goes out.
- Tag every row in `Notes` with **`Report #1701391`** so each Wave 1 row is
  cross-referenceable to this brief.

### Day-7 follow-up — T+7

- Send a short postcard, USPS "every-door direct mail" piece, or short email
  nudge to anyone who has not replied or opened.
- Stamp the **`Day-7 Sent (date)`** column on the date each follow-up goes out
  (a date, not a checkbox — per `scripts/outreach-cadence-readme.md`).
- If a reply lands via the QR landing-page form (which fires GA4 + Meta
  Pixel), it shows up in the dashboard via `/api/leads` and is auto-tagged
  with `sector` + UTM — cross-reference by email address against the tracker.

### Wave 2 — T+14 (one-pager follow-up)

- 14 calendar days after Wave 1, print the **one-pager letter on its own**
  (this is the same `direct-mail/waianae-letter.pdf` from the Wave 1 merge —
  the mail house re-runs the merge using the un-replied rows).
- Send to anyone who has not replied or opened — the roster's `Reply Status`
  column drives the targeting.
- Stamp the **`Day-14 Sent (date)`** column on send day.
- Tag every Wave 2 row's `Notes` with **`Report #1701391`** if a fresh tracker
  is in use.

Cadence summary:

| Day | Touch | Stamp column |
|---|---|---|
| T+0 | Wave 1 — 138-row merge | `Send Date` (also: `Report #1701391` in `Notes`) |
| T+7 | Day-7 follow-up | `Day-7 Sent (date)` |
| T+14 | Wave 2 — one-pager follow-up | `Day-14 Sent (date)` |

Reply-targeted notes:
- `Reply Status (No Reply / Replied / Bounced / OOO)` → `Replied` / `Bounced`
  / `OOO` as replies come in.
- Add the reply date and a one-line context in `Notes`.
- Tag every reply with `Report #1701391` in `Notes` (one column, shared
  identifier — this is the human-tracking mechanism because the MakahaOS API
  send is asynchronous).

---

## 4. Response-tracking step — Reply logging against Report #1701391

Replies come back through three channels, in order of likelihood for this
cohort: (1) direct mail reply (rare but possible — reply envelope + QR), (2)
QR-online taps on the QR-coded landing page (most common), (3) the existing
contact form on the homepage when someone prefers email over QR.

Operationally, log replies in a single sheet:

1. **Open a copy of `scripts/outreach-cadence-2026-07.csv` as the tracker** —
   same 12-column shape, no edits needed. The columns are
   `First Name, Last Name, Company, Title, Email, Sector, Send Date, Day-3 Sent (date), Day-7 Sent (date), Day-14 Sent (date), Reply Status (No Reply / Replied / Bounced / OOO), Notes`.
2. **Write each row of the 138 into columns A–G** (First Name, Last Name,
   Company, Title, Email, Sector, ZIP-blocked Address — paste from the same
   Melly/CSV export the mail house used for the merge).
3. **For each reply,** set `Reply Status (No Reply / Replied / Bounced / OOO)`
   to the matching label and add the reply date plus a one-line context in
   `Notes`.
4. **Tag every reply with `Report #1701391` in `Notes`** so this batch is
   cross-referenceable to the brief — one column, one shared identifier.
5. **QR-tap replies** (those via `https://pacificaisolutions.co/#contact`)
   show up in the dashboard via `/api/leads` and are auto-tagged with `sector`
   + UTM — cross-reference the tracker by email address to confirm the reply
   arrived and to capture any UTM source attribution.

This brief is also the place to log any post-pilot retrospective: conversion
rate, average Days-to-Reply, sector-by-sector response distribution. None of
that data needs an app change — the owner logs it in `Notes` alongside
`Report #1701391`.

---

## Out of scope — what this brief does NOT do

- It does **not** cover letter copy editing; that lives in
  `direct-mail/waianae-letter.md` and `direct-mail/waianae-letter-print.html`.
- It does **not** cover rendering the one-pager; that's the re-render recipe
  in `direct-mail/README.md` (Path A: browser, Path B: `npm run build:letter`).
- It does **not** add a new database column, env var, or Polsia-side route —
  reply-tracking happens in the owner's tracker sheet, not in the app layer.
  The existing `db/leads.js` already captures QR-driven replies (auto-tagged
  with `sector` + UTM) — no extension needed.

For the upstream merge-token context, see `direct-mail/waianae-letter.md`.
For the upstream cadence-tracker context, see
`scripts/outreach-cadence-readme.md`.
