WiO SmartFoods, food PDP template family, 2026-09-02

Three directions, one page job

Three whole product pages were built independently for WiO Creamy Peanut Butter. Each one is a complete page, not a variant of the others. They were reviewed as a stranger would meet them: rendered at real device geometry, measured out of the DOM, and judged against one job. Pick one, or pick a base and tell me what to graft onto it.

The job: sell one jar to cold paid-Meta traffic arriving on a phone, with desktop secondary.

What differs: not the fold. All three put a purchase control in the first screen at both viewports, at 84 to 86 percent of screen width, so ruling 1 is satisfied by all three. What differs is what each fold spends its room on, and what happens across the other five to ten screens. A leads with the product, B leads with credibility, C leads with the founder.


Direction A, product-led

Verdict: FIT

A shopper who taps a peanut butter ad already wants peanut butter, so the first screen spends itself on being obviously the right jar: the product at full screen width, who it is, what it costs, one honest proof number, and a button big enough to be the only thing worth pressing. Everything below answers a decision that has already started forming, in the order a forming decision asks for it.

Direction A first screen rendered at 390 pixels wide
First screen, 390 by 796, at rest. Jar at 390 by 257, rating in frame, both prices, button bottom edge at 571.5, guarantee at 642 to 661, four trust facts, companion trigger. At 360 by 660 everything through the guarantee is still on screen.
Direction A first screen rendered at 1280 pixels wide
Desktop, 1280 by 900. Hero 636 by 430 with a three-frame thumb row, buy card complete inside one screen.
Direction A whole page rendered at 390 pixels wide
Whole page at 390, scroll the frame. 4,893 pixels, the shortest of the three. Order: buy card, macros, taste photography, two panels, ingredients, founder, reviews, questions, guarantee, more from WiO.

Top three findings

  • P1The primary add-to-cart is filled with the rust identity colour. Brand canon reserves green ink as the only button fill and bars rust as a button fill. Measured in source at index.html line 103. Contrast is fine at 7.37 to 1 white on rust; the cost is systemic, because rust is the identity colour and green ink is the action colour. B is the only direction that gets this right today. Post-review update (2026-09-02, later): the button is now green_ink on the deployed mockup, with green_ink_deep on hover and the dual-panel border also moved to green_ink, per canon (Storefront Design Studio commit 776c590). Brand Studio's re-audit verdict: A = PASS. The first-screen captures on this card still show the pre-fix rust fill.
  • P2The ingredient statement is collapsed behind a disclosure, and so is the founder story. Seven disclosures page-wide. For a diet-adjacent food bought by a stranger, what is in it and who made it are two of the top three objections. C renders both open.
  • P3The buy card's top edge slices the red brand band on the jar mid-word in the mobile hero. Visible at both 360 and 390. It reads as a clipped photograph rather than an intentional macro. Resolves itself if the printed nutrition row is allowed.

Borrow this

  • The taste band: two full-width captioned food photographs as their own section. The strongest single argument in the set that a low-carb spread is not a compromise.
  • The four-frame gallery, the only real one across the three.
  • The page economy. 4,893 pixels against 5,776 and 6,766.

Shopify buildability and media

Buildability
Closest to a reskin. Nearly every interactive mechanic (subscribe toggle minus cadence values, companion drawer, dual-panel nutrition device, guarantee, cross-sells, sticky bar) is a re-implementation of plumbing that already exists and works in wio-rd-pdp.liquid. Two genuinely new sections (taste-photo band, founder/credibility band). One shared defect (see below).
Media
All 12 images are real WiO product photos, but 7 of 10 product shots are hand-cropped derivatives that do not exist in Shopify's media library today. No upscaling found.
Port effort
About 1.5 to 2 developer-days.

Quoted from the theme audit executive summary, wiodiet-shopify-theme qa/pdp-buildability-2026-09-02/REPORT.md. The only edits are punctuation, per the house no-em-dash rule.

Open the Direction A mockup


Direction B, proof-led

Verdict: NEARLY FIT

