ReturnZen Help Center
Internal draft, built 13 November 2026, checked against the app at main e37fbe70; changes landed since, up to main c597a2cd, are written from the build summaries. Screenshot boxes are placeholders.
Help Center›Shopper portal›Notifications
Home ›

Notifications

Updated 11 November 2026

Overview

This article lists every notification on the Notifications page, grouped as the page groups them, with when each one sends. Each notification is a line with its name, a sentence and an On or Off toggle; clicking the name opens its template (see Editing a notification template). Every email goes to the email address on the order unless noted.

Use the menu on the left to quickly navigate this article.

Before you start

  • A sender in force: hosted email, your own domain or Klaviyo. See Notifications: who sends the emails.
  • With Klaviyo, a flow for each enabled notification, otherwise nothing goes out.

Every email and when it sends

The list

In the admin, go to Shopper > Notifications. The groups are Confirmation, Return Updates, Expiration, Resolution, Instant Exchange and Warranties; each heading counts its templates and how many are enabled. New stores start with the toggles set as listed here; where no default is given, check the page.

Screenshot

Shopper > Notifications, the Confirmation group with its toggles

Confirmation

  • Return confirmation: sent after each return request is submitted through the customer portal. Carries the label link. Default: on.
  • Return confirmation without shipping labels: sent after each return request is submitted through the customer portal, used when no label is bought: the policy's Generate return labels is off, or EasyPost is switched off or has no usable key. It is the only confirmation a self-ship shopper receives, so keep it on. Default: on.
  • Withdrawal confirmation: sent after a shopper withdraws from an order on the withdrawal page, with the packing slip and the money in the order's currency.
  • Gift return request received: sent to the customer and merchant after the customer completes the gift return form. The merchant copy goes to the Gift support email under Policy > General, or to the support email when that is blank. Default: on.
  • Keep item: return confirmation: sent when a return is eligible for the customer to keep the items. Default: on.
  • Payment request for an exchange difference: sent when a team member creates a manual return whose exchange costs more than the returned item and chooses Send invoice. It links to a page where the customer pays the difference; the return waits until they do.
  • Stripe transaction: sent when a return request includes an additional Stripe transaction, for example an exchange price difference paid by card at submit. Default: on.

Return Updates

  • Deep link created: sent when you send a customer or gift recipient a direct link that opens the return portal on their order. Default: on.

Note: No page in the admin sends this email today; Returns > Find an Order copies the link without emailing it.

  • Exchange address updated: sent when a customer updates the shipping address for their exchange. Default: on.
  • Out-of-stock exchange notice: sent when a return is processed and the exchange item has gone out of stock. Default: on.
  • Out-of-stock gift exchange notice: the same, for a gifted item. Default: on.
  • Delivered notice: sent when the carrier reports the parcel delivered. Default: on.
  • Return delivery error: sent when the carrier reports the return could not be delivered to you, because delivery failed or the parcel is going back to the customer. Default: off.
  • In-transit notice: sent when the carrier first reports the parcel moving. Default: off.
  • Return modified: sent whenever a return is modified, for example when line items are removed. Default: off.
  • Return updated: sent when a refund or store credit is issued, when a return finishes processing, and when the carrier reports a change to the return shipment that none of the other notices cover. It states no amount unless you add the {{ event.refund_amount_formatted }} tag to the template. Default: on.
  • Shop Later offer (Shop Now only), Shop Later offer (Shop Now and store credit), Shop Later offer (store credit only): sent on the first daily run after an open return set to refund is at least 24 hours old, reminding the customer of the Shop Later offer. Only returns on a policy with Shop Later switched on get one; which of the three is used depends on whether the policy offers Shop Now, store credit or both. Default: on.

    Note: A send that fails is tried again on the next daily run, so a customer can get the email more than once if the email provider reports a failure for an email that did go out. A send that succeeds is not repeated.

  • Line item rejected: sent after a return or its items are rejected. Default: on.

  • Withdrawal declined: sent when you decline a withdrawal whose items did not arrive by the ship-by date.
  • Shopper return cancelled: sent when a shopper cancels their return. Default: on.

    Note: Only the shopper's own cancel sends this email. When you cancel a return from the admin, the shopper is sent no email.

