Updating the return created email notification for exchanges

If your store uses customized notification templates, then you might need to update your Return created email notification manually to ensure that it works when you add exchange items to a return.

These changes require familiarity with the code that's used in Shopify's notification templates. If your templates are highly customized and you're not sure how to apply the necessary changes, then contact the developer that made the changes or click Revert to default to restore your template to its original state. When you revert to default, all your customizations are removed, but the default template ensures that you have the most current template version.

Update the Return created email notification

You can update the Return created notification to include the following changes:

  • For net payable exchanges, a customer can now receive a payment action (Pay now button) in their return email. This includes updates to the instructions portion of the email to reflect the outstanding balance a customer can owe and the instructions are moved to the top of the email.
  • A new section that displays exchange items under the heading of Items you’ll receive and renames the Returned items section to Items to return.
  • A financial summary is included as a part of the return email with the cost of the return and exchange items, and applicable return fees.

Steps:

  1. From your Shopify admin, go to Settings > Notifications.
  2. Click Customer notifications.
  3. In the Returns section, click Return created.
  4. Click Edit code.
  5. Locate the first instance of {% if return_delivery.type == 'shopify_label' %}, and then update the Return Shopify Shipping instructions:
    1. Locate the <p class="return-creation__subtitle">...</p> code line.
    2. Add the following code block after the code line:
              <div class="return-label-beta__instructions">
                <h2>Instructions</h2>

                <ol>
                  <li>Pack the items you're returning.</li>
                  {% if return.checkout_payment_collection_url %}
                    <li>Pay the outstanding balance.</li>
                  {% endif %}
                  <li>Print your return shipping label. If you haven’t received it yet, we’ll send it to you soon.</li>
                  <li>Attach the label to the package. Cover or remove any old shipping labels.</li>
                  <li>
                    {% if return_delivery.carrier_name %}
                      Give the package to {{ return_delivery.carrier_name }}.
                    {% else %}
                      Give the package to the carrier identified on the label.
                    {% endif %}
                  </li>
                  <li>
                    Track your return using <a target="_blank" href="{{ return_delivery.tracking_url) }}">your tracking number</a> to make sure we get it.
                  </li>
                </ol>
              </div>
  1. Update the call-to-action to include the Pay now logic:
    1. Locate the <table class="row actions">...</table> code line.
    2. Replace the existing code block with the following code block:
{% capture url_primary %}{{ return.checkout_payment_collection_url }}{% endcapture %}
{% capture text_primary %}Pay now{% endcapture %}
{% capture url_secondary %}{% endcapture %}
{% capture text_secondary %}{% endcapture %}
{% if url_primary != blank or url_secondary != blank %}
<table class="row actions">
  <tr>
    <td class="empty-line">&nbsp;</td>
  </tr>
  <tr>
    <td class="actions__cell">
      {% if url_primary != blank %}
      <table class="button main-action-cell">
        <tr>
          <td class="button__cell">
            <a href="{{ url_primary }}" class="button__text">{{ text_primary }}</a>
          </td>
        </tr>
      </table>
      {% endif %}
      {% if url_secondary != blank %}
      <table class="button return__mobile-padding main-action-cell">
        <tr>
          <td class="button__cell">
            <a href="{{ url_secondary }}" class="button__text return__main-button">{{ text_secondary }}</a>
          </td>
        </tr>
      </table>
      {% endif %}
{% endif %}
  1. Locate the first instance of {% elsif return_delivery.type == 'manual' %}, and then update the Return Manual Shipping instructions:
    1. Locate the <p class="return-creation__subtitle">...</p> code line.
    2. Add the following code block after the code line:
              <div class="return-label-beta__instructions">
                <h2>Instructions</h2>

                <ol>
                  <li>Pack the items you're returning.</li>
                  {% if return.checkout_payment_collection_url %}
                    <li>Pay the outstanding balance.</li>
                  {% endif %}
                  <li>Print your return shipping label. If you haven’t received it yet, we’ll send it to you soon.</li>
                  <li>Attach the label to the package. Cover or remove any old shipping labels.</li>
                  <li>
                    {% if return_delivery.carrier_name %}
                      Give the package to {{ return_delivery.carrier_name }}.
                    {% else %}
                      Give the package to the carrier identified on the label.
                    {% endif %}
                  </li>
                  <li>
                    Track your return using <a target="_blank" href="{{ return_delivery.tracking_url) }}">your tracking number</a> to make sure we get it.
                  </li>
                </ol>
              </div>
  1. Add the following code block after the previous step within the {% elsif return_delivery.type == 'manual' %} code block:
{% capture url_primary %}{{ return.checkout_payment_collection_url }}{% endcapture %}
{% capture text_primary %}Pay now{% endcapture %}
{% capture url_secondary %}{% endcapture %}
{% capture text_secondary %}{% endcapture %}
{% if url_primary != blank or url_secondary != blank %}
<table class="row actions">
  <tr>
    <td class="empty-line">&nbsp;</td>
  </tr>
  <tr>
    <td class="actions__cell">
      {% if url_primary != blank %}
      <table class="button main-action-cell">
        <tr>
          <td class="button__cell">
            <a href="{{ url_primary }}" class="button__text">{{ text_primary }}</a>
          </td>
        </tr>
      </table>
      {% endif %}
      {% if url_secondary != blank %}
      <table class="button return__mobile-padding main-action-cell">
        <tr>
          <td class="button__cell">
            <a href="{{ url_secondary }}" class="button__text return__main-button">{{ text_secondary }}</a>
          </td>
        </tr>
      </table>
      {% endif %}
      <table class="link secondary-action-cell">
        <tr>
          <td class="link__cell">or <a target="_blank" href="{{ order.order_status_url }}">View your order</a></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
{% endif %}
  1. Remove old instructions at the bottom of the notification:
    1. Locate <h3>Instructions</h3> code line.
    2. Locate and remove the whole code block of <table class="row section">...</table>.
  2. Add exchange line items and update return items title:
    1. Locate the <h3>Returned items</h3> tag.
    2. Replace the outer table matching <table class="row section"> with the following block:
<table class="row content">
  <tr>
    <td class="content__cell">
      <center>
        <table class="container">
          <tr>
            <td>

          <h2>Items to return</h2>
          <table class="row">
  {% for line_item in return.line_items %}
  <tr class="order-list__item">
    <td class="order-list__item__cell">
      <table>
        <td>
          {% if line_item.image %}
            <img src="{{ line_item | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
          {% endif %}
        </td>
        <td class="order-list__product-description-cell">
          {% assign line_display = line_item.quantity  %}

          <span class="order-list__item-title">{{ line_item.title_without_variant }}&nbsp;&times;&nbsp;{{ line_display }}</span><br/>

          {% if line_item.variant.title != 'Default Title' %}
            <span class="order-list__item-variant">{{ line_item.variant.title }}</span><br/>
          {% endif %}

          {% if line_item.discount_allocations %}
            {% for discount_allocation in line_item.discount_allocations %}
              {% if discount_allocation.amount > 0 %}
                <span class="order-list__item-discount-allocation">
                  <img src="{{ 'notifications/discounttag.png' | shopify_asset_url }}" width="18" height="18" class="discount-tag-icon" />
                  <span>
                    {{ discount_allocation.discount_application.title | upcase }}
                    (-{{ discount_allocation.amount | money }})
                  </span>
                </span>
              {% endif %}
            {% endfor %}
          {% endif %}
        </td>

        <td class="order-list__price-cell">
          {% if line_item.original_line_price != line_item.final_line_price %}
            <del class="order-list__item-original-price">{{ line_item.original_line_price | money }}</del>
          {% endif %}
          <p class="order-list__item-price">
            {% if line_item.final_line_price > 0 %}
              {{ line_item.final_line_price | money }}
            {% else %}
              Free
            {% endif %}
          </p>
        </td>
      </table>
    </td>
  </tr>
  {% endfor %}
</table>


            </td>
          </tr>
        </table>
      </center>
    </td>
  </tr>