Cold traffic is not deciding whether it understands the product, it is deciding whether WiO is a real company worth 13.79 dollars of risk, and it decides in the first screen or not at all. So credibility is composed into the purchase control rather than beneath it, and because a low-carb food carries a strong prior that it tastes like a compromise, the page opens on food rather than on packaging.

Direction B first screen rendered at 390 pixels wide
First screen, 390 by 796, at rest. Food hero at 390 by 140, name, descriptor, four macros, then a proof rail carrying every brand-level figure pressed against the buy card, both prices, green button, savings line, guarantee inside the same card. The densest argument of the three.
Direction B first screen rendered at 1280 pixels wide
Desktop, 1280 by 900. Food hero 522 by 452 with a three-thumb rail, proof rail and complete buy card inside one screen.
Direction B whole page rendered at 390 pixels wide
Whole page at 390, scroll the frame. 5,776 pixels. Order: buy card, customer proof, four reason cards, two panels, ingredients, founder, questions, guarantee close with a second button, more from WiO.

Top three findings

  • P1Two add-to-cart controls sit on screen together for roughly 800 pixels of scroll. The sticky bar is gated on the main button only, so it stays up when the closing button arrives. Measured at 390 by 796 with an asynchronous sweep: 7 of 49 sampled offsets violate the invariant, first at document y 3960. At y 4200 the closing button sits at viewport top 458 to 510 at 137 pixels wide, and the sticky button at 740 to 788 at 110 pixels wide. A synchronous sweep reports a pass here, which is why one was not used. C ships the fix: one observer watching both controls.
  • P1The footer logo renders 96 by 180 from a 360 by 180 source, a 3.75 times horizontal squash of the wordmark, in the full-colour variant on a rust ground where the burgundy word nearly disappears. Computed style on the footer image is width 96px, height 180px, object-fit fill, natural width 360. Canon places the real file unaltered and uses the reverse variant on dark anchor bands.
  • P2The jar never renders at a size a shopper can read. Its one appearance is at document y 3314 of 5,776, in a 326 by 170 box where the jar itself measures about 177 by 170. On desktop it is a 78 by 78 thumb. This is the honest price of B's thesis, and B's own rationale says so. Worth deciding on rather than discovering after launch.

Borrow this

  • The proof rail: every brand-level figure WiO owns, in 51 pixels, touching the top edge of the buy card. Cheapest large upgrade available to A and C.
  • The state-invariant options row. Measured with the subscribe radio actually checked, the button sits at 576 to 630 in every state at every width, unchanged to the pixel. Switching plan never moves the fold.
  • The green-ink button fill, which is the only canon-correct one across the three.

Shopify buildability and media

Buildability
Reuses the dual-panel device, guarantee band, cross-sell pattern, and (correctly) the current companion-drawer architecture. Needs 4 new sections (fold macro strip, proof rail, taste band, proof/testimonial band) plus curated content that doesn't exist as a metafield today (curated ingredient sentence, per-product founder story, sourced testimonial quotes).
Media
14 images, all real photos, but the hero (spread.jpg) is unconfirmed as an existing featured_media: may need new photography, not just a crop. No upscaling found. One dead-weight asset (texture-sq.jpg, non-interactive desktop-only thumb).
Port effort
About 4 to 5 developer-days, gated on 3 open data decisions.

Quoted from the theme audit executive summary, wiodiet-shopify-theme qa/pdp-buildability-2026-09-02/REPORT.md. The only edits are punctuation, per the house no-em-dash rule.

Open the Direction B mockup


Direction C, story-led

Verdict: NEARLY FIT

The reason to buy this jar is not that it is peanut butter, it is that a food scientist set out to rebuild a specific childhood food and will tell you why in his own voice. So the founder's opening line rides inside the buy card above the price, and the page below is that argument in order, typeset rather than hidden behind a disclosure.

Direction C first screen rendered at 390 pixels wide
First screen, 390 by 796, at rest. Jar at 390 by 171.6, rating line, name, then the founder sentence in the serif with his byline, both prices, button bottom edge at 504.7, the roomiest fold of the three at 155 pixels clear of the conservative line.
Direction C first screen rendered at 1280 pixels wide
Desktop, 1280 by 900. Single hero at 648 by 534 with no thumb rail and no gallery, which is a capability regression against the shipped template and is flagged by C's own rationale as its first test.
Direction C whole page rendered at 390 pixels wide
Whole page at 390, scroll the frame. 6,766 pixels, about 10.5 phone screens. Order: buy card, macros, two panels as the centrepiece at screen two, taste, the founder story in full with the flavour picker attached to it, ingredients, reviews, questions, guarantee, a second real purchase module, more from WiO.

