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>
This commit is contained in:
32
marketing/emails/shopify-pet/01-day1.md
Normal file
32
marketing/emails/shopify-pet/01-day1.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Shopify-pet · Day 1 — Try it on this Shopify customer export first
|
||||
|
||||
**Subject:** Try it on this Shopify customer export first
|
||||
**Send:** Day 1, ~9am buyer-local-time
|
||||
|
||||
---
|
||||
|
||||
Hi {{first_name}},
|
||||
|
||||
Yesterday's email had your download. Today's email has a *file* — a synthetic Shopify customer export I built specifically to break things Klaviyo silently chokes on.
|
||||
|
||||
→ **{{sample_file_url}}** (480 KB CSV, 2,200 rows — fully synthetic, no real customer data)
|
||||
|
||||
What's hidden in there:
|
||||
|
||||
- Phone numbers in 6 different formats (`(415) 555-0143`, `415.555.0143`, `4155550143`, `+44 20 7946 0958` without country field, `+1-415-555-0143 ext 12`, `415 555 0143`)
|
||||
- Email addresses with embedded zero-width spaces (looks identical to a clean email; Klaviyo treats as different addresses)
|
||||
- ~80 obvious customer duplicates (same email, different case)
|
||||
- ~40 cross-row duplicates (different email, same name + same shipping address — usually the same person ordering with two emails)
|
||||
- Shipping addresses with mixed `St.` / `Street` / `St` / `STREET` for the same street name
|
||||
- 12 customers from outside North America with country field blank
|
||||
|
||||
Drop it into DataTools. Click **"Run all"** in the analyzer. Then run **format → dedupe → text-clean → gate** in that order.
|
||||
|
||||
Look at the **gate report** at the end — it'll tell you exactly which rows would have broken Klaviyo, with a one-line "why" per row.
|
||||
|
||||
If you want to see the difference: import the **raw** file to a test Klaviyo list, then import the **cleaned** file to a different test list. Compare the SMS-deliverable count. The delta is what you've been losing every month.
|
||||
|
||||
Reply and tell me what it caught (or missed) — v1.1 detector improvements come from real-world feedback.
|
||||
|
||||
— Michael
|
||||
{{support_email}}
|
||||
Reference in New Issue
Block a user