TL;DR
- Angle D moves up: from flagship-contingent to the highest-conviction lane (§1, §2, §9).
- A vs B is untestable from history — zero campaigns ever used either framing; the launch itself is the A/B (§9).
- Our money math is protein-per-dollar, never per-cup — we're premium per serving (§7).
- Timing is real: Everyday Dose entered protein coffee days before the pull; Starbucks mainstreamed the category (§6).
- Copy killers on file: no drug names, no "lactose-free", no "nothing artificial", 24g not 22g (§8).
1 · Angle scoreboard — the four angles vs. the data
A · Ancestral Fuel whitespace confirmed
- 8% ad share in the proffee ring; 32% in the beef ring — imported voice, empty in-category.
- Identity terms ("beef protein coffee") = zero search volume. "Ancestral" is the story; beef protein is the demand (27,916/mo cluster) — label brief §1.
- In-market receipts: Equip "ancestral health goals" (125d), Ancient + Brave (204d), ape_nutrition heritage flat-lays (median 307d).
- Never tested on our list. Gate: grass-fed substantiation before on-pack.
B · Clean Energy, No Crash table stakes
- 2nd-biggest census theme (22–23%), 89d median persistence — proven demand, crowded voice.
- The upgrade masters' core: RYZE/Everyday Dose evergreens run 176–280d; "Tired of the coffee crash? I was too. At 40…" (Not Coffee, 377d active).
- Never tested on our list. Role: the daily payoff under A, not the spine.
C · Protein Your Gut Won't Fight evergreen proof
- The beef ring's forever-ad: ape_nutrition's bloat hook at 423–486 days; Carnivor's whole account is the whey-switch (300d); Onyst 386d; Lean Lattes 411d active.
- VOC: "doesn't make me feel bloated…like whey protein does" (AN reviews).
- On our list: opens +0.35pp but fatigued — last 3 BSO sends −0.31 to −0.34pp CTR. Weave it; don't build an 8-send spine on it.
- Gate: "no whey, no bloat" ✅ — "lactose-free/dairy-free" ⛔ (buttermilk).
D · Defend the Muscle (GLP-1 era) highest conviction claim-gated
- 1% share inside proffee vs 91d median persistence corpus-wide — under-supplied and durable.
- "20–50% of Ozempic loss is muscle" ads run 200–415d across 4+ advertisers; Javvy already fields a GLP-1 hook.
- The proffee buyer is this person: densest Reddit chatter in r/Zepbound, r/mounjarouk, r/gastricsleeve; GLP-1 use ~11% of US adults (PDG).
- Proven on our list: best rev/recipient ($0.189); full-list D promos = only above-median CTR cell (+0.20pp).
- Gate: never name the drugs; muscle claims wait on the amino profile (§8).
2 · Ad census — Sep 2026, 280 unique ads
7 keyword corpora scraped from the Meta Ad Library (US, Sep 2) → 280 unique after dedupe. Multi-label coding, same style as the July 244-creative baseline — shares sum >100%. Hover any bar for n + persistence.
- Structure confirmed: taste + energy dominate; ancestral (8%) and GLP-1 (1%) stay near-empty in-category.
- Ring texture: upgrade masters (mushroom, n=40) run taste 80% / energy 72% / convenience 62% simultaneously; beef ring = ancestral 32% / gut 30%; bone-broth ring = ancestral 50% / taste 36%; problem-led feeds = GLP-1 42%.
3 · Hooks & phrasings — the swipe library
Competitor language with persistence receipts + real customer phrasings. Green = competitor ad copy (quoted as theirs). Blue = customer verbatim. Gate = can our copy run this mechanism (per §8)?
Rework: we're premium per-cup ($2.50 vs Javvy $2.00) — our math is protein-per-dollar ($1.04/10g vs their $2.00, §7) or the Starbucks comparison. Never a per-cup price war.
Gate: "no whey, no bloat" ✅ approved. "Lactose-free"/"dairy-free" ⛔ (buttermilk, ~1g lactose) — the one part of Carnivor's play we can't copy.
Why blocked as-is: every competitor line names the drug — for us that's drug-interaction framing. Compliant frame: appetite / satiety / "supports muscle maintenance during calorie restriction" — and muscle language additionally waits on the amino gate (§8).
Gate: pure BFS voice and confirmed whitespace — but "grass-fed" needs substantiation docs before on-pack, and A carries identity, not SEO (§4).
4 · Keywords — where the demand actually is
Monthly US Amazon exact-match (Jungle Scout pulls, Apr + Jul 2026; later verified pulls supersede proposal estimates). Red = our lane; gray = reference/moat.
- The fight is with Javy (~200k+/mo brand cluster), not Premier/Alani — comparison traffic beats a generic land-grab. Don't fight the 116k head term in month 1 (6–9 months to rank).
- The beef-protein cluster (27,916/mo) is our demand pool — and it has no coffee option in it. Amazon title targets: "protein coffee powder" (19,086) + "coffee protein powder" (15,894); lead format modifier: "protein iced coffee" (3,843, flagged GAP).
- GLP-1 demand verified: ~2,200/mo across "protein shakes for glp1 users" + "glp1 protein powder".
- Bone broth (50,668/mo) is a trap as identity — Paleovalley alone pulls 25,745 branded searches; backend + bullets only. Our mocha catches "bone broth hot chocolate" (4,222).
5 · Imagery — what 63 coded creatives say