Top three findings

  • P1The founder sentence in the first screen ends in an ellipsis with no continuation link. Nothing sits between it and the byline; the story itself is 2,500 pixels below. A and B carry the identical sentence with a read-more link directly beneath it. As rendered here the direction's whole bet lands as unfinished copy: the shopper meets half a person and is not told a story exists.
  • P1The primary add-to-cart is filled with the rust identity colour, the same canon conflict as A. Measured in source at index.html line 88. Settle this once across all three, not inside one of them. Until it is settled, no button-level comparison between the directions is fair. Post-review update (2026-09-02, later): the button is now green_ink on the deployed mockup, with green_ink_deep on hover and the dual-panel border also moved to green_ink, per canon (Storefront Design Studio commit 776c590). Brand Studio's re-audit verdict: C = NEARLY FIT, with F4 (calories-before-carbs macro order) still open, plus three medium items. The first-screen captures on this card still show the pre-fix rust fill.
  • P2The guarantee crosses the conservative 660 line at 360 width, at 654 to 673, contradicting the deliverable's own stated claim that everything through the guarantee is on screen at rest. At 390 it is inside, at 612.9 to 631.9. In the subscribe state at 360 it lands at 707 to 726. About 15 pixels would fix it; the quantity row is the cheapest candidate.

Also flagged, and it belongs to Jason rather than to me: C is the only direction that promotes both of the family's two flagged phrases into the first screen, an uncited study reference and the metabolic phrase the copy pack itself marked for review. A places the same sentence about 2,900 pixels down and B ships the approved alternate instead. The strings are approved; the position is a design decision, and it converts a below-fold risk into the page's opening claim on a paid-Meta destination.

Borrow this

  • The sticky-bar gate: one observer watching both in-flow buttons, so the bar shows only when both are fully off screen. Measured clean across all 6,766 pixels, and it is exactly the fix B needs.
  • The ingredients band, rendered open with the allergen statement and the free-from grid, instead of hidden behind a disclosure.
  • The closing purchase module, so the argument ends at a button rather than at a cross-sell.
  • The pack frame at 362 by 389, the best jar shot on any of the three pages.

Shopify buildability and media

Buildability
Same reused core (macros, dual-panel, guarantee, companions, ingredients) but layers on the heaviest bespoke content: a full first-person founder essay plus 2-photo taste band plus a second full buy box plus a custom sticky bar. The founder essay is explicitly not a template: it's a one-off piece of writing specific to peanut butter's origin story that would need independent authorship for every SKU.
Media
8 image files. One image (board.webp) has a confirmed upscale risk at desktop widths of 1024 to 1280px (rendered width can exceed its 1000px intrinsic width). Hero also flagged as a possible desktop upscale, needs live-render check.
Port effort
About 5 to 5.5 developer-days, plus an open-ended content-authoring workstream for the founder essay.

Quoted from the theme audit executive summary, wiodiet-shopify-theme qa/pdp-buildability-2026-09-02/REPORT.md. The only edits are punctuation, per the house no-em-dash rule.

Open the Direction C mockup


The three first screens, side by side

Same device, same moment, same scroll position: 390 by 796, at rest, one-time preselected, captured on a fresh page at scroll zero. This is what a stranger from a Meta ad actually sees.

Direction A first screen, side by side comparison
A, product-ledLeads with the jar at full screen width. Button bottom edge 571.5, guarantee inside the conservative line at both widths. Largest product frame in the set.
Direction B first screen, side by side comparison
B, proof-ledLeads with the food and the proof rail. Button bottom edge 629.5, guarantee 35 pixels past the conservative line but 84 pixels clear on Joel's phone. Densest argument, no jar.
Direction C first screen, side by side comparison
C, story-ledLeads with a person. Button bottom edge 504.7, the roomiest fold. Spends 127 pixels on a founder sentence that currently does not finish.