</table>

        {% if return.exchange_line_items.size > 0 %}
          <table class="row content">
  <tr>
    <td class="content__cell">
      <center>
        <table class="container">
          <tr>
            <td>

            <h2>Items you'll receive</h2>
            <table class="row">
  {% for line_item in return.exchange_line_items %}
  <tr class="order-list__item">
    <td class="order-list__item__cell">
      <table>
        <td>
          {% if line_item.image %}
            <img src="{{ line_item | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
          {% endif %}
        </td>
        <td class="order-list__product-description-cell">
          {% assign line_display = line_item.quantity  %}

          <span class="order-list__item-title">{{ line_item.title_without_variant }}&nbsp;&times;&nbsp;{{ line_display }}</span><br/>

          {% if line_item.variant.title != 'Default Title' %}
            <span class="order-list__item-variant">{{ line_item.variant.title }}</span><br/>
          {% endif %}

          {% if line_item.discount_allocations %}
            {% for discount_allocation in line_item.discount_allocations %}
              {% if discount_allocation.amount > 0 %}
                <span class="order-list__item-discount-allocation">
                  <img src="{{ 'notifications/discounttag.png' | shopify_asset_url }}" width="18" height="18" class="discount-tag-icon" />
                  <span>
                    {{ discount_allocation.discount_application.title | upcase }}
                    (-{{ discount_allocation.amount | money }})
                  </span>
                </span>
              {% endif %}
            {% endfor %}
          {% endif %}
        </td>

        <td class="order-list__price-cell">
          {% if line_item.original_line_price != line_item.final_line_price %}
            <del class="order-list__item-original-price">{{ line_item.original_line_price | money }}</del>
          {% endif %}
          <p class="order-list__item-price">
            {% if line_item.final_line_price > 0 %}
              {{ line_item.final_line_price | money }}
            {% else %}
              Free
            {% endif %}
          </p>
        </td>
      </table>
    </td>
  </tr>
  {% endfor %}
</table>


            </td>
          </tr>
        </table>
      </center>
    </td>
  </tr>
</table>
        {% endif %}
  1. Introduce financials and return fees. Add the following block after the changes from the previous step or add the block before the <table class="row footer"> code line:
<table class="row section">
  <tr>
    <td class="section__cell">
      <center>
        <table class="container">
          <tr>
            <td>

          <table class="row subtotal-lines">
  <tr>
    <td class="subtotal-spacer"></td>
    <td>
      <table class="row subtotal-table">

<tr class="subtotal-line">
  <td class="subtotal-line__title">
    <p>
      <span>Subtotal</span>
    </p>
  </td>
  <td class="subtotal-line__value">
      <span>{{ return.line_items_subtotal_price | money }}</span>
  </td>
</tr>


        {% assign fees = return.fees %}
        {% for fee in fees %}

<tr class="subtotal-line">
  <td class="subtotal-line__title">
    <p>
      <span>{{ fee.title }}</span>
    </p>
  </td>
  <td class="subtotal-line__value">
      <span>{{ fee.subtotal | money }}</span>
  </td>
</tr>

{% endfor %}


        {% if return.total_tax_price > 0 %}

<tr class="subtotal-line">
  <td class="subtotal-line__title">
    <p>
      <span>Estimated taxes</span>
    </p>
  </td>
  <td class="subtotal-line__value">
      <span>{{ return.total_tax_price | money }}</span>
  </td>
</tr>

        {% endif %}

        {% if return.total_price > 0 %}
        <table class="row subtotal-table subtotal-table--total">

<tr class="subtotal-line">
  <td class="subtotal-line__title">
    <p>
      <span>Amount to pay</span>
    </p>
  </td>
  <td class="subtotal-line__value">
      <strong>{{ return.total_price | money_with_currency }}</strong>
  </td>
</tr>

        </table>
        {% elsif return.total_price <= 0 %}
        <table class="row subtotal-table subtotal-table--total">

<tr class="subtotal-line">
  <td class="subtotal-line__title">
    <p>
      <span>Estimated refund</span>
    </p>
  </td>
  <td class="subtotal-line__value">
      <strong>{{ return.total_price | abs | money_with_currency }}</strong>
  </td>
</tr>

        </table>
        {% endif %}
      </table>
    </td>
  </tr>
</table>


            </td>
          </tr>
        </table>
  1. Click Save.
Ready to start selling with Shopify?Try it free