Protein Coffee: what the launch actually produced, reconciled
The arc is complete and settled. Twenty-one production sends read fresh from Klaviyo, every Shopify order in the window reconciled against them, three launches compared on the same definitions and seventeen on money, the founding list and the blogs re-measured, and every finding of the 8 October build re-labelled against the evidence.
1What the launch produced, verified
The arc is complete: eight slots, 21 production sends (9 email, 12 SMS) from 23 September to 13 October, every one read fresh from Klaviyo on 2026-10-20 with attribution settled (the youngest send is 7 days old; attribution settles in about five). Store figures come from every Shopify order in the window, read 2026-10-20 22:42 UTC. Nothing on this page is carried from the 8 October build except the six older launch days, which are labelled.
$270,354 email + $78,218 SMS, 5,107 attributed orders. Order totals at checkout, tax and shipping inclusive, before refunds, every product the buyer put in the basket.
2,102 units in 1,451 orders to 1,403 customers, 23 Sep – 20 Oct. Line revenue net of discounts, ex tax and shipping, before $194 of refunds. Attribution claims 4.69× what the product earned.
Store GROSS on 8 October against $51,450 the day before (2.74×). Coffee: 982 units, $34,959 net: the fewest units of any launch day on record, a mid-table dollar figure at $35.96 a cup. The largest store day of the three arcs compared here.
$31,014 at the rate-card $0.01 unit, $19,849 at the plan’s paid average. Against $78,218 of SMS-attributed GROSS, before the halo is removed. The invoice itself is [DATA MISSING: billing-usage scope on the API key].
The eight questions, answered
| Question | Answer |
|---|---|
| How much did the launch generate? | $348,572 Klaviyo-attributed GROSS across 21 sends, plus $267,541 of flow-attributed GROSS in the same window (not additive, see § 4). The product itself sold $74,318 NET (2,102 units). The store took $1,772,903 GROSS over 23 Sep – 18 Oct in total; the launch phase (8–18 Oct) alone was $877,699, 91% of it from products other than the coffee. |
| Email versus SMS? | Email $270,354 (3,908 orders, 9 sends, 2,405,274 deliveries); SMS $78,218 (1,199 orders, 12 sends, 975,260 deliveries). Per delivered recipient: email $0.112, SMS $0.080. |
| How much was actually coffee? | Of the $348,572 attributed, the coffee product’s whole NET sales in the window were $74,318 and the whole basket of every order containing coffee was $110,024 GROSS. The rest of the claim is other products bought by people who had opened or clicked a coffee send. The pre-launch sends claimed $140,548 while the product sold 5 units, because it was not on sale yet. |
| Pre-launch, launch day, extended, last chance? | Pre-launch (8 sends) $140,548 at $0.093 per delivered; launch tomorrow $30,277 / $0.079; launch day (email + 3 SMS waves) $64,229 / $0.116; extended (email + 2 SMS) $56,847 / $0.122; last chance (2 email arms + 2 SMS) $56,671 / $0.122. On Shopify the coffee sold 982 units on launch day, 705 over the extended days and 388 over last chance and its tail. |
| Strongest returns relative to reach and cost? | Email: slot 01 ($0.148), then extended and last chance ($0.143 each) and launch day ($0.137). SMS by revenue per delivered: the extended afternoon wave ($0.118), the launch-day night wave ($0.110) and the launch-day morning wave ($0.107); the three 16:00 UTC waves on 7, 9 and 13 October were the weakest at $0.049–$0.050. Each SMS wave cost about 258,449 credits ($2,584 rate card) and returned $4,034–$9,844 attributed GROSS. |
| Against Black Seed Oil, Nattokinase and the record? | On Klaviyo revenue per recipient the launch beats are the weakest on record (launch day $0.137 against a house median of $0.312 and a floor of $0.208 across 17 arcs). On Shopify product actuals the launch day is mid-table on product revenue ($34,959 NET, between Serious Creatine and Sleepy Time Cocoa) but the lowest of the seven launch days on units (982), and the launch phase out-earned Black Seed Oil’s on product NET ($73,529 vs $62,430, on 2,075 vs 2,236 units) and reached 39% of Nattokinase’s units. § 5 reconciles the two readings: the launch-day email earned the same dollars as Black Seed Oil’s from a file 50% larger. |
| Which innovations produced measurable results? | The founding list (1,386 members, on all 8 launch-phase SMS); the buyers-only last-chance arm, which priced the standard buyer exclusion at $1,179 from 1,100 recipients; the per-slot ClickUp task, 9 of 9 closed; and the production hub, 5.8× the words per brief of Black Seed Oil. Repeat same-day SMS waves also measured: the last wave of each day out-earned the first on all three days, while the mid-afternoon launch-day wave was the weakest of its day and carried the arc’s highest SMS unsubscribe rate. See § 8. |
| What failed, what succeeded, what changes? | Failed: pre-launch efficiency (revenue per recipient fell on every one of the four value sends), the two blog sends that pointed at another programme’s page, the launch-day SMS that linked to the bestsellers collection instead of the product, and a hub whose status column and calendar are both wrong today. Succeeded: launch day on product sales, the closing sends holding the launch-day rate, the founding list, the buyer-split test. The findings and the five rules are in § 10. |
Every finding in this report, worst first
Each finding carries a status against the 8 October build: CONFIRMED, REVISED, RESOLVED, DISPROVEN, UNVERIFIABLE or NEW. Click one to jump to it.
2Complete launch timeline and campaign inventory
Every production send between 23 September and 13 October (the last wave went at 20:00 ET, which is 14 October UTC), as named in Klaviyo, with its id. Read from GET /api/campaigns (both archived states, both channels) on 2026-10-20 22:16 and valued with campaign-values-reports against Placed Order. GlockApps seed sends are excluded. Times are Eastern; the Klaviyo dashboard shows the same sends in UTC.
| Campaign, as named in Klaviyo | Sent (ET) | Ch. | Recipients | Delivered | Delivery | Open | Click | Orders | Revenue GROSS | RPR | CVR | AOV | Unsub | Spam | SMS credits | Aud. in / out |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #1 Protein Coffee - Blog01M37CNC20E0KR86S9DGWEV393 · slot 01 · pre-launch · report | Wed 23 Sep 11:15 ET | 299,556 | 298,990 | 99.81% | 43.0% | 0.70% | 636 | $44,351 | $0.148 | 0.213% | $69.73 | 0.285% | 66 | — | 3 / 14 | |
| [SMS] #1 Protein Coffee - Blog01M37DA3WRA7MZ8G5BW9CP12AA · slot 01 · pre-launch · report | Wed 23 Sep 11:30 ET | sms | 82,989 | 73,224 | 88.23% | — | 40.26% | 134 | $7,794 | $0.106 | 0.183% | $58.17 | 0.141% | — | 257,032 | 6 / 0 |
| #2 Protein Coffee - Secret Revealed Blog01M3RB0Y5Y374F6F7E5A604K5D · slot 02 · pre-launch · report | Wed 30 Sep 11:00 ET | 301,750 | 301,164 | 99.81% | 40.2% | 1.07% | 417 | $27,945 | $0.093 | 0.138% | $67.02 | 0.275% | 52 | — | 3 / 14 | |
| [SMS] #2 Protein Coffee - Secret Revealed Blog01M3RBDSMAQ58EBMQWV211EEN3 · slot 02 · pre-launch · report | Wed 30 Sep 11:00 ET | sms | 81,357 | 71,707 | 88.14% | — | 40.96% | 82 | $5,343 | $0.075 | 0.114% | $65.16 | 0.142% | — | 244,865 | 6 / 0 |
| #3 Protein Coffee - E-book01M3YJRSMY0KJZKEXHAPXF717G · slot 03 · pre-launch · report | Fri 02 Oct 11:16 ET | 301,769 | 301,162 | 99.80% | 35.5% | 0.65% | 355 | $22,793 | $0.076 | 0.118% | $64.21 | 0.322% | 39 | — | 3 / 14 | |
| [SMS] #3 Protein Coffee - E-book01M3YHXP68D40WXQZ6ZNJFFJEY · slot 03 · pre-launch · report | Fri 02 Oct 11:15 ET | sms | 85,091 | 82,374 | 96.81% | — | 36.12% | 110 | $6,436 | $0.078 | 0.134% | $58.51 | 0.149% | — | 256,064 | 6 / 0 |
| #4 Protein Coffee - Product Announcement Blog01M46BN796SZ4PS3ESM121YSRQ · slot 04 · pre-launch · report | Mon 05 Oct 11:50 ET | 302,062 | 301,544 | 99.83% | 40.6% | 0.73% | 324 | $20,836 | $0.069 | 0.107% | $64.31 | 0.261% | 126 | — | 3 / 14 | |
| [SMS] #4 Protein Coffee - Product Announcement Blog01M468MSEJH4SH7YWEP4CPY802 · slot 04 · pre-launch · report | Mon 05 Oct 11:15 ET | sms | 88,170 | 85,450 | 96.91% | — | 35.97% | 88 | $5,048 | $0.059 | 0.103% | $57.37 | 0.181% | — | 273,351 | 6 / 0 |
| #5 Protein Coffee - Launch Tomorrow01M4BHXYM0EYJ4JX6J108CVX6V · slot 05 · launch tomorrow · report | Wed 07 Oct 12:15 ET | 301,599 | 301,179 | 99.86% | 40.6% | 0.74% | 330 | $26,243 | $0.087 | 0.110% | $79.52 | 0.259% | 44 | — | 3 / 14 | |
| [SMS] #5 Protein Coffee - Launch Tomorrow01M4BHB9DSBN8Y71HMSQXNEEAB · slot 05 · launch tomorrow · report | Wed 07 Oct 12:06 ET | sms | 84,946 | 82,234 | 96.81% | — | 35.74% | 56 | $4,034 | $0.049 | 0.068% | $72.04 | 0.214% | — | 254,838 | 7 / 0 |
| #6 Protein Coffee - Launch Day (50% OFF)01M4CJEWKR98MZ9228XARKBT3K · slot 06 · launch day · report | Thu 08 Oct 11:00 ET | 300,893 | 300,522 | 99.88% | 43.2% | 0.85% | 583 | $41,202 | $0.137 | 0.194% | $70.67 | 0.298% | 67 | — | 3 / 14 | |
| [SMS] #6 Protein Coffee - Launch Day (50% OFF)01M4DXY7T078VX8RP3QYJE948B · slot 06 · launch day · report | Thu 08 Oct 11:00 ET | sms | 86,788 | 83,834 | 96.60% | — | 35.66% | 118 | $8,953 | $0.107 | 0.141% | $75.87 | 0.254% | — | 263,744 | 7 / 0 |
| [SMS] #6 Protein Coffee - Launch Day (50% OFF) (AFTERNOON)01M4EA898YM87JXARH61NQC2MB · slot 06 · launch day · report | Thu 08 Oct 15:00 ET | sms | 86,633 | 84,054 | 97.02% | — | 34.99% | 70 | $4,876 | $0.058 | 0.083% | $69.66 | 0.424% | — | 263,271 | 7 / 0 |
| [SMS] #6 Protein Coffee - Launch Day (50% OFF) (NIGHT)01M4EVQT3B7SRQ4C1E6GACAX2H · slot 06 · launch day · report | Thu 08 Oct 19:03 ET | sms | 86,234 | 83,483 | 96.81% | — | 35.48% | 132 | $9,198 | $0.110 | 0.158% | $69.68 | 0.167% | — | 262,066 | 7 / 0 |
| #7 Protein Coffee - Launch Extended01M4GPETYCQ451QM5RZ0QFMPDQ · slot 07 · extended · report | Fri 09 Oct 12:15 ET | 300,387 | 300,053 | 99.89% | 42.8% | 0.64% | 621 | $42,889 | $0.143 | 0.207% | $69.06 | 0.343% | 35 | — | 3 / 14 | |
| [SMS] #7 Protein Coffee - Launch Extended (MORNING)01M4GNVE4SBS7F695A8J5K2GBD · slot 07 · extended · report | Fri 09 Oct 12:00 ET | sms | 86,103 | 83,368 | 96.82% | — | 35.17% | 57 | $4,114 | $0.049 | 0.068% | $72.18 | 0.279% | — | 261,669 | 7 / 0 |
| [SMS] #7 Protein Coffee - Launch Extended (AFTERNOON)01M4H8F7DJNB3T0HK6EM9HJX98 · slot 07 · extended · report | Fri 09 Oct 18:00 ET | sms | 86,044 | 83,214 | 96.71% | — | 35.27% | 150 | $9,844 | $0.118 | 0.180% | $65.62 | 0.202% | — | 261,480 | 7 / 0 |
| #8 Protein Coffee - Last Chance01M4TTEEFMT952GDNX2RTXPGM9 · slot 08 · last chance · report | Tue 13 Oct 11:00 ET | 300,030 | 299,565 | 99.84% | 41.9% | 0.60% | 622 | $42,916 | $0.143 | 0.208% | $69.00 | 0.257% | 37 | — | 3 / 15 | |
| [SMS] #8 Protein Coffee - Last Chance (AFTERNOON)01M4TTN8GDP03GFE54N1840DAD · slot 08 · last chance · report | Tue 13 Oct 15:00 ET | sms | 83,955 | 81,407 | 96.97% | — | 35.00% | 64 | $4,080 | $0.050 | 0.079% | $63.75 | 0.214% | — | 251,865 | 7 / 1 |
| [SMS] #8 Protein Coffee - Last Chance (NIGHT)01M4TXWWC7CEJH001JPEQCGAB2 · slot 08 · last chance · report | Tue 13 Oct 20:00 ET | sms | 83,714 | 80,911 | 96.65% | — | 35.06% | 138 | $8,496 | $0.105 | 0.171% | $61.57 | 0.154% | — | 251,142 | 7 / 1 |
| #8 Protein Coffee - Last Chance (BOUGHT Protein Coffee) · buyers-only arm01M4TVKNDENTFDW9G81Y3Q2DWZ · slot 08 · last chance · report | Tue 13 Oct 11:00 ET | 1,100 | 1,095 | 99.54% | 56.9% | 2.47% | 20 | $1,179 | $1.076 | 1.826% | $58.93 | 0.000% | 0 | — | 1 / 0 |
RPR is Klaviyo’s revenue_per_recipient = attributed revenue ÷ delivered. CVR here is attributed orders ÷ delivered. SMS “Click” is link-scanner traffic, roughly 95% machine, and is shown only to document it. Every email row cross-foots: orders × AOV = revenue to the cent on 21 of 21 rows. Audiences: email sends include 3 lists/segments and exclude 14 suppression segments (15 on the last-chance main arm, which added the buyers segment XhKjwD); SMS sends include 7 audiences with no exclusion, except the two last-chance waves which exclude XhKjwD.
Subject lines and SMS openers, as they shipped
slot 01 · 2026-09-23 — “Read this, {name}!” | “Look at this, {name}!”
slot 02 · 2026-09-30 — “Let me explain, {name}!” | “Wanted you to know, {name}!”
slot 03 · 2026-10-02 — “This is for you, {name}!”
slot 04 · 2026-10-05 — “Be prepared, {name}!” | “Look at this, {name}!”
slot 05 · 2026-10-07 — “It's coming, {name}!” | “Final call, {name}!”
slot 06 · 2026-10-08 — “Thank you, {name}!”
slot 07 · 2026-10-09 — “Sorry, {name}!”
slot 08 · 2026-10-13 — “It's coming to an end, {name}!”
3Email and SMS performance by campaign and phase
All figures Klaviyo-attributed GROSS, settled. Revenue per recipient (RPR) is the house decision metric and is relative, so it survives the attribution halo that § 4 measures; dollar totals do not.
By phase
| Phase | Sends | Recipients | Delivered | Orders | Email GROSS | SMS GROSS | Total GROSS | RPR | CVR |
|---|---|---|---|---|---|---|---|---|---|
| pre-launch2026-09-23, 2026-09-30, 2026-10-02, 2026-10-05 | 8 | 1,542,744 | 1,515,615 | 2,146 | $115,926 | $24,623 | $140,548 | $0.093 | 0.142% |
| launch tomorrow2026-10-07 | 2 | 386,545 | 383,413 | 386 | $26,243 | $4,034 | $30,277 | $0.079 | 0.101% |
| launch day2026-10-08 | 4 | 560,548 | 551,893 | 903 | $41,202 | $23,027 | $64,229 | $0.116 | 0.164% |
| extended2026-10-09 | 3 | 472,534 | 466,635 | 828 | $42,889 | $13,958 | $56,847 | $0.122 | 0.177% |
| last chance2026-10-13 | 4 | 468,799 | 462,978 | 844 | $44,094 | $12,576 | $56,671 | $0.122 | 0.182% |
| Whole arc | 21 | 3,431,170 | 3,380,534 | 5,107 | $270,354 | $78,218 | $348,572 | $0.103 | 0.151% |
Did revenue per recipient deteriorate through the campaign? Re-assessed on settled data
Attribution maturity, measured on this arc
| Send | Revenue, 8 Oct 19:30 UTC | Revenue, 12 Oct | Revenue, settled 2026-10-20 | Settled ÷ 8 Oct | Settled ÷ 12 Oct | Open, 8 Oct | Open, 12 Oct | Open, settled |
|---|---|---|---|---|---|---|---|---|
| 04 Revealsent 2026-10-05 | $17,046 | $20,836 | $20,836 | 1.22× | 1.00× | 39.2% | 40.06% | 40.56% |
| 05 Launch tomorrowsent 2026-10-07 | $15,103 | $26,243 | $26,243 | 1.74× | 1.00× | 36.7% | 39.84% | 40.62% |
| 06 Launch daysent 2026-10-08 | $13,039 | $39,360 | $41,202 | 3.16× | 1.05× | 23.3% | 42.14% | 43.18% |
| 07 Extendedsent 2026-10-09 | not sent | $35,127 | $42,889 | — | 1.22× | — | 41.27% | 42.79% |
The 12 October column is the Klaviyo dashboard as read that day (the read that caught the 8 October figures). A send read on its own day is worth roughly a third of its settled value on launch day and about half on an ordinary send; by day 4 it is within a fifth of settled; by day 7 it is settled. This is now four observations, not one, and it is the reason no number on this page is younger than seven days.
Three launches, side by side — whole arcs, equivalent maturity
Nattokinase
Black Seed Oil
Protein Coffee
Sparklines are email RPR by send, each scaled to its own arc. Nattokinase’s arc excludes the Memorial Day promo ($121,621 on 29 May, $70,677 on 1 June) that cut it; Black Seed Oil’s excludes the 311-recipient VIP 70% variant on launch day ($1,226). All three are settled.
Revenue per recipient, beat by beat, against the house record
| Beat | Coffee, settled | House range | House median | Sends in record | Verdict |
|---|---|---|---|---|---|
| Value 1 · set the stageslot 01 | $0.148 | $0.070 – $0.237 | $0.141 | 19 | above median |
| Value 2 · educationslot 03 | $0.076 | $0.091 – $0.327 | $0.154 | 45 | below every arc on record |
| Value 3 · revealslot 04 | $0.069 | $0.116 – $0.400 | $0.158 | 7 | below every arc on record |
| Launch tomorrowslot 05 | $0.087 | $0.083 – $0.455 | $0.166 | 13 | below median |
| Launch dayslot 06 | $0.137 | $0.208 – $1.066 | $0.312 | 17 | below every arc on record |
| Extendedslot 07 | $0.143 | $0.150 – $0.725 | $0.250 | 14 | below every arc on record |
| Last chanceslot 08 | $0.143 | $0.109 – $0.407 | $0.226 | 9 | below median |
Open rate and list hygiene
The SMS waves: twelve sends, four of them same-day repeats
| SMS send | Sent (ET) | Delivered | Delivery | Orders | GROSS | RPR | Unsub | Credits | Credits at $0.01 | GROSS per credit |
|---|---|---|---|---|---|---|---|---|---|---|
| [SMS] #1 Protein Coffee - Blog01M37DA3WRA7MZ8G5BW9CP12AA · slot 01 | Wed 23 Sep 11:30 ET | 73,224 | 88.23% | 134 | $7,794 | $0.106 | 0.141% | 257,032 | $2,570 | $0.030 |
| [SMS] #2 Protein Coffee - Secret Revealed Blog01M3RBDSMAQ58EBMQWV211EEN3 · slot 02 | Wed 30 Sep 11:00 ET | 71,707 | 88.14% | 82 | $5,343 | $0.075 | 0.142% | 244,865 | $2,449 | $0.022 |
| [SMS] #3 Protein Coffee - E-book01M3YHXP68D40WXQZ6ZNJFFJEY · slot 03 | Fri 02 Oct 11:15 ET | 82,374 | 96.81% | 110 | $6,436 | $0.078 | 0.149% | 256,064 | $2,561 | $0.025 |
| [SMS] #4 Protein Coffee - Product Announcement Blog01M468MSEJH4SH7YWEP4CPY802 · slot 04 | Mon 05 Oct 11:15 ET | 85,450 | 96.91% | 88 | $5,048 | $0.059 | 0.181% | 273,351 | $2,734 | $0.018 |
| [SMS] #5 Protein Coffee - Launch Tomorrow01M4BHB9DSBN8Y71HMSQXNEEAB · slot 05 | Wed 07 Oct 12:06 ET | 82,234 | 96.81% | 56 | $4,034 | $0.049 | 0.214% | 254,838 | $2,548 | $0.016 |
| [SMS] #6 Protein Coffee - Launch Day (50% OFF)01M4DXY7T078VX8RP3QYJE948B · slot 06 | Thu 08 Oct 11:00 ET | 83,834 | 96.60% | 118 | $8,953 | $0.107 | 0.254% | 263,744 | $2,637 | $0.034 |
| [SMS] #6 Protein Coffee - Launch Day (50% OFF) (AFTERNOON)01M4EA898YM87JXARH61NQC2MB · slot 06 | Thu 08 Oct 15:00 ET | 84,054 | 97.02% | 70 | $4,876 | $0.058 | 0.424% | 263,271 | $2,633 | $0.019 |
| [SMS] #6 Protein Coffee - Launch Day (50% OFF) (NIGHT)01M4EVQT3B7SRQ4C1E6GACAX2H · slot 06 | Thu 08 Oct 19:03 ET | 83,483 | 96.81% | 132 | $9,198 | $0.110 | 0.167% | 262,066 | $2,621 | $0.035 |
| [SMS] #7 Protein Coffee - Launch Extended (MORNING)01M4GNVE4SBS7F695A8J5K2GBD · slot 07 | Fri 09 Oct 12:00 ET | 83,368 | 96.82% | 57 | $4,114 | $0.049 | 0.279% | 261,669 | $2,617 | $0.016 |
| [SMS] #7 Protein Coffee - Launch Extended (AFTERNOON)01M4H8F7DJNB3T0HK6EM9HJX98 · slot 07 | Fri 09 Oct 18:00 ET | 83,214 | 96.71% | 150 | $9,844 | $0.118 | 0.202% | 261,480 | $2,615 | $0.038 |
| [SMS] #8 Protein Coffee - Last Chance (AFTERNOON)01M4TTN8GDP03GFE54N1840DAD · slot 08 | Tue 13 Oct 15:00 ET | 81,407 | 96.97% | 64 | $4,080 | $0.050 | 0.214% | 251,865 | $2,519 | $0.016 |
| [SMS] #8 Protein Coffee - Last Chance (NIGHT)01M4TXWWC7CEJH001JPEQCGAB2 · slot 08 | Tue 13 Oct 20:00 ET | 80,911 | 96.65% | 138 | $8,496 | $0.105 | 0.154% | 251,142 | $2,511 | $0.034 |
The last-chance buyer split
#8 Protein Coffee - Last Chance (BOUGHT Protein Coffee) · 1,100 recipients, 1,095 delivered, open 56.9%, 20 orders, AOV $58.93. Audience: segment XhKjwD “BOUGHT Protein Coffee Before Last Chance” alone, no exclusions.
#8 Protein Coffee - Last Chance · 300,030 recipients, open 41.9%, 622 orders, $42,916 GROSS, AOV $69.00. Same 14 suppressions as every other email plus XhKjwD excluded.
4Shopify actual sales versus Klaviyo attribution
Every Shopify order created between 22 September and 20 October (25,881 orders, of which 25,547 live after removing cancelled and test), read 2026-10-20 22:42 UTC. Definitions: store GROSS = total_price (tax and shipping in, before refunds); store NET = line revenue − discounts − refund line items, ex tax, ex shipping; coffee NET = the Ancestral Beef Protein Coffee lines (product id 15411323011299) net of their allocated discounts, ex tax and shipping. Cancelled and test orders are excluded from every money column.
$76,254 GROSS at line prices − $1,936 of code discounts. 2,102 units, $35.36 per unit. $194 refunded on 6 units; 5 orders cancelled (8 units) and excluded.
1,403 customers, 194 of them new to the store (13.8%). 1,124 of the 1,451 orders held nothing but coffee. 1.45 units per order, basket $75.83 GROSS on average, coffee 74% of basket value.
$348,572 attributed against $74,318 sold. Launch phase alone: 2.42×. Launch day alone: 1.84×. The halo is other products in the same baskets and in baskets without coffee at all.
1,249 of 2,102 units went out at $35.96; the compare-at price the “50% off” refers to is $71.92 and the post-launch price is $44.96. Codes used: FINISH20 (38), FINISH15 (14), SAMPLE (5), COCOA-BUY-1-GET-1-FREE-BSO (4).
Reconciliation by window
| Window | Klaviyo campaigns GROSS | Attr. orders | Klaviyo flows GROSS | All Klaviyo GROSS | Store GROSS | Store NET | Store orders | Claims ÷ store NET | Coffee NET | Units | Coffee orders | Baskets with coffee GROSS | Campaigns ÷ coffee NET |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pre-launch (sends 23 Sep – 7 Oct) | $170,826 | 2,532 | $144,167 | $314,993 | $895,205 | $823,682 | 12,158 | 38.2% | $180 | 5 | 4 | $203 | n/a (5 units) |
| Launch day (8 Oct) | $64,229 | 903 | $14,053 | $78,282 | $140,752 | $128,646 | 1,791 | 60.9% | $34,959 | 982 | 677 | $49,222 | 1.84× |
| Launch phase (8 – 18 Oct: launch day, extended, last chance + 5-day tail) | $177,747 | 2,575 | $106,749 | $284,496 | $877,699 | $803,332 | 11,322 | 35.4% | $73,529 | 2,075 | 1,431 | $108,674 | 2.42× |
| Whole arc (23 Sep – 18 Oct) | $348,572 | 5,107 | $267,541 | $616,113 | $1,772,903 | $1,627,014 | 23,480 | 37.9% | $73,709 | 2,080 | 1,435 | $108,876 | 4.73× |
Campaign claims are assigned to the window of their send date; a send keeps attributing for about five days, so the “whole arc” row (sends to 13 Oct, store through 18 Oct) is the only one where the two sides are fully matched. Campaign and flow claims are not added as unique revenue anywhere on this page: Klaviyo does not expose the order-level join, so their overlap on a single order is [DATA MISSING: order-level campaign/flow attribution]. The “All Klaviyo” column is an upper bound.
The store, day by day
Accounting identities, every order
- Identity A (line revenue − order discounts + tax + shipping =
total_price) holds to the cent on 25,547 of 25,547 live orders. Zero breaks; the 8 October audit had found one edited order in the Sleepy Cocoa window and none here. - Identity B (
total_price− refund line items incl. tax − order adjustments =current_total_price) holds on all but 22 orders, net residual $-383.17 across 25,547 orders. Refund transactions total $2,056.22 while refund line items incl. tax total $9,327.42: refunds issued as store credit or without a cash transaction, the same mechanism found on 8 October. Refunds are read from line items everywhere on this page. - Line-level discount allocations vs order-level
total_discountsdiffer by $194.73 in total (shipping discounts, which allocate to no line). Order-level discounts are used for store NET; line allocations for coffee NET. - Attributed orders × AOV = attributed revenue on 21 of 21 Klaviyo rows.
What the SMS cost
Read per campaign id from the Relayed Text Message ledger ($usage_amount × count), 1,022,024 relayed messages, about 258,449 credits per send. Every send was an MMS at ~3 credits per recipient.
$19,849 at the plan’s paid average of $0.0064 per unit. Per attributed SMS order: $25.87 rate card, $16.55 paid.
$78,218 attributed GROSS ÷ $31,014, before the attribution halo. Deflated by the whole-arc halo (4.69×), the twelve texts map to about $16,677 of product NET, or $0.54 per rate-card dollar. The actual invoice is [DATA MISSING: Klaviyo billing-usage API, scope usage:read].
Contribution margin and ROI are not computed: unit cost of goods and fulfilment cost per order are [DATA MISSING: COGS per unit and fulfilment cost on this product], and the SMS invoice allocation is above. Profitability is stated only as what can be read: credits, two unit prices, attributed GROSS and product NET.
5Launch performance versus historical benchmarks
Two instruments disagree, and both are right about what they measure. Klaviyo revenue per recipient says the coffee launch beats were the weakest on record. Shopify says the launch day was normal on product sales and the biggest store day of the three arcs. This section reconciles them.
Launch day, seven arcs, audited
| Launch | Day | Klaviyo campaigns GROSS | Klaviyo flows GROSS | All Klaviyo | Store GROSS | Store NET | Claims ÷ NET | Product NET | Units | Product ÷ NET | Orders |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NMN Banread 2026-10-08 | 2025-09-25 | $195,814 | $2,001 | $197,815 | $297,597 | $282,362 | 70.1% | $208,011 | 5,072 | 73.7% | 2,379 |
| Longevity Mixread 2026-10-08 | 2025-11-12 | $77,194 | $6,032 | $83,226 | $137,429 | $129,021 | 64.5% | $66,352 | 1,586 | 51.4% | 1,759 |
| Sleepy Time Cocoaread 2026-10-08 | 2026-01-29 | $56,190 | $6,715 | $62,905 | $135,395 | $127,087 | 49.5% | $38,821 | 1,341 | 30.5% | 1,792 |
| Serious Creatineread 2026-10-08 | 2026-03-23 | $62,328 | $11,271 | $73,599 | $103,616 | $97,924 | 75.2% | $26,236 | 1,048 | 26.8% | 1,416 |
| Nattokinaseread 2026-10-08 | 2026-06-05 | $79,765 | $3,916 | $83,681 | $121,291 | $114,704 | 73.0% | $59,466 | 2,242 | 51.8% | 1,710 |
| Black Seed Oilread 2026-10-08 | 2026-08-18 | $61,554 | $18,621 | $80,175 | $128,782 | $119,640 | 67.0% | $31,199 | 1,063 | 26.1% | 1,674 |
| Protein Coffeecomplete day, read 2026-10-20 | 2026-10-08 | $64,229 | $14,053 | $78,282 | $140,752 | $128,646 | 60.9% | $34,959 | 982 | 27.2% | 1,791 |
The six older rows are complete store-local days audited on 8 October and are not re-pulled (their refunds may have moved by a few dollars since). Protein Coffee’s row replaces the two partial reads of 8 October (19:44 UTC: 990 orders / $73,692 GROSS / $23,058 product; 20:59 UTC: 1,101 / $81,478 / $25,521) with the complete day: 1,791 orders, $140,752 GROSS, $34,959 of coffee, 982 units. Klaviyo campaign claims on the four older launch days are email-only because no SMS campaign existed on those days.
The launch phase, not just the day — three arcs on the same definitions
| Arc | Window | Days | Launch-day product NET | Units | Store GROSS lift vs day before | Launch-phase product NET | Units | Orders with product | Store NET in window | Product share |
|---|---|---|---|---|---|---|---|---|---|---|
| Nattokinaselaunch day → last chance + 5 days | 2026-06-05 → 2026-06-13 | 9 | $59,466 | 2,242 | 2.29× | $143,967 | 5,388 | 2,695 | $528,736 | 27.2% |
| Black Seed Oillaunch day → last chance + 5 days | 2026-08-18 → 2026-08-26 | 9 | $31,199 | 1,063 | 1.45× | $62,430 | 2,236 | 1,219 | $684,852 | 9.1% |
| Protein Coffeelaunch day → last chance + 5 days | 2026-10-08 → 2026-10-18 | 11 | $34,959 | 982 | 2.74× | $73,529 | 2,075 | 1,431 | $803,332 | 9.2% |
Why the RPR is the lowest on record while the store day was the largest
Black Seed Oil: $43,104 from 200,659 delivered ($0.215).
Protein Coffee: $41,202 from 300,522 delivered ($0.137).
Nattokinase: $79,765 from 255,722 delivered ($0.312).
Coffee’s launch-day email reached 50% more people than Black Seed Oil’s and claimed 96% as many dollars. Black Seed Oil’s file had been cut to the BFMD regional lists from send 3 (a regulatory change, not a hygiene trim); coffee mailed the whole file every time. Same dollars, bigger denominator, lower rate.
The store took $128,646 NET on coffee’s launch day against $122,451 on Black Seed Oil’s and $114,967 on Nattokinase’s. Klaviyo’s share of it (60.9%) is in the normal 60–70% band. The rate fell because reach grew faster than buyers, not because buyers disappeared.
Every prior launch warmed the list with an offer. This one did not. — still true
| Launch | Launch day | Offer / VIP sends before launch day | Their RPR | Launch-day email CVR (orders ÷ delivered, settled) |
|---|---|---|---|---|
| NMN Ban | 2025-09-25 | none restock of an existing best-seller, not a new product — demand already proven | — | — |
| Longevity Mix | 2025-11-12 | 2025-10-24 · NMN Apology (75% off upcoming product) | $1.923 | — |
| Sleepy Time Cocoa | 2026-01-29 | 2026-01-23 · #3 VIP Early Access | $0.136 | — |
| Serious Creatine | 2026-03-23 | 2026-03-13 · #6 VIP List 2026-03-18 · #7 VIP List (resend) | $0.225 $0.183 | — |
| Nattokinase | 2026-06-05 | 2026-05-29 · Memorial Day promo 2026-06-01 · Memorial Day Last Chance | $0.478 $0.280 | 0.461% |
| Black Seed Oil | 2026-08-18 | 2026-08-10 · #6 BOGO Qualifier 2026-08-12 · #7 BOGO Last Chance 2026-08-17 · #8 BOGO Last Chance (repeat) | $0.316 $0.212 $0.078 | 0.314% |
| Protein Coffee | 2026-10-08 | none a brand-new product taken to launch day with no offer, no VIP tier and no qualifier | — | 0.194% |
Settled launch-day conversion: Nattokinase 0.461%, Black Seed Oil 0.314%, Protein Coffee 0.194%. The coffee figure is now complete and no longer understated. The association stands at six arcs by name and a conversion comparison across three; it is still not a causal claim, and the Nattokinase promo was a calendar holiday.
What this still does not prove
- Three arcs is not a sample. Product-level launch-phase comparisons exist for three arcs; launch-day comparisons for seven.
- Arc length and offer cadence are confounded. Coffee ran 15 days and 5 pre-launch sends with no offer; Nattokinase 21 and 7 with a holiday promo; Black Seed Oil 34 and 14 with a BOGO qualifier. No single variable isolates.
- The in-house rival. Longevity Coffee ($42.96) sits in the same format. Two commenters asked whether the new coffee replaces it; no send answered. Whether it split demand is [DATA MISSING: Longevity Coffee units in the same window were not isolated on this run].
- Price. The most common unit price paid in each launch window: coffee $35.96, Black Seed Oil $29.96, Nattokinase $26.96 (read from the order lines); launch-day basket size is similar across arcs (coffee $70.67, Black Seed Oil $68.42), so unit price does not explain the gap.
6Customer acquisition, opt-ins and pop-up performance
The founding list RunR7E “Ancestral Coffee Launch SMS Opt-In” re-read in full on 2026-10-20, every member with join date, consent and profile age; Klaviyo form reporting for the whole coffee window (20 Sep – 20 Oct); the Submitted Form event stream; and a per-profile sweep of what every member received and bought.
1,078 on 8 October → 1,386. 1,203 SMS-subscribed, 182 unsubscribed, 1 never confirmed. 1,100 email-consented.
202 of 1,386 had no profile before they signed up; 210 gave a phone with no email on file. Black Seed Oil’s founding page returned 77 new profiles from 845 submissions (9%).
863 joined before the offer opened; 523 on or after 8 October, after the page had done its job. The list kept filling from the SMS links and the PDP.
552 orders from 446 members (32.2%), 322 of them a coffee order; $27.82 per opt-in. Events since 15 September only, so lifetime prior spend is carried from 8 October.
joined_group_at. Red bars are send days. Launch day produced 237 joins, the announcement 239, launch tomorrow 331. | Send | Date | Email delivered | Opt-ins that day | Per 1,000 delivered | Comments on its blog | Ask-to-buy |
|---|---|---|---|---|---|---|
| #1 Protein Coffee - Blogslot 01 · Set the stage | 2026-09-23 | 298,990 | 3 | 0.01 | 22 | 0% |
| #2 Protein Coffee - Secret Revealed Blogslot 02 · Secret revealed | 2026-09-30 | 301,164 | 1 | 0.00 | 37 | 0% |
| #3 Protein Coffee - E-bookslot 03 · Education | 2026-10-02 | 301,162 | 72 | 0.24 | — | — |
| #4 Protein Coffee - Product Announcement Blogslot 04 · Reveal | 2026-10-05 | 301,544 | 239 | 0.79 | 41 | 15% |
| #5 Protein Coffee - Launch Tomorrowslot 05 · Launch tomorrow | 2026-10-07 | 301,179 | 331 | 1.10 | — | — |
| #6 Protein Coffee - Launch Day (50% OFF)slot 06 · Launch day 50% off | 2026-10-08 | 300,522 | 237 | 0.79 | — | — |
| #7 Protein Coffee - Launch Extendedslot 07 · Extended | 2026-10-09 | 300,053 | 90 | 0.30 | — | — |
| #8 Protein Coffee - Last Chanceslot 08 · Last chance | 2026-10-13 | 299,565 | 61 | 0.20 | — | — |
Opt-ins are list joins stamped on the send date. The page reads a ?src= parameter; none of the 21 sends carried one (every SMS link was checked), so same-day attribution is the best available. Launch-phase joins came from people who were already being messaged about the offer, so they are not acquisition in the pre-launch sense.
What the founding list was worth
$38,563.32 GROSS across 552 orders by 446 members, AOV $69.86. 322 of those orders contained the coffee ($22,739 GROSS). 221 members bought on launch day itself.
Matching order email or phone to a member: 338 coffee orders (329 after the member’s join), 509 units, $18,024 coffee NET, $25,067 basket GROSS. That is 23.3% of all coffee orders. Matched where the order email or E.164 phone equals a member's (1,176 members carry an email, 1,380 a phone).
Not measurable. RunR7E rode inside the SMS audience on all eight launch-phase texts as one of seven lists and never got its own campaign, so what the page caused cannot be separated from what the general file would have produced anyway. 1,365 of 1,386 members had received a message since the arc opened and 1,333 a coffee send; the cohort figure above is a ceiling on the page’s value, not its value.
Prior spend, carried from 8 October: of the 1,078 members then, 754 (70%) had bought before, $332,540 across 4,119 lifetime orders (GROSS). This sweep reads events from 15 September only and cannot refresh it. The founding list is the best of the file raising its hand, not a cold audience.
Every form with activity, whole coffee window
| Form | Status | Views | Unique viewers | Submits | Submit rate | Closed | Submits to 7 Oct | Submits 8–18 Oct | Mobile share |
|---|---|---|---|---|---|---|---|---|---|
| Email + SMS (sign-up form)STUCB3 · created 2026-06-18 | live | 83,185 | 62,952 | 9,559 | 11.5% | 50,594 | 5,953 | 3,276 | 76.3% |
| SMS (sign-up form) [Email Subscribers Only]TXMVmy · created 2026-08-28 | live | 12,803 | 11,351 | 4,043 | 31.6% | 7,804 | 3,228 | 633 | 73.0% |
| Countdown Sale - Protein CoffeeS9vL6F · created 2026-10-06 | draft | 4,719 | 4,040 | 673 | 14.3% | 3,627 | 24 | 649 | 52.2% |
| On-Page SMS Subscribers Form - PAGE FOOTERYcgw8a · created 2026-10-06 | live | 3,698 | 2,310 | 43 | 1.2% | 43 | 3 | 40 | 95.3% |
| FIGHT FOR HEALTH FREEDOMX9ksL5 · created 2026-08-26 | live | 202 | 128 | 37 | 18.3% | 6 | 37 | 0 | 67.6% |
| Countdown Sale - LABOR DAY 2026XNjDHv · created 2026-09-02 | draft | 33 | 11 | 0 | 0.0% | 2 | 0 | 0 | — |
| NAD+ EARLY ACCESSVCfHT8 · created 2026-07-10 | live | 9 | 6 | 1 | 11.1% | 0 | 0 | 1 | 0.0% |
| Countdown Sale - Black Seed OilVqpsb7 · created 2026-08-19 | draft | 9 | 3 | 0 | 0.0% | 0 | 0 | 0 | — |
| EMBED FORM - Meta Sleepy Lead Gen - Collect SMSVDXheq · created 2026-01-26 | live | 2 | 1 | 0 | 0.0% | 0 | 0 | 0 | — |
| Sleepy COCOA META lead-gen campaignVMcxPc · created 2026-01-26 | live | 2 | 1 | 0 | 0.0% | 0 | 0 | 0 | — |
client/subscriptions, which fires no Klaviyo form event. The 241 Submitted Form events whose page URL is that page belong to the other forms rendered on it (TXMVmy SMS (sign-up form) [Email Subscribers Only] ×118, S9vL6F Countdown Sale - Protein Coffee ×59, STUCB3 Email + SMS (sign-up form) ×53), not to the founding form itself, against 1,386 list joins. No view count exists for the page, so its conversion rate is undefined and is not invented here. 74.3% of all form submissions in the window were mobile.How the four opt-in pages are wired
| Page | Arc | Mechanism | Form | List | Opt-in | Visible to form analytics |
|---|---|---|---|---|---|---|
/pages/👇-secure-your-founding-price👇-1 | Protein Coffee | hand-coded <form id=bfs-f> posting to klaviyo.com/client/subscriptions | — | RunR7E | single | no |
/pages/👇-join-the-fight-👇 | Protein Coffee blogs 01-02 | Klaviyo embed | X9ksL5 | VdWm2S | single | yes |
/pages/👇-join-the-fight👇 | Black Seed Oil | Klaviyo embed | VCfHT8 | SWAHz2 | double | yes |
/pages/👇-secure-your-founding-price👇 | Black Seed Oil | Klaviyo embed | VCfHT8 | SWAHz2 | double | yes |
Coffee blogs 01 and 02 linked to the hyphenated join the fight page, whose form files to VdWm2S, not the coffee list. The founding-price page the launch depends on is the unmeasurable one. Unchanged since 8 October.
Tracking gaps named on 8 October, status today
| Gap | Status | Evidence today |
|---|---|---|
| Founding form fires no Viewed Form / Submitted Form | CONFIRMED | The 241 form events on that URL are the pop-up and footer forms; the founding form itself was not re-instrumented during the arc (1,386 joins). |
?src= parameter never set by a send | CONFIRMED | All 21 send bodies/links checked; none carries it. |
| Form reporting exposes no revenue | CONFIRMED | Structural; measured from the cohort instead (above). |
step_name absent from every Submitted Form event | CONFIRMED | 0 of 14,421 events since 20 Sep carry a step. |
| Founding list never got its own campaign | CONFIRMED | On all 8 launch-phase SMS as 1 of 7 audiences; no dedicated send; its launch-day value cannot be isolated. |
| RunR7E: “0 flows, 0 campaigns, members receive nothing” (routing audit, 5 Oct) | RESOLVED | From 7 October the list was an included audience on every SMS; 1,333 of 1,386 members received a coffee send. |
| VdWm2S unexplained 1 October join spike | UNVERIFIABLE | List re-read: 50,991 members; the 1 October cause (import or integration) was not traced on this run. |
7Blog engagement and customer demand
Hyvor Talk comment data for the three coffee articles and the three busiest articles of each prior arc, re-pulled 2026-10-20. Totals are exact; the comment-body sample caps at 50 top-level comments, which truncates the busiest Black Seed Oil and Nattokinase threads but none of the coffee ones.
| Arc | Blogs | Comments | Sampled | Reactions | Anger share | Questions | Answered | Ask-to-buy | Ask-to-buy, 8 Oct build |
|---|---|---|---|---|---|---|---|---|---|
| Nattokinase15 May – 8 Jun 2026 | 3 | 223 | 151 / 223 | 254 | 9% | 34 | 5 | 8.1% | 8.1% |
| Black Seed Oil15 Jul – 21 Aug 2026 | 3 | 180 | 131 / 180 | 300 | 12% | 18 | 2 | 4.6% | 3.8% |
| Protein Coffee23 Sep – 13 Oct 2026 | 3 | 100 | 100 / 100 | 134 | 20% | 19 | 6 | 6.1% | 6.1% |
Dashed line: the 15% target for a pre-launch blog
The objections readers raised, and where each stands
| Objection | Times raised | In their words | Status |
|---|---|---|---|
| A sample or trial size | 4 | Asked four separate times under the announcement, more than any other question. | Shopify shows a SAMPLE code on 5 coffee orders, so a sample route exists; nothing on a public surface says so. Open. |
| Does it replace the cocoa? | 2 | “Does this mean I stop drinking my Black Forest Flavanol Cocoa?” | House answer is that the coffees stack. No send or article said so. Open. |
| Sourcing: organic, grass-fed, origin | 4 | “Is the coffee organic?” · “Where is the source meat from?” | Grass-fed cleared on 6 October and prints on the label; organic is not claimed. Partly answered on the PDP, not under the article. |
| Pouch or tub? | 1 | “Your message keeps saying pouch, the photo display shows tubs.” | The last-chance SMS said “tubs”; the label says pouch. Unresolved in copy. |
| Packaging material | 3 | Glass over plastic, three times. | Product decision. Logged, not answered. |
| Decaf, calories, cholesterol, dairy | 4 | Spec questions the Supplement Facts panel answers. | Panel is on the PDP; was never put under the article. |
8Operational execution and the innovations, assessed
Read from both hubs and every slot brief (fetched 2026-10-20), the ten ClickUp tasks live, and the campaign definitions themselves.
ClickUp: nine tasks, nine closed, and a hub that says otherwise
| Task | Slot | Due | ClickUp status | Hub index says | Last updated | Time logged | Comments | Subtasks |
|---|---|---|---|---|---|---|---|---|
| EM-203 #1 Protein Coffee - Blog | 01 | 2026-09-22 | done | done | 2026-10-05 21:26 | 5.7 h | 0 | 0 |
| EM-220 #2 Protein Coffee - Secret Revealed Blog | 02 | 2026-09-30 | done | revisions (quality) | 2026-10-14 01:33 | 3.4 h | 2 | 4 |
| EM-204 #3 Protein Coffee - E-book | 03 | 2026-10-02 | done | revisions (quality) | 2026-10-14 01:35 | 6.3 h | 3 | 1 |
| EM-205 #4 Protein Coffee - Product Announcement Blog | 04 | 2026-10-06 | done | revisions (quality) | 2026-10-06 17:22 | 12.6 h | 0 | 0 |
| EM-206 #5 Protein Coffee - Launch Tomorrow | 05 | 2026-10-07 | done | revisions (quality) | 2026-10-12 16:41 | 1.8 h | 1 | 0 |
| EM-207 #6 Protein Coffee - Launch Day | 06 | 2026-10-08 | done | revisions (quality) | 2026-10-12 16:41 | 3.0 h | 2 | 0 |
| EM-208 #7 Protein Coffee - Launch Extended | 07 | 2026-10-12 | done | revisions (quality) | 2026-10-13 20:16 | 3.4 h | 2 | 0 |
| EM-209 #8 Protein Coffee - Last Chance | 08 | 2026-10-14 | done | revisions (quality) | 2026-10-14 01:11 | 1.4 h | 2 | 0 |
| EM-254 Review and approve the Protein Coffee product pa | PDP | 2026-10-08 | done | to do | 2026-10-12 16:38 | 2.5 h | 0 | 0 |
| EM-185 Ship the complete protein coffee launch flow | parent | 2026-10-07 | done | — | 2026-10-19 19:19 | 65.6 h | 5 | 12 |
The hub, measured against Black Seed Oil’s
| Dimension | Nattokinase | Black Seed Oil | Protein Coffee | Verdict |
|---|---|---|---|---|
| Launch hub | none | yes | yes | new at Black Seed |
| Slot brief pages | 0 | 12 | 8 | — |
| Words per brief | — | 665 | 3,860 | up 5.8× |
| Outbound links on briefs | 0 | 38 | 173 | up 4.6× |
| Rendered email / asset images | 0 | 0 | 48 | new |
| Primary-source citations on briefs | 0 | 0 | 11 | new |
| Collapsible evidence blocks | 0 | 12 | 307 | up 26× |
| ClickUp task per send | no | 9 of 13 rows | 9 of 9 rows, all closed | up at every step |
| Campaigns named distinguishably in Klaviyo | no — all “Email 1” | partly — 3 share one name | yes | fixed |
| SMS alongside the email | none | every beat | every beat + 4 repeat waves | new at Black Seed |
| Per-slot open rate and revenue on the index | — | yes | no | lost |
| Per-slot deliverability block | — | yes | no | lost |
| Index status matches ClickUp today | — | no (5 “Awaiting send”) | no (8 of 9 rows) | not fixed |
| Index dates match the sends | — | — | no (2 of 8) | new |
Which innovations produced measurable results
| Innovation | Verdict | What the data says |
|---|---|---|
| Founding list, held for launch day | measured, worked | 1,386 members; on all 8 launch-phase SMS; 446 of them bought after joining ($38,563 GROSS). Measurable as a cohort, not as a cause (no dedicated send). |
| Buyers-only last-chance arm (built by Juan, 13 Oct) | measured, worked | Priced the buyer exclusion: $1,179 from 1,100 recipients, $1.076 per delivered. First time the cost of the standard rule was measured rather than assumed. |
| Same-day repeat SMS waves | measured, worked | The later wave out-earned the earlier on all three days ($9,198 vs $8,953, $9,844 vs $4,114, $8,496 vs $4,080 GROSS). Cost: 0.42% unsubscribe rate on the launch-day afternoon wave, the arc’s highest. |
| Per-slot ClickUp task named as the campaign | measured, worked | 9 of 9 closed; 105.7 hours logged against them. The record exists; the hub that should display it does not read it. |
| Production hub with research governance | worked, half-measured | 5.8× the words per brief, 11 primary citations, 307 evidence blocks. Kept “grass-fed” off every surface until cleared. Lost the per-slot performance and deliverability blocks and its status column is stale. |
| Countdown pop-up S9vL6F | measured, worked | 14.3% submit rate on 4,719 views, the best surface in the window; live from 6 October only. |
| Launch-day SMS CTA routing | did not | All three launch-day SMS waves and the 9 October noon wave linked to /collections/bestsellers, not the product page; only the 9 October evening wave and both last-chance waves linked to the PDP. Click-to-product on the biggest SMS day went through a collection grid. |
| Hand-coded founding page | worked, half-measured | Converts and fills the right list; reports nothing. 241 events against 1,386 joins. |
9Data quality, limitations and the reconciliation audit
What was re-pulled, what reconciles, what does not, and what changed against the 8 October build.
Reconciliation and QA table — previous value, updated value, verification
| Metric | Previous value | Updated value | Source | Verification | Explanation |
|---|---|---|---|---|---|
| Arc attributed revenue (Klaviyo GROSS) | $176.5K (6 sends, 8 Oct 19:30 UTC, mid-flight) | $348,572 (21 sends, settled) | campaign-values-reports, 2026-10-20 | 21 of 21 rows cross-foot orders×AOV | Scope grew from 12 campaigns (6 slots × email + SMS) to 21; the same 12 campaigns now read $220,981 settled. |
| Launch-day email revenue | $13,039 | $41,202 | same endpoint | settled 12 days | Read hours after send on 8 Oct; attribution matured 3.16×. |
| Launch-day open rate | 23.3% | 43.18% | same endpoint | matches the 42.14% Juan read on 12 Oct within 1 pt | Opens keep landing ~24h. |
| Slot 04 / 05 email revenue | $17,046 / $15,103 | $20,836 / $26,243 | same endpoint | settled | 1-day and same-day reads. |
| Pending sends | 2 (12 Oct, 14 Oct) | 0; sent 9 Oct and 13 Oct | campaign inventory | send_time read live | Calendar ran earlier than published. |
| Launch-day SMS waves | 2 (15:00, 19:00 UTC) | 3 (+23:03 UTC night wave, $9,198) | campaign inventory | — | Night wave did not exist at build time. |
| Launch-day Shopify product NET | $23,057.59 (19:44 UTC) / $25,520.88 (20:59 UTC), partial | $34,958.68 | Shopify orders, store-local day | Identity A holds on all orders | Complete day; the earlier reads were partial by design and said so. |
| Launch-day Shopify store GROSS / orders | $81,477.56 / 1,101 (20:59 UTC) | $140,752.44 / 1,791 | Shopify | same | Complete day. |
| Launch-day Klaviyo flow claim | $4,095 | $14,053 | flow-values-reports | — | Partial-day read on 8 Oct. |
| Coffee launch day vs prior launches (product) | “on track to land between Creatine and Nattokinase” | $34,959 product NET: between Creatine ($26,236) and Sleepy Cocoa ($38,821); 982 units: lowest of the seven | Shopify | — | Held on product revenue; on units the day was the smallest on record. |
| RunR7E members / subscribed / unsub | 1,078 / 995 / 83 | 1,386 / 1,203 / 182 | lists/RunR7E/profiles, 2026-10-20 | members = profiles swept = 1,386 | List kept filling through the launch phase. |
| Cohort revenue since joining | $15,389 / 215 orders | $38,563 / 552 orders | per-profile Placed Order events | — | Window now spans launch; events read from 15 Sep only. |
| Coffee blog comments / questions / answered | 100 / 19 / 6 | 100 / 19 / 6 | Hyvor init, 2026-10-20 | totals exact | Unchanged since 8 Oct; classifier identical. |
| Coffee ask-to-buy | 6.1% | 6.1% | same classifier | — | Unchanged. |
| Hub status rows disagreeing with ClickUp | 3 | 8 | ClickUp API + hub fetch | — | Worse: ClickUp moved on, the hub did not. |
| SMS credits for the arc | not measured | 3,101,387 ($31,014 rate card) | metric-aggregates on RPLmfe | per-campaign ledger | New on this build. |
| Juan’s dashboard $24,044.48 (8 Oct) | unreconciled | unreconciled | — | [DATA MISSING: dashboard metric definition and timestamp] | Sits between the two partial reads; cannot be matched to any column. |
What changed from the 8 October build
Every campaign number: the build had read launch day hours in and launch tomorrow one day in. Launch-day email $13,039 → $41,202, open 23.3% → 43.2%; slot 05 $15,103 → $26,243; slot 04 $17,046 → $20,836. Launch-day Shopify: partial day → complete day ($25,521 → $34,959 product NET). Arc total: $176.5K across 6 sends → $348,572 across 21.
Extended (9 Oct: email + 2 SMS), last chance (13 Oct: 2 email arms + 2 SMS), the launch-day night SMS, SMS credits per send, the Shopify reconciliation by window, product-level sales (units, customers, refunds, cancellations, price points, codes), launch-phase product actuals for Nattokinase and Black Seed Oil on the same definitions, the cohort’s purchases through the launch, ClickUp time logged, and the SMS link targets.
F14 “RPR fell on every send” → REVISED: fell through pre-launch, recovered from launch tomorrow, held through the close. F5 maturation “2.0×, n=1” → REVISED to four observations (1.2–3.2×). F18 open-rate “fall” → REVISED: the e-book dip only. F22 hub drift → CONFIRMED and worse. F20 unanswered questions → REVISED counts. The 5 October routing-audit claim that RunR7E received nothing → RESOLVED.
No order-level campaign/flow join (overlap untestable). No SMS invoice (API scope). No COGS, so no margin. Older launch days frozen from 8 October. Prior lifetime spend of the cohort frozen from 8 October. The founding page has no view count. Non-Shopify channel units unknown.
Blind spots and traps this report is exposed to
Structural blind spots
The hand-coded founding form fires no form event; the 241 Submitted Form events on that URL come from the pop-up and footer forms. 1,386 list joins, no views, no submit rate, no device split, no A/B for the one form the launch drove to. Fix: a Klaviyo embed, or Viewed Page + a custom submit metric from the hand-coded form.
Six conversion statistics rejected by form-values-reports; measured from the cohort instead.
Nothing of Nattokinase’s onsite layer survives. The coffee list membership is now snapshotted into this repo with join dates (lists.json in the pull set), which is the fix.
step_name populated on 0 of 14,421 events since 20 September.
Launch day read 8 Oct = 32% of settled; slot 05 at 1 day = 58%; slot 04 at 1 day = 82%; extended at 3 days = 82%. Rule: do not read a send before day 5; by day 7 it is done. The T+1/T+3/T+7 record-keeping is still not automated.
Coffee index: no open or revenue column. Black Seed Oil hub: “Awaiting send” 5 times, nine weeks on.
No coffee brief carries a deliverability block; no seed test is linked from the hub. Email delivery ran 99.80%–99.89% and spam complaints 466 in total, which is all this report can say about inbox placement.
Click rate reads 35–41% on all twelve SMS sends. Ranked on revenue per delivered only.
Three things this report wanted and the systems do not expose: which orders a campaign and a flow both claimed; the dollar invoice for the 3,101,387 SMS credits (the key lacks the billing scope); and unit cost on the product. Each is a [DATA MISSING] on the page rather than an estimate.
10Wins, failures and what to change before the next launch
Every finding carries its evidence and its status against the 8 October build. Severity is the triage.
What worked
Slot 01 returned $0.148 per recipient against a $0.141 median across 19 set-the-stage sends. $44,351 from one email, the arc’s best figure.
1,386 members, 15% new to the database, against 77 new profiles from 845 submissions on Black Seed Oil’s double opt-in page. The page is right; its instrumentation is still wrong.
The product announcement is the only coffee article that reached the 15% ask-to-buy target (6 of 39 sampled comments, 15%); the two blogs before it scored zero. Proximity to an offer moves acquisition.
30,884 words of brief against 7,991 on Black Seed Oil, 11 primary citations against none. The machinery that held “grass-fed” until the supplier cleared it.
Nine rows, nine tasks, nine done, 105.7 hours logged against them. Nattokinase had none; Black Seed Oil had revision tickets on 9 of 13 rows.
RunR7E was an included audience on all eight SMS from 7 October through the last-chance night wave. 1,333 of 1,386 members received a coffee send. It never got its own campaign, which is the one thing that would have made its value measurable.
982 units, $34,959 NET of coffee on 8 October: the lowest unit count of the seven launch days on record, carried to a mid-table dollar figure by the $35.96 price. Store NET $128,646, 2.72× the day before, above Black Seed Oil’s and Nattokinase’s launch days. Extended and last chance held the launch-day email rate ($0.143, $0.143). The arc’s shortfall was the pre-launch half.
$1,179 from 1,100 recent buyers on last chance, $1.076 per delivered. The rule “exclude recent buyers from the ask” now has a measured cost on one send instead of an assumption.
What did not work
Settled: $0.148 → $0.093 → $0.076 → $0.069 → $0.087 → $0.137 → $0.143 → $0.143. The first four fell on every send and all four are below the house median for their beat; from launch tomorrow the arc recovered and the three offer sends sit at $0.137–$0.143. The 8 October claim that the arc “decays into its own launch” was a mid-flight read of launch day at $0.043; settled it is $0.137. What remains true: the pre-launch half earned $115,926 from 1,202,860 deliveries ($0.096 per recipient) against Black Seed Oil’s $0.130 per recipient over its first four.
Launch day $0.137 against a 17-arc floor of $0.208; extended $0.143 against a floor of $0.150; last chance $0.143 against a median of $0.226. The launch-day email claimed 96% of Black Seed Oil’s dollars from 50% more recipients. Every email went to the same ~300,000 with the same 14 static suppressions; the one re-cut of the arc was the buyers exclusion on last chance. A per-arc engagement cut is still untested in this account.
Slots 01 and 02 linked to the hyphenated join the fight page whose form files to VdWm2S. Between them: 4 founding-list joins from 600,154 deliveries.
All three launch-day SMS waves ($23,027 of SMS-attributed GROSS that day) and the 9 October noon wave linked to /collections/bestsellers. The product page was the link only from the 9 October evening wave onward, and those later waves out-earned the earlier ones on every day.
S9vL6F and Ycgw8a went live 6 October, two weeks after the arc opened. The countdown converted at 14.3%; 1,202,860 deliveries went out before it existed.
Every email excluded the same 14 segments (15 on last chance); recipients held at ~300,000 on all nine sends. The open-rate “fall” cited on 8 October was the e-book slot mid-flight; settled, opens ran 40.2%–43.2% with the e-book at 35.5%. Black Seed Oil’s 68k drop was a geographic switch, not a trim, and is not evidence that trimming works.
The SMS said “it’s here”; the email went out as “Be prepared” / “Look at this”, and settled at $0.069 per recipient against a reveal-beat median of $0.158.
Sample size (4×), cocoa stacking (2×), sourcing (4×), pouch vs tub. Across three launches 13 of 71 questions got a reply. A SAMPLE code exists in Shopify and was used on 5 coffee orders; nobody said so in public.
Eight sends claimed $140,548 before a single unit could be bought (5 units sold before 8 October). Reporting that figure as launch revenue would overstate the product’s pre-launch effect by the whole amount.
Operational execution
Five of six prior launches put a buying action in front of the list in the fortnight before launch; coffee ran five value sends and opened at 50% off. Launch-day basket is similar across arcs ($70.67 vs $68.42 Black Seed Oil), so the variable is how many buy.
8 of 9 index rows disagree with ClickUp (all tasks done; hub prints revisions/to do), and the index still shows extended on 12 Oct and last chance on 14 Oct for sends that went out on 9 and 13 Oct. The retention hub’s live /api/clickup function is not wired here.
Extended three days early, last chance one day early, a third launch-day SMS wave, two extended waves, two last-chance waves and a buyers-only arm: six sends that existed nowhere in the plan, the hub or the 8 October report. The sends were right to run; the record of them was reconstructed from Klaviyo after the fact.
“Over 3,000 tubs gone” (13 Oct SMS) against 1,861 Shopify units by that day. Either another channel sold the rest or the number was invented; neither was checked before sending.
Unchanged: the 29 September blog carries the -1 handle, the 5 October announcement the clean one.
The page reads ?src=; no send set it. Confirmed against every SMS link in the 21 campaign definitions.
The five highest-priority changes for the next launch
R1 · Put a buying action in the arc before launch day, and cut the file for it
Because: The pre-launch half earned $0.096 per recipient against Black Seed Oil’s $0.130 and every launch beat sat below the house record because the same ~300k file was mailed nine times uncut.
The rule: A storewide qualifier or VIP tier 5–8 days before launch day, and from send 03 an engagement cut whose removed count is written on the brief. Judge on RPR and launch-day units at day 5.
R2 · The launch list gets its own launch-day send, first
Because: RunR7E (1,386 members) rode inside seven audiences on eight texts; its value is a cohort ceiling, never a measured cause.
The rule: Launch day is two sends: the founding list alone at open, the file afterwards. Then its conversion is a number.
R3 · Every link on launch day goes to the product page, with ?src= on it
Because: Three launch-day texts and the first extended wave linked to the bestsellers collection; no send carried a source parameter; two blog sends pointed at another programme’s page.
The rule: One checklist line per send: destination URL = PDP (or the launch page), ?src=slotNN appended, verified by clicking it before schedule.
R4 · Close the record as the arc runs: the hub reads ClickUp live and prints what shipped
Because: 8 of 9 status cells and 2 of 8 dates on the hub are wrong today; six sends exist that no plan recorded; a 3,000-unit claim went out unchecked.
The rule: Wire the retention hub’s /api/clickup into the launch hub; add each actual send (id, time, audience) to the index the day it goes; any number in copy is read from Shopify first.
R5 · Never read a send before day 5, and measure the product in Shopify, not the claim in Klaviyo
Because: The 8 October build printed launch day at $0.043 per recipient; settled it is $0.137. Attribution claimed 4.69× against $74,318 of product. Both errors reached a weekly review.
The rule: Retro runs at T+7 from the last send. Every revenue figure is labelled GROSS attributed or NET product, and the launch is judged on units and product NET first.
Also worth doing, cheaply
- Stand the countdown pop-up up with the arc, not two days before launch; it converted at 14.3%.
- Answer the sample-size question in public: the
SAMPLEcode already exists. - Say that the coffees stack. Two existing customers asked whether to stop the cocoa.
- Keep the later SMS wave and drop the noon one if a day runs two: the evening wave won on all three days.
- Reserve one article handle per send; two live articles still share a title.
11Method, sources and extraction timestamps
Builders in automation/analysis/launch-retro/: pulls/ (the five pull scripts), prep.py (derives findings.json), build_retro.py (renders this page). The 8 October builders and data are kept beside them as *_2026-10-08.*. Page source: reports/protein-coffee-launch-retro.html. All read-only; no campaign, list, profile or order was changed.
| Source | Call | Extracted (UTC) |
|---|---|---|
| Klaviyo campaign inventory | GET /api/campaigns, email + SMS, archived true and false, created since 2025-09-15, with messages | 2026-10-20 22:16:22 |
| Klaviyo campaign values | POST /api/campaign-values-reports, 20 ids per call, contains-any, Placed Order UNe8Uh, timeframe 2026-05-01 → 2026-10-20 | 2026-10-20 22:16:22 |
| SMS credits | POST /api/metric-aggregates on RPLmfe Relayed Text Message, filter equals($message, campaign id), by $usage_amount | 2026-10-20 22:16:22 |
| Flow values | POST /api/flow-values-reports grouped by flow, message, channel; five windows | 2026-10-20 22:41:05 |
| Lists | GET /api/lists/{id}/profiles with joined_group_at and subscriptions; counts via profile_count | 2026-10-20 22:41:05 |
| Forms | GET /api/forms + POST /api/form-values-reports, five windows | 2026-10-20 22:41:05 |
| Form events | GET /api/events metric SQ6hVr since 2026-09-20 | 2026-10-20 22:41:05 |
| Cohort sweep | GET /api/events per RunR7E profile since 2026-09-15, metric names joined | 2026-10-20 23:07:54 |
| Shopify orders | REST 2024-10 orders.json, status any, four windows, full pagination; store-local days via America/New_York | 2026-10-20 22:42:52 |
| Hyvor comments | POST talk.hyvor.com/api/embed/v3/13896/init per article id | 2026-10-20 |
| ClickUp | GET /api/v2/task/{id}, comments, time entries; list pulls for coffee tasks | 2026-10-20 22:14:29 |
| Hubs and reference pages | Fetched with cache-busting; slot pages followed through cleanUrls redirects | 2026-10-20 |
| Older launch days, house benchmarks | Carried from findings_2026-10-08.json (launch days audited 2026-10-08; benchmarks read 2026-09-02) | 2026-10-08 |
Formulas
- RPR = Klaviyo
revenue_per_recipient= attributed GROSS ÷ delivered (verified: every row cross-foots). - CVR = attributed orders ÷ delivered.
- Store GROSS = Σ
total_price; store NET = Σ (line price × qty) −total_discounts− refund line items (ex tax); coffee NET = Σ coffee line price × qty − itsdiscount_allocations. - Identity A: line revenue − order discounts + tax + shipping =
total_price, per order. Identity B:total_price− refund lines incl. tax − adjustments =current_total_price. - New customer = customer record created within 24 h of the order.
- Credits = Σ
$usage_amount× count on Relayed Text Message events whose$messageis the campaign id, in a window from the day before to three days after the send. - Ask-to-buy = sampled non-brand comments matching the purchase-intent pattern ÷ sampled non-brand comments; question = top-level comment containing “?”; answered = has a reply.
- Opt-ins per 1,000 = RunR7E joins on the send date ÷ email delivered × 1,000.
Companion reports
- Launch history — 17 arcs, the per-beat benchmark map.
- Launch blog engagement KPIs
- Opt-in routing audit
- SMS reachability — the 8,207 consented-but-unreachable finding.
- SMS credit audit — where the credit ledger method comes from.
- Protein Coffee launch hub · Black Seed Oil briefs hub