Settle these once, across all three

Shared by every direction, so none of them should be scored up or down for it. All of these are yours or Jason's.

  • The jar's printed nutrition row. A and C both cropped above it under a strict reading, so no frame on either page shows the jar's full height. If you allow the printed row, A gains most and gains for free: one asset swap, no layout change, no copy change, and it fixes the sliced brand band. C gains less, because its hero is only 171.6 pixels tall and a whole jar inside that frame would need the hero to grow, which costs fold. B gains least on the page, but allowing the row removes the constraint half of B's argument for dropping the jar as hero, so that choice would then have to stand on merit alone.
  • The button fill. A and C use rust, B uses green ink. Canon makes green ink the sole button fill and bars rust as a fill. Recommendation: green ink on all three.
  • The subscription cadence. All three offer 2, 4, 6 and 8 weeks. Per the theme audit the real plan group is every 1 week, 2 weeks, 3 weeks, 1 month as default, and 2 months. This is a factual error on the purchase control itself, and it appears twice in A and in C.
  • One phrase on the sweet side. All three describe the range as sugar-free while their own printed nutrition panel two to four screens away declares one gram of total sugars. It is approved copy so I am flagging rather than ruling, but a shopper who reads both is looking at a contradiction the page itself prints.
  • The two flagged founder phrases. An uncited study reference appears in all three. The metabolic phrase ships in A and C, while B ships the approved alternate. Jason's call. Note that C carries both into the first screen and the other two do not.

Recommendation

Take A as the base composition and graft B's fold discipline onto it. This is a recommendation, not a decision.

The fold stopped being the differentiator: all three clear both viewports with a button at 84 to 86 percent of screen width. So the decision moves to product presence, page economy, and what it costs to ship. A wins all three. It has the largest jar frame in the set, it is 28 percent shorter than B and 38 percent shorter than C, and the theme audit puts it at about 1.5 to 2 developer-days against 4 to 5 for B and 5 to 5.5 for C, with C additionally carrying an open-ended per-SKU essay workstream that does not template.

The composite I would build:

  1. A's page, unchanged in order.
  2. B's proof rail moved into A's first screen, and B's state-invariant options row adopted so the button stops moving when the plan changes.
  3. B's green-ink button fill, applied to all three pending the palette ruling.
  4. C's open ingredients band replacing A's disclosure, and C's closing purchase module replacing A's bare cross-sell ending.
  5. A's founder band opened to its first paragraph, with the rest disclosed. The founder line stays in the founder band and out of the first screen, which keeps the flagged phrases away from the opening claim while Jason rules on them.
  6. The cadence corrected to the real plan set before anything ships.

Two honest caveats. B's first screen is better than A's. If the ad sets running to this page are cold prospecting where credibility is the binding constraint rather than appetite, B's ordering is the more defensible bet and the composite above is a hedge against it. And C is the only direction with a distinct voice: if WiO's differentiation is Jason, then A plus B is the safe page and C is the one that could actually be remembered.

If you would rather run one test than ship one page, the test I would run is C's founder line against A's descriptor, inside A's composition and at A's geometry. That isolates the only question the three directions genuinely disagree about.


What this review did not cover

Named so you know where the evidence stops. Full list and the cheapest check for each is in the written review at clients/wiodiet/drafts/pdp-food-directions-review-2026-09-02.md.

  • Real iOS Safari. Every capture here is headless Chromium at a fixed 796 pixel height. Safari's collapsing toolbar and dynamic viewport behaviour are not reproduced.
  • JavaScript off, keyboard focus, reduced motion, screen-reader order. Not exercised on any direction. All three rationales claim a graceful degrade; none was verified here.
  • Core Web Vitals. Local files with no network, so load timing is meaningless. All three carry large hero images whose real-world behaviour is untested.
  • Content truth. Prices, macros, panel figures, questions, quotes and cross-sell prices were taken as rendered. Provenance is the theme audit's territory, not this one's.
  • Opened states. Companion drawers and question accordions were measured closed only. Desktop was reviewed at first screen only.