Expiration

  • Expiration reminder: sent when an open return is 20 to 22 days old and its label has not been used. Returns the carrier has scanned, and returns approved or sent to review at submission, do not get it. Default: off.
  • Expiration notice: sent when an open return is more than 28 days old and its label was never used. The return is set to Expired at the same time, whether or not this email is on. A return approved or sent to review at submission is not open, so it never expires and gets neither email. Default: off.

Note: Turning Expiration notice off only stops the email; returns still expire. An open self-ship return the carrier has not scanned expires the same way and receives both. An expired return's status page reads Your return has expired with one card: The time to send this return has passed. To return these items, contact your support email. The label, QR code, packing slip, ship-by date and survey are gone, and the items are listed with no figure.

Resolution

  • Out-of-stock exchange resolved: sent when an out-of-stock exchange has been refunded or credited. Default: on.
  • Stripe refund: sent when a refund includes an additional Stripe transaction, for example a card charge collected at submit being given back. Default: on.

Instant Exchange

  • Instant Exchange: notice: sent when a shopper submits an Instant Exchange and its new item's order is placed at submission. It shows the saved card, any hold on the card, and the ship-by date.

    Note: Not sent when the return is held for review or the order could not be placed at submission. The ship-by date is set when the return label is ready; until then the email reads Your ship-by date is set when your return label is ready.

  • Instant Exchange: reminder on day 7: sent on day 7 of the ship-by window of an Instant Exchange return that is not yet on its way.

  • Instant Exchange: reminder the day before: sent the day before the ship-by date of an Instant Exchange return that is not yet on its way.
  • Instant Exchange: card charged: sent when the saved card of an Instant Exchange return is charged.
  • Instant Exchange: charge refunded: sent when you refund an Instant Exchange charge, in whole or in part.

Warranties

  • Warranty claim rejected: sent after a warranty request is rejected. Default: on.

Empty templates

A line with the Template empty badge has no subject or body, and nothing sends even when it is on. Open it to add content, or use Revert to Default.

What the shopper sees

Most emails read the same on every return. Two change with the return.

Confirmation on an Instant Resolution return. The shopper keeps the items, so the confirmation has no label sentence, no packing or return address lines, and no refund or store credit question in its FAQ.

Shopper return cancelled. The email adds the sentence that fits the return:

  • On an Instant Resolution return whose refund was issued: Your refund for this return was already issued to your original payment method, and the return is now closed.
  • On an Instant Resolution return cancelled before the refund: The return was cancelled before any refund was issued. Neither Instant Resolution sentence comes with a line about a voided label. When ReturnZen cannot tell whether the refund was issued, neither is printed.
  • When a shopper tracking number is saved, the parcel is waiting at a pickup point, or any item is recorded as received: If you have already sent the items back, reply to this email and we will sort it out. It is left out when the store has no reply-to or support email.
  • When no label was ever issued: If you were sent a return label, it has been voided. Don't use it. When a label could not be voided: If you printed a return label, you do not need to use it.

Who sends the emails and who they come from

This section covers the Email settings and Sender sections at the top of the Notifications page. Shopper emails are sent by ReturnZen from a ReturnZen address with nothing to set up. You can send from your own domain instead, or hand every email to Klaviyo. These sections decide which, and what name and reply-to the shopper sees. The list of emails and when each one sends is in Notifications: every email and when it sends.

Before you start: A connected Shopify store. Hosted email works from the first return. For Klaviyo, a Klaviyo private API key saved under Tools > Integrations. For your own domain, access to your domain's DNS records.

Email settings

In the admin, go to Shopper > Notifications, the Email settings card.

  • Default email provider: the integration that sends your notification emails: ReturnZen hosted email, Klaviyo (connected) or None (emails off). Default: ReturnZen hosted email.
  • Support email: shown in your customer portal wherever a support email link appears. It is also the address the Policy > General page shows read-only. Checked when you save.

    Note: With no support email saved, the page reads Add a support email so shoppers know how to reach you. and contact lines are left out wherever shoppers would see them.

  • Email sender name: the From name on hosted emails. A new store sends as its store name.

  • Reply-to email: used when a customer replies to a hosted email. Checked when you save.

Click Save Changes; the card reads Saved.

