Note: The below-given instructions apply to e-stores created with Online Store (legacy) and Advanced Store plans. In some locales (e.g., FR, PL, LT), Advanced Store plans are only available to clients who’ve purchased them before July 5th, 2022. These plans have been replaced with the Business plan – learn more about it here! 💡

All the emails have universal ready-to-go texts, which can fit any business. You can use them straight away or customize the texts and appearance of your notifications. It is possible to brand the emails with your business-specific colors, rework their layouts, remove or add text blocks, etc.

Each email notification has its own HTML template, which you can edit in your Store Manager → Settings → Notifications.

Note: If you offer your store in multiple languages, after you edit the X email template, that email template can no longer be automatically translated. Your customers will receive it only in the default language of your store.

Table of content

Changing company info in emails

Company info includes store name, email, physical address, phone number, a link to your online store, and links to your social media accounts. This information is taken from your store settings. It is displayed at the bottom of your email notifications:

To change or update the company info displayed in emails:

  1. From your Store Manager, go to Settings → General → Store Profile.

  2. Edit your company details.

  3. Save the changes.

After you save the changes, the updated info will display in the new email notifications.

Adding a custom logo to emails

A custom logo can help personalize your emails and build your own brand. You can add your company's logo to the email notifications.

  1. In your Store Manager, go to Settings → Notifications.

  2. Scroll down to the bottom of the page to Your logo for mail notifications.

  3. Click Upload logo.

  4. Upload your store logo and save the changes.

This logo is set for all customer notifications. It will be displayed in the top right corner of the notification.

Understanding email templates

Any further edits in your email notifications will require editing the HTML template of a particular notification. This way, you can add custom messages or customize notifications in any other way, e.g., remove or add blocks, change text formatting and color, etc.

Each admin or customer email notification has its own template. When an email is sent, the email template is filled in with the info from your store settings (store name, contact info, store link, etc.) and from the order details (customer’s name, shipping address, list of products bought, etc.) Thus, each email sent from your store is individual and contains information about a particular order and customer.

Email templates might look complicated at first, but in reality, their structure is quite plain.

If you go to Settings → Notifications and click Order Confirmation (or any other notification), you will see a default order confirmation email template:


You can click the Preview template link in the top left corner to see a sample email. Every part of the code in the template is responsible for a specific part of this email.

You can send a test email to yourself by clicking Send test email to see how the notification looks in the mailbox.

Changing the design and the layout of the template will require some knowledge of HTML and Freemarker, thus why we recommend collaborating with a developer or a web designer, but you can make small changes in the text on your own. Let’s dive deep into understanding the different parts of an email template and how to edit them: message keys (also known as rosetta keys), variables, and markups.

Message keys

If you open any email in Settings → Notifications for editing, you will see that there are actually no texts in the template. Instead, you can see such text labels as <@rosetta.message key="OrderConfirmation.title" />, <@rosetta.message key="OrderConfirmation.payment_status" />, etc.

When an actual email is sent, these rosetta message keys are replaced with texts. You can see an email with default texts if you click Preview template.

To add a custom text instead of the default one, you need to find the necessary rosetta label (its name is usually self-explanatory) and replace the whole rosetta label with your text, then preview the result and save the changes.

For example, to replace the default “Thanks for shopping with us!” text at the bottom of your order confirmation email, you need to find <@rosetta.message key="OrderConfirmation.thanks" /> and replace this whole line with your text (e.g., “Thank you for your purchase!”):

This is how the new signature might look:

Editing texts in the “Abandoned Cart Recovery” email template is even easier as it has plain text presented in a special area of the template. You can type your message in the “Default message for customers” area. For example, include a coupon code or a message about an upcoming sale in recovery emails to encourage customers to complete the purchase.

Here is a list of rosetta keys for the order confirmation emails (with corresponding texts):

Rosetta key

Text in the notification

@rosetta.message key="OrderConfirmation.title"

Order Confirmation

@rosetta.message key="OrderConfirmation.customer_greeting" params={ "customerName": }

Hello, customer name

@rosetta.message key="OrderConfirmation.Confirmation.paid_order" params={ "storeName":, "dateCreated": order.dateCreated }

We have received your order! Thank you for your purchase.
(for paid orders)

@rosetta.message key="OrderConfirmation.Confirmation.unpaid_order" params={ "storeName":, "dateCreated": order.dateCreated}

We have received your order! Thank you for your purchase.
(for unpaid orders)

@rosetta.message key="OrderConfirmation.order_number" params={ "number": order.number }

Order #

@rosetta.message key="OrderConfirmation.payment_status"

Payment status

@rosetta.message key="OrderConfirmation.fulfillment_status"

Fulfillment status

@rosetta.message key="OrderConfirmation.Shipping.address_prefix"

We will deliver your order to

@rosetta.message key="" params={ "phone": }

phone number

@rosetta.message key="OrderConfirmation.Shipping.method"

Shipping method

@rosetta.message key="OrderConfirmation.your_order"

Your order

@rosetta.message key="OrderConfirmation.sku" params={ "sku": orderItem.sku }


@rosetta.message key="OrderConfirmation.Summary.items"


@rosetta.message key="OrderConfirmation.Summary.shipping"


@rosetta.message key=""


@rosetta.message key="OrderConfirmation.order_comments"

Order Comments

@rosetta.message key="OrderConfirmation.thanks"

Thanks for shopping with us!

