Message match: Partial. Ads and page share the stale-shelf problem and the espresso-at-home promise, but the ads' story hooks never appear on the page, and two ads promise 50% off the first bag or order where the page offers the first bag free with two bags.
| creatives | 20 ads in the input (34 in the pull), 19 distinct creatives: rank 10 is the same script as rank 6 re-cut; ranks 11 and 12 share one body script under different spoken hooks |
| formats | Product demonstration 6, other 4, UGC talking head 3, Us vs them 2, Lifestyle 2, Mashup 1, Grid static 1, Native / low-fi 1 (12 videos, 8 carousels) |
| hooks | Contrarian 11, Curiosity 4, Problem 2, Story 1, Outcome 1, Question 1 |
| angles | 6 distinct: Unique mechanism 10, Pain avoidance 4, Identity 2, Novelty 2, Status 1, Desired outcome 1 |
| proof | Press 3, Authority 3, Statistics 2, Demonstration 2; 12 ads carry no labelled proof |
A portfolio on one persona, the home espresso drinker, with ten of twenty ads on the same mechanism: roasted after you order. The openings are what vary: "I spent $650 on an espresso machine just to hate my coffee.", "My barista told me this secret.", "I made espresso for an Italian couple. I still cringe thinking about the reaction." and "Wait, there's no such thing as espresso beans?" Every ad runs under the same headline family, "Why I'm giving up "Big Espresso" in 2026", so the eleven Contrarian hooks mostly rest on that shared line rather than on different creative openings.
Proof (100,000+ customers, press names) and the stale-shelf problem all land before the first offer mid-page, then a cause section sits between that offer and the closing offer box with the guarantee. The page opens on Nicaragua soil rather than on any of the ads' first-person hooks, so the ad's pattern only returns at the shelf-life paragraph.