Shopify themes, liquid, logos, and UX
Hello, For my store, I use the Kaching Bundles app on Shopify to sell items in packs (e.g., a pack of 3 for €39.99, a pack of 6 for €49.99). To display the price for the 3-piece pack on collection and homepage pages, I need to set the price to €39.99 in Shopify, as I sell starting from 3 pieces.
Issue:
When customers add a single piece without going through the app bundle, either from the cart or directly from the collection page, it adds €39.99 instead of a unit price for a single piece (for example, €24.99). This means that the 3-piece bundle price is applied to a single item.
Need:
I would like to display a unit price ( €24.99) on Shopify, but show the price of the first bundle on collection pages. I want to control which price is visible on these pages while ensuring the correct pricing is applied for individual item additions to the cart.
Could someone help me resolve this?
Hey @ALLAN_Gaubert ,
you need to achieve two things on your Shopify store:
Solution Outline:
Follow these steps:
1. Go to Shopify Admin > Settings > Custom Data > Products.
2. Add a new metafield with:
Edit the Product Card Template
Modify your product card to show the bundle price from the metafield, but ensure the correct unit price applies on add-to-cart.
Follow these steps:
1. Online Store > Themes > Edit Code.
2. Open your product-card.liquid or the equivalent template file used on the collection/home pages.
3. Add the following code inside the price display section:
{% assign bundle_price = product.metafields.custom.bundle_price %}
<span class="product-price">
{% if bundle_price %}
€{{ bundle_price | money }}
{% else %}
{{ product.price | money }}
{% endif %}
</span>
This will show the bundle price (€39.99) if it exists. Otherwise, it defaults to the product’s regular unit price.
Ensure Unit Price Applies in Cart
We need to ensure that only the unit price (€24.99) applies when customers add a single item to the cart.
<input type="hidden" name="properties[_is_bundle]" value="false">
This helps distinguish between single products and bundles in the cart logic.
Modify the Cart Page to Recognize Bundles
f the cart needs to differentiate between bundled and individual items, update the cart template.
{% if item.properties['_is_bundle'] == 'true' %}
<span class="cart-price">Bundle: {{ item.line_price | money }}</span>
{% else %}
<span class="cart-price">{{ item.price | money }}</span>
{% endif %}
This setup ensures the correct price logic applies based on whether the customer is buying an individual product or a bundle. Let me know if you run into any issues!
thanks
Hello, thank you for your response. I would be happy to try it out, but I don’t see the “Price” option under “Content type.
Ah, that’s probably because Shopify doesn’t show a price-type metafield by default in all configurations. No worries! We can use a text-type metafield to store the bundle price as a workaround, and we’ll treat it as a price in the code.
Create a Text Metafield:
1. Go to: Shopify Admin > Settings > Custom Data > Products
2. Add a Metafield:
3. Update Product Card Template
Go to: Online Store > Themes > Actions > Edit Code.
Open: product-card.liquid (or your relevant product listing template).
Replace the price display logic with this code:
{% assign bundle_price = product.metafields.custom.bundle_price %}
<span class="product-price">
{% if bundle_price %}
€{{ bundle_price }} <!-- Display bundle price -->
{% else %}
{{ product.price | money }} <!-- Display unit price -->
{% endif %}
</span>
Ensure Unit Price for Single Item Additions:
<input type="hidden" name="properties[_is_bundle]" value="false"> <!-- For single items -->
Test Your Changes:
If I was able to help you, please don't forget to Like and mark it as the Solution!
Thanks
June brought summer energy to our community. Members jumped in with solutions, clicked ...
By JasonH Jun 5, 2025Learn how to build powerful custom workflows in Shopify Flow with expert guidance from ...
By Jacqui May 7, 2025Did You Know? May is named after Maia, the Roman goddess of growth and flourishing! ...
By JasonH May 2, 2025