Screenshot

Shopper > Notifications, the Email settings card with ReturnZen hosted email selected and the sender fields filled in

Note: With None (emails off) selected the page shows No provider: emails are off. and no customer notification goes out. With Klaviyo selected the page shows Klaviyo flows required.: each enabled notification needs its own flow in your Klaviyo account, triggered by its event (for example ReturnZen Return Created), and without a flow nothing goes out.

If hosted email is not available on your server and no other provider is connected, the card shows Not sending. with Hosted email is not available on this server yet. Connect Klaviyo to send from your own flows. No customer notification goes out until a provider is connected.

Sender

In the admin, go to Shopper > Notifications, the Sender section.

The status line says who is sending: Sending as your hosted address, Email goes through Klaviyo and comes from the sender set in your Klaviyo flows., Klaviyo is selected but not connected. No email is going out. or Emails are switched off. Nothing is sending. It can also read Hosted email is not available on this server yet and cannot send. or Your sender could not be read. Reload the page to try again.

Hosted by ReturnZen

The default for every new store. Emails come from your store name at an address ending in mail.returnzen.app, with the reply-to set to the address on this page. The shopper sees your store name as the sender and their replies reach you.

Send from your own domain

  1. Type a Subdomain of your own website, such as returns.yourstore.com. Do not enter your main domain, and use a subdomain you do not use for other email.
  2. Click Add Domain. A table of DNS records appears with Type, Name, Value, Priority, TTL and Status, with full host names. If your DNS host asks for a name only, enter the part before your domain.
  3. Add every record at your domain provider. DNS changes can take up to 48 hours to appear.
  4. Click Verify Domain. Once every record checks out the section reads Verified. Emails now send as your address at that subdomain. Until then it reads Not verified yet. Check that every record above matches, then try again.
Screenshot

The Send from your own domain card with the DNS records table and the Verify Domain button

Each record's Status reads Not started, Pending, Verified, Partly verified, Failed, Partly failed or Temporary failure. Remove Domain opens a dialog headed Remove and the domain's name. While hosted email is the provider it reads Emails will send from the hosted address again.

Important: If the records are ever removed, the section shows This domain is no longer verified. with Emails are sending from the hosted address until it is. Check its DNS records., and the bell alerts you. Emails keep going out from the ReturnZen sender in the meantime.

Klaviyo

Connect Klaviyo under Tools > Integrations and choose it as the default provider. Emails are then sent by Klaviyo from the sender set in your Klaviyo flows, and the sender name and reply-to on this page do not apply. Install email templates on the Klaviyo page puts ReturnZen's templates into your Klaviyo account; using it again replaces edits made inside Klaviyo.

While Klaviyo is connected, shopper profile properties sync to it whichever provider is selected. With no Klaviyo connection nothing syncs.

Customize Branding

Customize Branding in the page header opens the Customize Email Branding page: a Logo image URL (recommended width 400px; shown 48px tall in emails) and an Accent color that sets the button and link colour in every notification email. Set them once here and every notification template uses them. With no logo URL the emails use your portal logo. Click Save Changes.

What the shopper sees

The From name is your store name or the sender name you typed. A reply goes to your reply-to address. Nothing in the email says ReturnZen unless your template does.

How it works

If an address bounces permanently or the shopper reports an email as spam, ReturnZen stops emailing that address for your store, and the return's timeline reads Email not delivered: address bounced. We will not email this address again. A temporary problem reads Email not delivered: the mailbox was unavailable. Later emails will still be sent.

Emails about one return go out in order, and an email that was queued re-reads the return before it sends, so a shopper never gets a stale amount.

Editing a notification template

This section covers the notification template editor. Every notification has a subject line and an HTML body that you can edit, preview with sample data, copy into Klaviyo, and reset to the factory version.

Before you start: Know which notification you are editing and when it sends; see Notifications: every email and when it sends.

Opening a template

In the admin, go to Shopper > Notifications and click a notification. The page heading is the notification's name, with the sentence saying when it sends and the Klaviyo metric: it fires.

Screenshot

A notification template open in the editor, with the subject, the HTML body and the Email variables rail

