Two bugs that invalidated the price A/B/C test (20/30/0):
1. OrderPriceBanner.astro shipped with data-api="" (PUBLIC_API_URL was never
set at build), so the ?code= discount lookup hit a relative /api/... path on
the static host -> 502. The struck-through discounted price NEVER rendered
for anyone who clicked a coupon link; every visitor saw full price. Fixed to
fall back to window.__PW_API (set in Base.astro) then the prod API host, the
same pattern the rest of the site uses.
2. Daily coupons expired 23:59 ET of the SEND day. The builder runs in the
morning ET and carriers read mail across ~36h, so most discount arms saw an
already-expired code by open time. Extended to 23:59 ET of the day AFTER
send (~1.5 days), and updated the email + banner wording to match.
Net: the A/B/C arms can now actually be redeemed, so the test can produce a
real signal. Measured by paid Stripe orders keyed to the arm (re-hash of the
converter email), not bot-polluted opens/clicks.