Bundle products in notification emails (Order Confirmation)

Bundle products in notification emails (Order Confirmation)

mattunfd
Shopify Partner
1 0 0

My client has asked if we can display Bundles in the Order Confirmation email, the same way they display in the Checkout.

 

Currently in the emails, the Bundle child products are displayed as separate items, with "Part of: [Bundle parent title] shown.

 

The Checkout displays these the other way round, like this:

 

  • Bundle parent title
    • Bundle child title
    • Bundle child title
    • Bundle child title

Does anyone know if it is possible to display them like this in email templates?

 

I spoke to Shopify Plus Support, who indicated that the above should be achievable, but that there isn't any documentation currently on how to do this. They have submitted a request to have this included in the future.

 

Meanwhile, any tips appreciated!

Replies 2 (2)

JoeMetmos
Shopify Partner
30 1 0

Hi @mattunfd 

 

Yes, you can update the order confirmation email template (liquid template) to achieve this.

For example, you can group bundle components under their parent product. Your bundle child products are displayed as separate items with a reference to the parent. Now, when a bundle_parent? is detected, the child components (bundle_components) are listed under the parent.

 

 

{% if line.bundle_parent? %}

{% for component in line.bundle_components %}

{% endfor %}

{% endif %}

 

 

Let me know if this helps.

 

CTO | eCommerce & SaaS Expert
20 years in tech, 10+ years driving eCommerce success
Proven track record across Shopify, Magento, BigCommerce, WooCommerce, Salesforce
Website: Metmos
fnd
Shopify Partner
12 0 0

This won't work from the documentation from Shopify here https://help.shopify.com/en/manual/fulfillment/setup/notifications/email-variables#line-item-propert...

 

You will see that is only for Draft Orders

 

For Email Order Confirmation template closest solution I can think of is like the following

 

Find where it has `

{% for line in line_items %}

Add

{% if line.groups.size > 1 %}
{% continue %}
{% endif %}

 

 

Then before 

{% for line in line_items %}

Put something like:

{% for line_item_group in line_item_groups %}
{% comment %}Display the Line item title and image{% endcomment %}
{% if line_item_group.image %}
<img src="{{ line_item_group.image | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% endif %}
<span class="order-list__item-variant">{{ line_item_group.display_title }}</span>


{% for line_item in line_item_group.components %}
<tr class="order-list__item">
<td class="order-list__item__cell">
<table>
<td>
{% if line_item.image %}
<img src="{{ line_item.image | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% endif %}
</td>
<td class="order-list__product-description-cell">
<span class="order-list__item-title">{{ line_item.product.title }} × {{ line_item.quantity }}</span><br/>
{% if line_item.variant.title != 'Default Title' %}
<span class="order-list__item-variant">{{ line_item.variant.title }}</span>
{% endif %}
</td>
<td class="order-list__price-cell">
<p class="order-list__item-price">{{ line_item.line_price | money }}</p>
</td>
</table>
</td>
</tr>
{% endfor %}
{% endfor %}

 

I haven't tested this but would definitely require a bit of finessing but that would get things started. I wasn't able to really figure out a way to properly show the quantity of the "bundle" as well, as well as if the bundle has any product properties they just straight up get blown away by Shopify...

For the quantity could utilize a "bundle quantity" attached on the variants metafield and then calculate the bundle quantity off of that number.

 

However I can not see a way to get Bundles to work if you are trying to use product properties with the Bundle.

 

Anyways hope this helps someone!

 

Need tech that just works?
From custom themes to app development, we help Shopify store owners get back to business—fast, clear, and no dev-speak.
Check out our website: firenetdesigns.ca