@rosetta.message key="OrderConfirmation.OrdersHistory.link_text"

Order History Page

@rosetta.message key="OrderConfirmation.OrdersHistory.content" params={ "history_link": historyLink }

You can check the status of your orders at any time on our Orders History Page

@rosetta.message key="OrderConfirmation.Help.content" params={ "contact_info_text": contactInfoText }

We welcome you to our store anytime. If you need assistance or have any questions, please email us at (email address). We are happy to help!

@rosetta.message key="OrderConfirmation.signature"


If you don’t see the rosetta key you need for your notification in the table, try replacing this key with a test text, then click Preview template to see where the changes took place. This way, you will know what text the key is responsible for. The names of the keys also usually suggest it. You can always turn the template back to the default state afterward by clicking Revert to default.

You can delete some of the rosetta keys if you don’t want to display this information in the email notification, too.


Variables are placeholders that are replaced in the email with the actual information from either the order details (customer’s name, list of products, etc.) or from the store info (store name, contact info, etc.).

For example, you can see variables like ${} or ${} in your email templates. As you can guess by their names, they will be replaced in the notifications with the store name taken from your store profile settings and with the customer’s name taken from the order details.

You can delete some of the variables if you don’t want to display this information in the email notification or replace them with custom text. You can also edit or add variables that are supported in emails.

For example, if you want to show another company address in emails (not the one that you specified in your store profile), you can replace the ${store.officeAddress} variable with the address that you want to show in emails by adding the latter as plain text.


The text in blue, green, and red in your templates is called markup. These are rules that tell the email client how to display the text in the email: font color, size, padding, etc. You can change the markup rules if you want to change the layout and the design of your email.

Texts in grey, like <!-- Signature : start --> and <!-- Signature : end --> will help you navigate the template. This way, you can find the rosetta keys and variables you need faster.

Editing email templates

Your online store's email templates use Freemarker to replace variables with actual values (customer or store information, e.g. order numbers, order totals, etc.) and HTML to define the structure and look of the emails.

To edit an email template:

  1. From your Store Manager, go to Settings → Notifications.

  2. Click Edit next to the template you want to change.

  3. In the HTML template, make the desired changes.

  4. Before saving any changes, click the Preview template link on top to see what the email will look like. If you see a blank page in a preview, it most likely means that the template code was broken (some tags were accidentally deleted). If you see this, you can simply click the Revert to default link to go back to the default template and try making your changes again.

  5. If you don’t like the result, click the Revert to default link at the bottom of the template to restore the default email template.

  6. Once you are satisfied with the result, click Save.

If you are making changes to an email that you previously customized and saved, the “Revert to default” option won’t work for you as it will revert to our default template. To back up your template, copy the code and save it as a text file on your computer. If something goes wrong, you can paste the code from the file back to the template.

To check how email notifications look with your changes, place a test order in your store. A test order is the best way to test email template changes as the preview shows demo products and data. Use your real email address at checkout, as this is where the email will be sent. Change the order payment and fulfillment status in the Store Manager → My Sales → Orders to receive a preview of different email notifications (order status changed, order shipped, etc.).

Translating emails into a new language

You can set only one language for your storefront or offer your store (and email notifications) in multiple languages. In the latter case, your notifications will be automatically translated, and customers will get email notifications in the same language in which they are viewing your storefront.

Customer email templates are available in more than 30 languages:

English, German, German (Switzerland), French, Italian, Spanish, Spanish (Latin America), Russian, Portuguese, Portuguese (Brazil), Dutch, Danish, Greek, Finnish, Norwegian, Swedish, Bulgarian, Hebrew, Czech, Catalan, Croatian, Polish, Estonian, Latvian, Lithuanian, Hungarian, Romanian, Slovenian, Turkish, Ukrainian, Indonesian, Macedonian.

Both customer and admin notifications are available in:

English, French, Spanish, Spanish (Latin America), German, Italian, Russian, Dutch, and Brazilian Portuguese.

If your preferred language is not on the list, you can translate email notifications on your own. In order to do that, manually replace the message keys in each of the templates with the corresponding translations. Message keys cover all the text in the notification, except for the values of payment and fulfillment statuses.

Note: After you edit the HTML template, the email will only be available in the language that you manually translated it into. The autotranslation for multilingual stores will be no more available.

Finally, add translations for order statuses. These are set by variables in the email template. Find the following variables: ${order.paymentStatus} for order payment statuses and ${order.fulfillmentStatus} for order fulfillment statuses.

Replace them with the following translation code (the example is for the Portuguese language; add your own translation):

Order payment statuses:

<#if order.paymentStatus = 'Paid'> Pago
<#elseif order.paymentStatus = 'Awaiting Payment'> Aguardando Pagamento
<#elseif order.paymentStatus = 'Cancelled'> Cancelado
<#elseif order.paymentStatus = 'Refunded'> Reembolsado

Order fulfillment statuses:

<#if order.fulfillmentStatus = 'Processing'> Processando
<#elseif order.fulfillmentStatus = 'Awaiting processing'> Aguardando Processamento
<#elseif order.fulfillmentStatus = 'Shipped'> Enviado
<#elseif order.fulfillmentStatus = 'Delivered'> Entregue
<#elseif order.fulfillmentStatus = 'Will not deliver'> Não será entregue
<#elseif order.fulfillmentStatus = 'Returned'> Devolvido

Save the changes. After that, customers will get email notifications in the language that you’ve translated them into.

Did this answer your question?