Settings

  • Subject line: plain text with merge tags, for example Your return for {{ event.order_name }} is on its way. The help under it reads Use the same merge tags as the body:.
  • HTML body: the full email as HTML. Paste your own or edit the default.
  • Preview, Edit HTML: Preview renders the body and subject with sample values in place of the merge tags, so you see what the customer gets; Edit HTML switches back. If the sample data did not load, the preview reads Sample data didn't load. The preview shows merge tags as typed; refresh the page to try again.
  • Email variables: a rail of merge tags in three groups. Click a chip to insert it at the cursor; each tag is replaced with the customer's own value when the email is sent.
  • Profile properties (work everywhere): tags such as {{ first_name }}, {{ rma_number }}, {{ refund_amount_formatted }} and {{ return_status_url }}. With Klaviyo, these work in any Klaviyo email: campaigns, templates and flows.

    Note: Hosted email fills in only {{ first_name }}, {{ last_name }} and {{ email }} of the profile properties.

  • Event properties: the same values as {{ event.order_name }}, {{ event.items_summary }} and so on, plus {{ event.amount_formatted }}, {{ event.help_center_url }} and {{ event.button_color }}. With Klaviyo, these work only in a flow that a ReturnZen event starts; hosted email fills them in on every notification.

    Tip: Event properties carry more than the profile properties, including the full list of items, and each set belongs to the one event that sends the email. Use them in the body unless you are writing a Klaviyo campaign.

  • Loops and conditionals: snippets to repeat a block for each item, or show a block only when a condition is true, for example {% for item in event.items %} {{ item.title }} {% endfor %}.

  • Copy HTML, Download HTML: copy the body to the clipboard to paste into Klaviyo (the bar reads HTML copied to clipboard; paste into Klaviyo), or download it as a file.
  • Revert to Default: in the Reset this template line. Opens Revert to default?, which reads that this replaces the subject and body with the factory default, that your current customization will be lost, and that this cannot be undone. Revert Template confirms; the bar reads Template reverted to default.
Screenshot

The Email variables rail with the Profile properties and Event properties groups and a tag being inserted

Saving

Save Changes stores the template and the bar reads Template saved; Discard Changes returns to the last saved version. Whenever the subject or body is blank the bar warns This template is empty. Nothing sends until it has a subject and a body.

What the shopper sees

The template as saved, with each tag replaced by their return's values, from whichever sender is in force.

How it works

Money and dates in the email come from the return at send time. The amount tag prints what was actually paid, so do not hard-code figures into the body. An email that was queued re-reads the return before it sends.

FAQ

Does the Return updated email state the refund amount? Not by default. It tells the shopper the status changed and links to the return. An amount prints only if you add the {{ event.refund_amount_formatted }} tag to the template. It is then the amount ReturnZen paid, which can differ from the quote on the return: a handling fee, a price difference, or an amount already refunded in Shopify before processing (a Refund adjustment line on the return page) all change it. If Shopify still differs, look for a refund made directly in Shopify after ReturnZen paid.

Can I use a different email address as the sender? The hosted sender address is fixed to your store. To send from an address of your own, use Send from your own domain, or Klaviyo.

Why is a shopper not receiving emails? Open the return and look at the timeline. A bounce line explains it. If the address bounced permanently, the shopper needs to give you a working address.

Does the support email here change the one on Policy > General? Yes. Policy > General only shows it; this page is where it is saved.

I edited a template and now the page says it was not updated. What happened? A template still equal to an old default is refreshed to the new wording when ReturnZen updates its defaults. Templates you edited are not changed. The list marks a Shop Later template that still prints the store credit amount as the Shop Now offer, under the line Some templates were saved before an update and were not changed automatically, because they were edited. They are marked below. Open it and use Revert to Default, or edit it to use {{ shop_now_total_with_bonus_formatted }}.

Can I use my Klaviyo template instead? Yes. With Klaviyo as the provider the email is built in your Klaviyo flow. Use Copy HTML to start the Klaviyo template from ReturnZen's, or Install email templates on the Klaviyo page to push all of them at once.

Why does the preview show a tag as typed? The sample data did not load. Refresh the page and open Preview again.

Please reach out to support@returnzen.app with any additional questions.

notificationsemailtemplatesenderklaviyo
Was this article helpful?YesNo