new-site/site
justin ac10b4bd22 fix(coupon A/B): discount banner never displayed + same-day expiry killed the test
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.
2026-06-30 16:21:52 -05:00
..
public order: payment-first express checkout + fix dead Tawk chat widget 2026-06-25 11:32:48 -05:00
src fix(coupon A/B): discount banner never displayed + same-day expiry killed the test 2026-06-30 16:21:52 -05:00
tests analytics: filter email-scanner / headless traffic out of Umami stats 2026-06-18 02:02:34 -05:00
astro.config.mjs Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
Dockerfile Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
nginx.conf Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
package-lock.json Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
package.json Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00