- Faces outlast everything — the corpus's 3 oldest ads (1,564d / 782d / 659d) are all talking heads; two wear medical dress. Authority-coded faces > plain faces.
- Two visual economies, no middle: phone-shot UGC / real-moment photography, or a fully designed price-card (bag + benefit headline + slashed price). Pretty lifestyle photo + paragraph of copy is absent from the top of the ranking.
- Problem-led ads never lead with the pack — 16 of 18 in the bloat/GLP-1 ring open on a plate or a face + one curiosity line.
- Text restraint wins: zero-overlay images median 219d vs 169d with caption bars.
- Zero photographic before/afters anywhere. Transformation is sold in words over product/face imagery; RYZE's line-art silhouette is the only compliant body visual (175d).
6 · The competitor machine
Javvy — the discount-drop machine
- 65%-off limited flavor every ~2 weeks; 3–5 day NEW → LAST CALL arc.
- 6.8 emails/week, every send duplicated across two domains.
- Manufactured demand proof: "You email us. You DM us. Some of you have actual calendar reminders set."
- Satellite advertorial pages ("Best Coffee Recipes" quiz ad, 474d — the category's oldest live ad).
Chike — the no-discount tease
- 27 of 40 archive emails carry no promotion; urgency comes from dated early access ("Be the first to shop on March 26th", "returns 8/18").
- Retail-sighting emails (Whole Foods, Sprouts) + trust badges every send (20g protein, "Loved by 2,500,000+").
- 429-day evergreen ad; 1,024-day TikTok ad still running.
Tactics worth testing — what other brands actually do
Mechanics observed in the census and brand pulls, scored for whether we should run one in this campaign. "Steal" = run it as-is. "Adapt" = the mechanic works, our version differs. "Skip" = proven for them, wrong for us.
| Tactic | Who runs it | The receipt | Verdict for our launch |
|---|---|---|---|
| Symptom-specific landing pages — one page per complaint (/cortisol, /gut-health, /adhd) instead of one PDP | Everyday Dose | Their core PDP runs 79 days / 864 ad usages; the symptom pages carry another 500+ between them | steal Build 2: one "protein when appetite is low," one "protein that won't bloat you." Cheap, and it splits our two strongest angles cleanly |
| Question-form objection hooks — "Will it make you feel wired and jittery?" | Everyday Dose | Top hook in their rotation | steal Ours writes itself: "Will it taste like beef?" — the objection our VOC says every buyer has |
| One evergreen master copy under many creatives | RYZE, Everyday Dose | RYZE's master copy fills 9 of its top 10 slots (147–213 days); ED's runs 280d | steal Write one paragraph that never changes, rotate the creative around it. Cuts creative cost and is how both mushroom brands scale |
| Negation / reverse-psychology hook — "Do not buy Rise Mushroom Coffee." | RYZE | Repeat-used hook in their live set | adapt Test one variant only ("Don't buy this coffee if you like your mornings empty") — on-brand ceiling is low, curiosity is high |
| Usage prescription — tell them exactly what to put it in | Paleovalley ("chocolate in your coffee, vanilla in your smoothie") | 411-day BOGO evergreen; the bone-broth ring's #1 seller | steal Inverse for us: we ARE the coffee. Prescribe the ritual — hot, iced, with what, at what hour |
| Dated early access, near-zero discounting | Chike (27 of 40 archive emails carry no promo) | 429-day evergreen ad; 1,024-day TikTok ad still live | steal Already in our reveal: "it opens Friday." Cheapest urgency there is and it protects margin |
| Trust badges on every send — "20g protein · Loved by 2,500,000+" | Chike | Present in every archived email | adapt We have no review count yet. Ship the spec strip (24g · no whey · 14 servings) now, add social proof after launch |
| Flavor-drop cadence — a new limited flavor every ~2 weeks at 65% off | Javvy | 6.8 emails/week; NEW→LAST CALL in 3–5 days, on repeat | skip now Needs a flavor pipeline we don't have. Note it as the 2027 retention engine |
| Satellite advertorial page — ads run from a non-brand page ("Best Coffee Recipes" quiz) | Javvy | 474 days — the oldest live ad in the entire category | adapt Paid-media play, not email. Hand to the ads team: a quiz/advertorial front door outlives brand-page creative by design |
| Fake-mistake / apology sale hooks — "Someone at Everyday Dose is definitely getting fired for this" | Everyday Dose, RYZE ("WE LIED (SORRY.)" text card, 150d) | Live in both rotations | skip Apology framing cost us 18 deliverability points, and manufactured mistakes fail our own-tests rule |
| "Did you buy off Amazon?" win-back | Everyday Dose | Live hook in their set | adapt Not for launch — but a real post-launch play once we're on Amazon |
| GLP-1 trend-jack — muscle-loss framing aimed at the appetite-suppressed buyer | Equip (×4 variants), plus a 200–415-day ring across 4+ advertisers | The most persistent angle in the whole census | steal, reworded Our highest-conviction lane — but never name a drug (§8). "Protein when appetite is low" carries it |
| FSA/HSA pre-tax reframe — "use tax-free dollars, save 30–40%" | Naked Nutrition (×4) | Underused by everyone else in the category | adapt Worth a single test send post-launch; sidesteps discount-war optics entirely |
| Creator army over hero spot — 300+ affiliate creators, zero AI creative | Paleovalley (311 creators), Naked (~35 whitelisted) | Category leaders on TikTok Shop; real faces everywhere | steal Faces outlast packs (202d vs 183d median). Brief creators before launch, not after |
| Free-gift choice mechanic — "choose your free gifts / reveal your mystery gift" | RYZE, BUBS, Ancient Nutrition | Standing mechanic across all three programs | adapt Candidate for the arc's missing Beat 4 (hidden benefits) — a gift before the ask, which our calendar currently has no slot for |
| Deep discount to a tiny qualified list | Us, three launches running | $1.90–$3.94 per recipient (vs $0.29 median launch day) | steal from ourselves The single highest-ROI mechanic in our own record, and the offer-depth decision should include it |
7 · Price position — the honest math
| Product | $/serving | Protein | $/10g | Caffeine | Source |
|---|---|---|---|---|---|
| Ancestral Coffee (ours, planned) | $2.50 | 24g | $1.04 | ~120mg | R1 sheet |
| Javvy Protein Coffee | $2.00 | 10g | $2.00 | 80mg | PDP |
| Everyday Dose Protein Coffee+ | $2.00 | 10g whey | $2.00 | 90mg | PDP |
| Chike High Protein Iced Coffee | $3.21 | 20g | $1.61 | 150mg | PDP |
| Super Coffee Protein+ RTD | $3.08 | 25g | $1.23 | 80mg | PDP |
| RYZE Mushroom Coffee | $1.50 | 0g | n/a | ~48mg | PDP |
| Paleovalley Bone Broth Protein | $2.00 | 13–15g | $1.43 | 0 | PDP |
| Equip Prime Protein | $2.13 | 21g | $1.02 | 0* | PDP |
| MuscleMeds Carnivor Coffee 4lb | $1.16 | 23g | $0.50 | 160mg | M&S |
| Within You Steak Shake | $2.30 | 27g | $0.85 | n/s | PDP |
Read: premium per-cup, near-best per-protein among coffee products. Only the two beef products undercut us — Carnivor (no social proof, "harsh/meaty" complaints, creatine baggage) and Steak Shake (not a coffee). The defensible money story: most protein per dollar of any real coffee. *Equip's Iced Coffee flavor caffeine unstated.
The product — R1 formula (label-facing)
The locked "Proffee Makila R1" composition the research serves. Mocha protein coffee · 38.45g serving × 14 servings · ~24g protein · ~120mg caffeine · $34.95. Sourcing and costs withheld (internal). Every claim implication lives in §8.
| Ingredient | Per serving | Role |
|---|---|---|
| Beef protein isolate (grass-fed*, ~90%) | 20 g | The protein workhorse (~18g protein) — amino-profile gate open (§8) |
| Beef bone broth protein concentrate (~90%) | 5.28 g | The heritage line (~4.8g, collagen-type) |
| Buttermilk powder | 3 g | Creaminess · Contains: Milk (~0.9g complete protein) |
| Freeze-dried Robusta coffee | 2.7 g | Real coffee — ~120mg caffeine combined; Robusta taste test pending |
| Instant coffee (spray-dried) | 0.5 g | |
| Allulose | 2 g | Sweetness system — panel-truthful line: "1g added sugar." Sucralose bans every "nothing artificial" claim (§8) |
| Lucuma powder | 1 g | |
| Cane sugar | 1 g | |
| Sucralose | 0.02 g | |
| Stevia (Reb M) | 0.02 g | |
| Cocoa powder (natural) | 1 g | Mocha flavor only — no functional claim |
| Sunflower lecithin | 0.6 g | Mix + taste system: "mixes smooth, no frother"; bitter-blocker smooths the Robusta edge; vitamin C ≈50mg (>50% DV) |
| Vanilla extract powder | 0.5 g | |
| Natural bitter-blocker | 0.4 g | |
| Himalayan pink salt | 0.3 g | |
| Xanthan gum · Vitamin C | 0.08 · 0.05 g | |
| Total | 38.45 g | × 14 servings = 538.3g pouch |
- Truthful absence claims: no whey, no soy, no seed oils. Not dairy-free (buttermilk), not "all-natural" (sucralose).
- *"Grass-fed" awaits substantiation docs before on-pack (§8).
- Open formula gates: amino-acid profile (pivotal) · Prop 65 assays · blind taste test on the Robusta base.
8 · Claim gates — what copy may and may not say
✅ Approved (label brief, Jul 31 2026)
- Lead claim: "24g of grass-fed beef & bone broth protein to support steady energy, satiety, and gut & joint health — no whey, no bloat."
- Approved support lines exist verbatim in the brief ("Real coffee. Real beef protein. One cup." / "Protein your stomach won't fight." / "Mixes smooth. No frother, no clumps." / "Rich mocha, not meaty." / "Clean energy. No crash.").
- Truthful absence claims: no whey, no soy, no seed oils.
- GLP-1-adjacent safe phrasing: "supports muscle maintenance during calorie restriction"; joints only as support/maintain.
- Use 24g everywhere — July's 22–23g figures are superseded.
- FDA disclaimer mandatory on all ads, PDPs, creator briefs.
⛔ Banned / gated
- "Builds muscle" / "complete protein" / "all nine essential amino acids" — amino-profile question still open
- Naming GLP-1 drugs in product context (drug-interaction framing) — every competitor hook in §3-M3 is the unsafe version
- "Dairy-free" / "lactose-free" (buttermilk, ~1g lactose)
- "No artificial sweeteners" / "nothing artificial" / "clean ingredients" — sucralose + 1g cane sugar; honest line = the panel's "1g added sugar"
- "Gluten-free" (unsubstantiated) · "keto"/"carnivore approved" as certified · any disease claim · "Carnivor(e)" naming (trademark) · branded-commodity ingredients
- Open gates before copy locks: PDCAAS counsel ruling for front-of-pack "24 G" · amino-acid profile · grass-fed docs · Prop 65 assays · blind taste test (Robusta)
9 · Our list — 12 months of Klaviyo evidence
Full send-by-send launch history — every arc since Longevity Coffee, with the hosted emails and blog links: bfs-launch-history.vercel.app. Summary: 596 campaigns pulled (Sep '25–Aug '26); baseline = 128 mature sends ≥10k delivered (median open 43.2%, CTR 0.90%); 58 coffee-adjacent sends classified. Email only, aggregates only.
- D is the house's proven play — CTR parity at 40-send scale, best revenue, only above-median promo cell (+0.20pp).
- C spikes then fatigues — BSO's last three sends ran −0.31 to −0.34pp. Weave gut in; don't build a long spine on it.
- Product-as-hero was the weakest tested frame (Sleepy Cocoa content −0.23pp) — the angle must carry the coffee, not vice versa.
10 · Open items & owned-research inventory
- Formula gates (carry-over): amino-acid profile (pivotal) · PDCAAS ruling · grass-fed docs · Prop 65 assays · blind taste test · bone-broth vendor/PO still open on the R1 sheet.
- July's 3 draft hooks exist (proposal §12.2 — ancestral / problem-reframe / anti-whey) but carry the superseded 22g and predate the sucralose + GLP-1 gates — raw material, not approved copy.
- Portfolio decision on record: 4 overlapping coffee proposals; recommendation = Ancestral Coffee + creamer as SKU #2 (~90 days later); formally kill/merge "Proffee" and collagen-coffee. Creamer doesn't cannibalize; a beef-based creamer variant would.
- VOC thinnest for Carnivor Coffee (hosts block scraping; Reddit empty — itself a finding); Ancient Nutrition's Café Mocha appears gone from DTC.
- Deliberately out of scope: campaign copy, E1–E7 mapping, and the send calendar (separate doc, kept research-free).
11 · Method & sources
| Lane | What ran | Where the receipts live |
|---|---|---|
| Meta census | 7 keyword scrapes (public Ad Library, US, Sep 2) → 280 unique; multi-label coding + ring segmentation; top-24 dashboard in ads-system | census.json · merged-corpus.json · swipe gallery |
| TrendTrack | 8 brand programs, 7 sweeps, 6 email archives, demography, TikTok library — 924 of 1,500 budgeted credits (4,762 remain this month) | trendtrack/findings.md + 70 JSON pulls |
| Klaviyo (ours) | 596 campaigns pulled, 128 baselined, 58 classified; A/B variations summed; SMS excluded (bot clicks) | klaviyo/resonance.md · campaigns.json |
| Imagery | 63 creatives individually viewed, coded on 5 dimensions | meta/imagery.md + exemplar refs |
| Web VOC/pricing | Review themes ×4 brands · 10-product price table · demand press scan · 17 customer verbatims | web/voc-pricing.md — every row carries its URL |
| Owned research | product-dev-bot extraction: July 244-ad baseline, keyword intelligence, label-brief claims + hero direction, beef/broth strategy reports, USP doc (whey-concept caveats flagged), creamer cannibalization | mining/ — 9 files, cited to repo paths |
Completeness gates met: 280 ads (≥150) · 112 ≥90d (≥40) · 63 creatives (≥60) · 8+ hooks per Tier-1 brand except Chike (hooks endpoint empty — covered via top-ads + 40 emails) · 200 competitor emails (≥10/brand) · 30+ keywords · 58 own campaigns (≥10). Known limits: census = substring triggers (rank order comparable to July, not point deltas) · keyword corpora include feed noise (Other = 35%) · TrendTrack has no performance metrics (persistence is the proxy) · videos coded by thumbnail · Javvy demography is EU/UK reach only. Key external sources: CNBC · Starbucks · Fortune BI · GlobalData · Food Institute · Perfect Daily Grind · Trustpilot · RedditRecs.














