Change ''Add to cart'' for ''Pre order'' on a specific product

Topic summary

Goal: Change the “Add to cart” button text to “Pre-order” for a single product in Shopify’s Dawn 9.0 theme.

Key points and proposed solutions:

  • No built-in per-product setting exists. It requires theme code changes or an app.
  • Create a dedicated product template for pre-order items and assign it to the specific product (Shopify template guide linked). Using a template suffix like “pre-order” lets you target only that product.
  • Code approach: keep the default translation key in the product template, but in theme.liquid conditionally set the addToCart label. Example logic: if template.suffix == ‘pre-order’, output “Pre-order”; else use the default translation. Note: example code shared is untested and requires care (e.g., commas in JSON object).
  • Alternative targeting: edit product.liquid and use the template handle or Liquid checks (product ID or tags) to swap the button text for that product only.
  • App option: a pre-order app (e.g., K1 PreOrder) can automate button replacement and logic, avoiding manual maintenance.

Status: The OP can edit Liquid and asked for specifics. Multiple approaches provided; no confirmed implementation or resolution yet.

Summarized with AI on January 14. AI used: gpt-5.

Hi,

I’m looking for a way to change the button ‘‘Add to cart’’ for ‘‘Pre order’’ on a specific product but so far nothing works or it does it for the whole website.

I’m using the theme Dawn 9.00

Here is the link to my store

https://514rpm.com/

Here is the item the I’m talking about

https://514rpm.com/products/spotify-barcode

Thank you!

1 Like

You can create a new template for product that you want pre order button instead of add to cart button.

Please check this instruction to know how to create a new template

https://help.shopify.com/en/manual/online-store/themes/theme-structure/templates#create-a-new-template

@514rpm

You could try the following:

In step 10 of the tutorial (https://help.shopify.com/en/themes/customization/products/add-to-cart/allow-pre-orders#sectioned-th…), keep the following code unchanged (ie. don’t replace it):

{{ 'products.product.add_to_cart' | t }}

Then in the theme.liquid file, replace the following line of code (the one mentioned in Lizzy’s reply):

addToCart: {{ 'products.product.add_to_cart' | t | json }}

with

addToCart: {%- if template.suffix == 'pre-order' -%}{{ 'Pre-order' | json }}{%- else -%}{{ 'products.product.add_to_cart' | t | json }}{%- endif -%}

Make sure you don’t accidentally delete the comma at the end of the line when making your changes. Hope this helps!

Please note I haven’t tested this code, so cannot make any assurances that it will work.

@514rpm - this will need code editing, are you familiar with the liquid coding?

Sure I’m familiar with code editing, Do you know what to modify?

@514rpm - open product.liquid page and check template handle… if this handle matches this specific product which you want, then you can change the text

you can refer to the code given by @dmwwebartisan … exact code is difficult to provide here as we do not know what has been used in product liquid file