Why Buy It Now Disappears on a Personalized Product

The theme's own Add to cart, Buy it now and Shop Pay buttons are hidden on a personalized product on purpose. An item bought through them would arrive with nothing on it.

The first time a merchant publishes a personalized product, the thing they usually notice is what is missing: Buy it now is gone, and so is the theme’s own Add to cart. That is deliberate, and this guide explains the reasoning so you can tell it apart from a theme that is genuinely broken.

What is taken over and what is not

The fence is around one product's purchase controls, not around your store.

A personalized item has to reach the cart carrying its design, the values the shopper entered, and a signature over what they were charged. Only the customizer’s own control does that. The theme’s button adds a plain variant.

So if both were live, the fastest path to checkout would be the one that loses everything the shopper just made, and neither you nor they would find out until production. Hiding the native controls removes that path.

The shopper cannot tell these apart. Production can.

It stays closed when things go wrong

The guard is not only JavaScript. The block hides those controls with page-scoped CSS that Shopify renders before anything loads, and the purchase guard stays active for the life of the page.

That means a blocked script, a slow network or a content blocker cannot open the native path by accident. The worst case is a product that cannot be bought, which you will hear about, rather than orders that arrive empty, which you will not.

The variant pickers move too

Your theme’s size and colour selectors are replaced by the customizer’s own, so the shopper picks the variant in the same place they do everything else. It also keeps the choice and the design in step, which matters when a variant has its own artwork.

If you have chosen to keep the native variant UI visible for a product, that setting is honoured; the purchase controls stay covered either way.

When it really is broken

Tell the two apart by what is on the page.

  • The customizer is there and the native buttons are gone. Working as intended. Buy through the customizer’s own button.
  • Nothing is there: no customizer, no buttons. That is a placement or loading problem, not this. See troubleshoot theme placement.
  • The native buttons are there on a personalized product. Report it. That is the one state that should not happen, because it is the path that loses the personalization.

Common questions

Can I turn Buy it now back on for a personalized product?

No, and it is the one setting worth not wanting. An order placed through it would have no design attached.

Does this affect Shop Pay on my other products?

No. The takeover is scoped to the personalized product's section, so everything else on your store keeps its normal buttons.

My theme shows a duplicate add to cart below the customizer.

That is a theme whose markup the scoping does not recognise. Report it with the theme name and version so the selectors can cover it.

What about Linked mode?

Linked leaves your product page as your theme built it, because there is nothing for the shopper to fill in. See choose Linked, Embedded or Full page.

Will a shopper with JavaScript off see anything?

They see the product without purchase controls, and a message that JavaScript is required to use the customizer.

Next

Read choose Linked, Embedded or Full page for the mode that decides how much is taken over, or the customizer theme block for the block itself.

Related articles