On product pages, WooPayments mounts the Express Checkout Element when the page loads. Stripe.js then loads its hidden hCaptcha frame and runs its own setup on the page’s main thread. Stores that keep wallet buttons on product pages pay this cost on every product view, including visits where the shopper never scrolls to the buttons.
Request: an option to mount the Express Checkout Element only when the button area comes into view or the shopper first interacts with the page. The wallets would keep the same location, eligibility and features, and Stripe’s fraud protection would stay unchanged.
In a desktop Chrome trace of an in-stock product page, Stripe.js took about 120 ms of main-thread script time without throttling and about 410 ms at 4x CPU throttling. The same page also ran hCaptcha’s hsw.js in a separate iframe process.
Today the only built-in option is to turn off Express Checkout on product pages, which removes the buttons.
Last updated: November 4, 2026
0 comments
Log in to comment on this feature request.