Displaying Shop Promise on your product page

The Shop Promise badge is displayed beside delivery dates and on product pages for eligible deliveries that are estimated to be delivered domestically in the United States in five or less calendar days. This badge lets customers know that their order includes fast and reliable delivery.

After your application for Shop Promise is approved, you should navigate to the product page using your theme editor to confirm that the Shop Promise badge is displaying correctly.

If the badge isn't displaying correctly, then you'll need to manually position the Shop Promise module.

Manually position the Shop Promise module

If you're comfortable reading and editing theme code, then you can identify where to make changes and update the product page.

Identify where to make changes

The code for the Shop Promise module needs to be included in the product form on the product page, which should be similar to {%- form 'product', product -%}. The Shop Promise module can be found in various locations depending on your theme. The following are common locations:

  • main-product.liquid
  • product-form.liquid
  • product-template.liquid
  • product.liquid

Update the product page

Steps:

Desktop
  1. From your Shopify admin, go to Online Store > Themes.
  2. Find the theme you want to edit, click the button to open the actions menu, and then click Edit code.
  3. Open the relevant file.
  4. Find the line that contains {%- if block.settings.show_dynamic_checkout -%} or {{ form | payment_button }}.
  5. Create a new line directly below {%- if block.settings.show_dynamic_checkout -%}{{ form | payment_button }}{%- endif -%} and paste the following on that line:
<div class="delivery-promise__promise-container"></div>
  1. Click Save.

The result should be similar to the following:

{%- if block.settings.show_dynamic_checkout -%}
  {{ form | payment_button }}
{%- endif -%}
<div class="delivery-promise__promise-container"></div>
iPhone
  1. From the Shopify app, tap the button.
  2. In the Sales channels section, tap Online Store.
  3. Tap Manage themes.
  4. Find the theme you want to edit, tap the button to open the actions menu, and then tap Edit code.
  5. Open the relevant file.
  6. Find the line that contains {%- if block.settings.show_dynamic_checkout -%} or {{ form | payment_button }}.
  7. Create a new line directly below {%- if block.settings.show_dynamic_checkout -%}{{ form | payment_button }}{%- endif -%} and paste the following on that line:
<div class="delivery-promise__promise-container"></div>
  1. Tap Save.

The result should be similar to the following:

{%- if block.settings.show_dynamic_checkout -%}
  {{ form | payment_button }}
{%- endif -%}
<div class="delivery-promise__promise-container"></div>
Android
  1. From the Shopify app, tap the button.
  2. In the Sales channels section, tap Online Store.
  3. Tap Manage themes.
  4. Find the theme you want to edit, tap the button to open the actions menu, and then tap Edit code.
  5. Open the relevant file.
  6. Find the line that contains {%- if block.settings.show_dynamic_checkout -%} or {{ form | payment_button }}.
  7. Create a new line directly below {%- if block.settings.show_dynamic_checkout -%}{{ form | payment_button }}{%- endif -%} and paste the following on that line:
<div class="delivery-promise__promise-container"></div>
  1. Tap Save.

The result should be similar to the following:

{%- if block.settings.show_dynamic_checkout -%}
  {{ form | payment_button }}
{%- endif -%}
<div class="delivery-promise__promise-container"></div>

Manually override the Shop Promise module theme

The Shop Promise module has a dark and light theme. The module automatically uses whichever theme has the highest contrast ratio compared to the background color of the product page.

If you're comfortable reading and editing theme code, then you can override the selected theme of the module by adding a data attribute to the anchor element that's used to manually position the Shop Promise module.

Before you make any changes, duplicate your theme and edit the duplicate theme, so that you can easily revert any changes.

Steps:

Desktop
  1. Follow the instructions to manually position the Shop Promise module on your product page and then keep the theme editor open.
  2. Add a theme data attribute to your newly created anchor element set to dark or light.
  3. Click Save.

The result should be similar to one of the following:

<div class="delivery-promise__promise-container" data-theme="dark"></div>

Or

<div class="delivery-promise__promise-container" data-theme="light"></div>
iPhone
  1. Follow the instructions to manually position the Shop Promise module on your product page and then keep the theme editor open.
  2. Add a theme data attribute to your newly created anchor element set to dark or light.
  3. Tap Save.

The result should be similar to one of the following:

<div class="delivery-promise__promise-container" data-theme="dark"></div>

Or

<div class="delivery-promise__promise-container" data-theme="light"></div>
Android
  1. Follow the instructions to manually position the Shop Promise module on your product page and then keep the theme editor open.
  2. Add a theme data attribute to your newly created anchor element set to dark or light.
  3. Tap Save.

The result should be similar to one of the following:

<div class="delivery-promise__promise-container" data-theme="dark"></div>

Or

<div class="delivery-promise__promise-container" data-theme="light"></div>
Can’t find the answers you’re looking for? We’re here to help.