Automation to recover abandoned carts

Michal Michal Krejčí
17. September 2023

Up to 70% of shopping carts are abandoned during online shopping. With Boldem, you can track these unfinished purchases and automatically contact registered customers. The average open rate for an abandoned cart after receiving a notice is 55% among our customers, with a 20% click-through rate, so it’s definitely worth spending some time on automation.

Automation goal

The goal of an abandoned cart recovery automation is to automatically send undecided registered customers who didn’t complete a purchase on your online store an email, or a series of timed messages. The emails remind the customer that their purchase wasn’t completed and include all the products they intended to buy.

By implementing this automated process, you’ll increase the chances of convincing a customer to return to an abandoned shopping cart and complete their purchase. Sometimes a simple nudge is enough; other times you’ll need a stronger incentive, like a discount or a time-limited sale.

Abandoned shopping cart email campaigns achieve the highest conversion rates of all marketing emails, because they target customers who have already shown some interest in a product. The reasons for not completing an order can be completely mundane — for example, the customer’s browser window got buried among many others, or they simply closed it by mistake and forgot about it.

Prerequisites

To create an automation to track an abandoned shopping cart, you will need:

  • Activated E-mailing plan in your Boldem account.
  • Fully verified sending domain.
  • Online store integrated with a Boldem account.
  • Transactional templates – messages you want to send to recipients.
  • Promo codes (optional) — if you choose to offer them to customers through automation, you need to add them first.

See details for each step in the chapters below.

E-shop integration with your Boldem account

To ensure order and cart data from your online store load correctly into the Boldem app and so you can effectively use automations and subscription forms, you must first integrate your website with your Boldem account. You have the following integration options:

  • Instant integration of your online store with Shoptet or Upgates, enabling seamless synchronization of contacts, cart data, and orders.
  • Advanced integration of any website or online store on any platform that, besides displaying the form, can also sync contacts or order and cart data. This integration requires a developer to create a custom integration for you.

For full functionality of the integration, a Boldem account with the E-mailing plan, or higher is required. You can change your plan at any time via the Billing menu. If you run into problems upgrading to a higher plan, contact your sales representative or our customer support by email, phone, or chat.

Below are instructions for integrating different platforms with your Boldem account:

Transactional Template

Only transactional templates can be used in automations. Any smart template can be set as a transactional template. A fully verified sending domain is required for a transactional template to work properly. You can manage sending domains in Settings/Domains.

For automating abandoned cart tracking, we recommend inserting a special code into your transactional template that displays the customer’s shopping cart contents from your online store and, of course, a button or link that leads to your store or directly to the cart.

You can create a template from scratch, or use a ready-made abandoned shopping cart template from the template gallery.

Ready-made template for an abandoned shopping cart

The template contains everything needed for abandoned shopping cart purposes. All you have to do is customize its design and tone to best match your brand identity.

  1. Log in to the Boldem app and go to Templates.
  2. Click Create new template and select Create smart template.
  3. Select the option Choose a template from the gallery.
  4. In the list of templates, find the template named Abandoned shopping cart and click Apply.
  5. Customize the template further to suit your needs.

Custom template for an abandoned shopping cart

To create a custom transactional template for an abandoned shopping cart, follow these steps. You can update an existing smart template the same way; in that case, open the template and continue with step 4:

  1. Log in to the Boldem app and go to Templates.
  2. Click Create new template and select Create smart template.
  3. Choose whether you want to edit a predefined template from the gallery, work from a sample template, or start completely from scratch with a blank template.
  4. Click the gear icon. The Information tab will appear.
Template settings gear
  1. On the Information tab, enter the template name, subject, and preheader (subject preview).

We recommend naming your template according to the context or scenario you’ll use it in automations, so you can easily find it in the template list.

  1. Enable transactional features with the toggle switch Template for transactional emails (Automation and API). An additional field for the transactional template will appear.
  2. Fill in the Sender Email, Sender Name, and select Domain Router from the dropdown list.

Enter a working sender email address. This address must be on a domain you’ve verified in Boldem. Add or verify a domain in Settings/Domains.

You now have a basic transactional template ready; for abandoned cart use, we recommend inserting special strings — so‑called variables — that automatically display the customer’s shopping cart contents from your online store.

shopping cart - example, variables

In the template, select where you want to display the shopping cart contents, and enter the following variables with text in order:

{{item.name}}

{{item.priceVat}} Kč

{{item.quantity}} pcs

Total price including VAT: {{cart.priceVat}} Kč

Meaning of each variable:

  • {{item.name}} – displays the product name.
  • {{item.priceVat}} – displays the product price incl. VAT.
  • {{item.quantity}} – displays the product quantity.
  • {{cart.priceVat}} – displays the total price for all products in the shopping cart incl. VAT.

If you also want to display images for products, insert an image block into the template and double-click it to view and edit its properties.

  1. Enter the string {{item.imageUrl}} in the Image URL field.
  2. Enter the string {{item.url}} into the Image link field.
  3. Enter the string {{item.name}} into the Alternative text field
Edit image for abandoned shopping cart
  1. Also add a link to your online store in the template in an appropriate place, or preferably directly to the URL where your store’s shopping cart is displayed.
  2. Click Done in the top right corner and select Save and Exit.

In our example, the generated email with the contents of an abandoned shopping cart will look something like this:

Abandoned cart preview

Promo codes

If you decide to give your customers a discount to encourage them to complete their purchase, it’s practical to use a separate promo code for each customer. Before using promo codes in a template, you must enter them into the system — either manually or by importing from a file:

  1. Go to Settings/Promo codes.
  2. Click All groups and select Add group.
  3. Enter a group name, choose its color, and confirm by clicking the Add button.
  4. Click on New promo code.
  5. In the drop-down menu Expiry date settings, select the type of validity for the promo codes. It should match the validity set in the online store from which you generate the promo codes.
    • No time limit – all imported promo codes can be used without expiration.
    • Common – all imported promo codes share a single expiration date and time. Once selected, a field will appear to enter the common expiration date.
    • Individual – each imported promo code has a defined expiration date and time. In this case you must have two custom fields in the imported file: one for promo codes and the other for the expiration date (or date and time).
  6. If you have a file of promo codes to import, click Select file and confirm your choice by clicking Create.

The file with promo codes must be in Excel, CSV, or TXT format, with promo codes stored one per row. Optionally, the imported file can contain the promo code expiry date in the second column in the date format you use in your account (see Settings/General/Basic settings – Date & time format), or in the default English format mm/dd/yyyy. The expiry date will be applied only if you selected Individual for Expiry date.

  1. You can also import a small number of promo codes manually by entering them into the Promo codes field. In that case, enter one promo code per row. To add an expiry date to manually entered promo codes, select Expiry date settingsIndividual in the drop-down menu and append a semicolon or vertical bar to the promo code name, followed by the date and time in the format set in your account (see note above), e.g.:
CouponCode11;29.3.2028 11:38

CouponCode12|29.3.2028 12:00
  1. Confirm the dialog by clicking Create.

Using a promo code in a template

You can organize promo codes into groups that can be assigned different colors and names. Each group has a unique identifier, e.g. {{coupons.group_794}}. Copy it and paste it into the templates you plan to use in campaigns or automations.

promo code identifier

In the template, paste the copied promo codes group identifier where you want unique promo codes to appear to recipients after the campaign is dispatched or after starting an automation and sending transactional emails.

Using a promo code

Personalized salutation in the template

When creating a template you’ll send to recipients, always consider how its opening — the greeting — will come across to them. It should be as personal as possible. Boldem can help with that:

Automatic declension of first names

Boldem can automatically inflect first names into the 5th case. To generate salutations, use the vokativ variable. Use this variable by inserting the following string into the template:

{{ vokativ contact.name }}

This string will be replaced after the message is dispatched with the recipient’s first name in the correct vocative form. For example, if the recipient’s first name is Jana, the template will show Jano. To address the recipient informally as Ahoj Jano, use the following string in the template:

Hi {{ vokativ contact.name }},

If you’d like to thank someone for registering, use the following string:

Thank you for registering, {{ vokativ contact.name }}!

Example of personalization in Boldem – first names

Automatic surname declension with gender awareness

In many cases of personalized salutations, you need to correctly inflect not only the recipient’s first or last name but also adjust the salutation itself based on the recipient’s gender. Since Boldem lets you record a recipient’s gender, using the resulting string is a breeze.

In certain cases, recipients’ gender is automatically assigned based on the provided first or last name (e.g., when creating manually or optionally during bulk import). For nonstandard names, gender won’t be set automatically, so it’s advisable to verify ambiguous names and enter them manually.

If gender is set for recipients, you can use the following string in the template instead of a specific salutation:

Thank you for registering{{ if contact.sex != null }}{{ if contact.sex == 1 }}, Mr. {{ end }}{{ if contact.sex == 0 }}, Ms. {{ end }}{{ vokativ contact.surname }}!{{ else }}!{{ end }}

This string is actually scripting code that checks whether a given recipient has their gender set correctly and uses the appropriate salutation:

  • If gender is set to Male and the recipient’s last name is Novák, the salutation used is: Thank you for registering, Mr. Novák!
  • If gender is set to Female and the recipient’s last name is Svobodová, the salutation used is: Thank you for registering, Ms. Svobodová!
  • If gender is not set, a gender-neutral salutation without a last name will be used: Thank you for registering!

You can, of course, customize the salutation text (shown in bold in the example) to suit your needs. We recommend always thoroughly testing the salutation on a small sample of test recipients with all variants (i.e., both genders and a recipient with no gender specified).

Example of using personalization in Boldem – last name

You can similarly distinguish the salutations “Dear Sir”, “Dear Madam”, or “Hello” when the recipient’s gender isn’t specified. In that case, use the following code in the template:

{{ if contact.sex != null }}{{ if contact.sex == 1 }}Dear Mr. {{ end }}{{ if contact.sex == 0 }}Dear Ms. {{ end }}{{ vokativ contact.surname }},{{ else }}Hello,{{ end }}

The result is personalized salutations based on the specified gender:

Automation scenarios

Before creating an automation scenario, decide what you want to achieve—primarily how long after recipients abandon their shopping cart you want to send the first message. Also decide whether to send one email or multiple emails and at what intervals. Finally, clarify whether you want multiple steps and, for example, to offer recipients a discount in the second email.

Below we’ve selected examples of automation scenarios you can create in Boldem for abandoned shopping carts. This list is by no means exhaustive, and there’s no limit to your imagination — you can mix and match automation blocks to fit your needs:

Automation scenario – abandoned shopping cart with one notice

With this simple abandoned cart recovery automation, you’ll send customers who didn’t complete a purchase a single email notice, after first verifying they haven’t already completed it.

abandoned shopping cart automation 1

Create automation

  1. Log in to your Boldem account and go to the Automation section.
  2. Click Create new automation.
  3. Enter an automation name and a description. Both are for your reference and can be changed later on the Settings tab in the automation details.
  4. Confirm your submission by clicking Create automation.

The automation diagram opens, with an overview of blocks you can use in an automation on the left and a canvas on the right where you’ll place them. Adding is done by dragging and dropping individual blocks (drag and drop).

Remember that the automation isn’t saved automatically, so we strongly recommend saving it regularly by clicking the Done/Save button. You can edit the automation for as long as you like — it won’t activate until you click the Start button.

Automation trigger

First, we need to add a trigger block that tells the automation how and how often a recipient will enter it. For the abandoned cart recovery automation we’ll use the Website event occurs block.

  1. On the left, select the Triggers tab, drag the Website event occurs block onto the automation canvas and double-click it to open the block settings.
  2. In the drop-down menu Select website, choose a previously integrated online store. If you don’t see the online store in the menu, the integration wasn’t set up correctly. Check the status in Settings/Integrations or add the online store.
  3. In the drop-down menu Select action, choose User did not complete the order.
  4. In the How many hours after the action should this trigger start? field, enter when the trigger should activate. In other words, enter the number of hours that must pass from the moment the customer left items in the shopping cart or last modified it. The default and minimum value is 2 hours.
  5. Turn on the toggle switch Start automation repeatedly. This ensures the system will regularly monitor the abandoned carts of all recipients.
  6. In the field After how many days can the recipient re-enter the automation? enter how many days should pass before the recipient can rejoin the automation.
  7. Click Save.
trigger Website event occurs

Insert conditional block

After the delay set in the trigger expires (in our case left at 2 hours), we need to check whether the recipient has already completed the purchase so we don’t send an unnecessary message about an incomplete purchase. We’ll add a condition block to the automation. Follow these steps:

  1. In the left pane, select the Operators tab, drag the Condition block onto the automation canvas, and double-click it to open the block settings.
  2. Click Select new condition. A dialog to select a condition will open.
  3. In the Source drop-down menu, select Recipients’ activity on the website.
  4. In the drop-down menu Select website, choose a previously integrated online store. If you don’t see your store in the menu, the integration wasn’t set up correctly. Check the status in Settings/Integrations or add your online store.
  5. In the drop-down menu Recipients’ activity on the website, select Purchased in store.
  6. In the drop-down menu Time limit select how far back the condition should be evaluated. In our case we want to evaluate the last 3 hours. That’s because the automation starts after two hours and takes some time, so it’s safer to evaluate the last 3 hours. So choose For the last X hours and enter 3.
  7. Click Save rule.
  8. Click Save to save the entire block.
hour segmentation rule

After the condition block, we add additional blocks to reflect its evaluation. We have two branches — one for a positive result and one for a negative result:

Conditional block branch – Yes

If the recipient met the specified condition — in our example, purchased from our store within the last 3 hours — you can leave this branch empty, as there’s no reason to notify the recipient. In that case, the automation ends for that recipient.

Conditional block branch – No

If the recipient doesn’t meet the condition you set — in our example, doesn’t make a purchase in our store within the last 3 hours — we’ll add a block to this branch to send an email notifying the recipient about the abandoned shopping cart.

How to add a block to email dispatch:

  1. On the left, select the Actions tab, drag the Send email block onto the automation canvas, and double-click it to open the block settings.
  2. From the Template drop-down menu, select the transactional template you want to send to the recipients.
  3. Leave the other settings at their defaults and click Save.

The email should not only be motivational but should also include variables to display the contents of the abandoned shopping cart. See the Transactional template chapter above.

Connect individual blocks by clicking and dragging the mouse:

Abandoned cart automation in Boldem

Proceed to the chapter Testing and start of automation.

Automation scenario – abandoned cart with a notice and discount offer.

This shopping cart recovery automation is used to dispatch two emails to recipients who didn’t complete their purchase – a notice and, after a delay, a discount offer. The automation also checks whether the recipient has already completed the purchase.

Abandoned cart automation blocks for Boldem

Create automation

  1. Log in to your Boldem account and go to the Automation section.
  2. Click Create new automation.
  3. Enter an automation name and a description. Both are for your reference and can be changed later on the Settings tab in the automation details.
  4. Confirm your submission by clicking Create automation.

The automation diagram opens, with an overview of blocks you can use in an automation on the left and a canvas on the right where you’ll place them. Adding is done by dragging and dropping individual blocks (drag and drop).

Remember that the automation isn’t saved automatically, so we strongly recommend saving it regularly by clicking the Done/Save button. You can edit the automation for as long as you like — it won’t activate until you click the Start button.

Automation trigger

First, we need to add a trigger block that tells the automation how and how often a recipient will enter it. For the abandoned cart recovery automation we’ll use the Website event occurs block.

  1. On the left, select the Triggers tab, drag the Website event occurs block onto the automation canvas and double-click it to open the block settings.
  2. In the drop-down menu Select website, choose a previously integrated online store. If you don’t see the online store in the menu, the integration wasn’t set up correctly. Check the status in Settings/Integrations or add the online store.
  3. In the drop-down menu Select action, choose User did not complete the order.
  4. In the How many hours after the action should this trigger start? field, enter when the trigger should activate. In other words, enter the number of hours that must pass from the moment the customer left items in the shopping cart or last modified it. The default and minimum value is 2 hours.
  5. Turn on the toggle switch Start automation repeatedly. This ensures the system will regularly monitor the abandoned carts of all recipients.
  6. In the field After how many days can the recipient re-enter the automation? enter how many days should pass before the recipient can rejoin the automation.
  7. Click Save.

Inserting the first conditional block

After the delay set in the trigger expires (in our case left at 2 hours), we need to check whether the recipient has already completed the purchase so we don’t send an unnecessary message about an incomplete purchase. We’ll add a condition block to the automation. Follow these steps:

  1. In the left pane, select the Operators tab, drag the Condition block onto the automation canvas, and double-click it to open the block settings.
  2. Click Select new condition. A dialog to select a condition will open.
  3. In the Source drop-down menu, select Recipients’ activity on the website.
  4. In the drop-down menu Select website, choose a previously integrated online store. If you don’t see your store in the menu, the integration wasn’t set up correctly. Check the status in Settings/Integrations or add your online store.
  5. In the drop-down menu Recipients’ activity on the website, select Purchased in store.
  6. In the drop-down menu Time limit select how far back the condition should be evaluated. In our case we want to evaluate the last 3 hours. That’s because the automation starts after two hours and takes some time, so it’s safer to evaluate the last 3 hours. So choose For the last X hours and enter 3.
  7. Click Save rule.
  8. Click Save to save the entire block.
hour segmentation rule

After the condition block, we add additional blocks to reflect its evaluation. We have two branches — one for a positive result and one for a negative result:

Branch of the first conditional block – Yes.

If the recipient met the specified condition — in our example, purchased from our store within the last 3 hours — you can leave this branch empty, as there’s no reason to notify the recipient. In that case, the automation ends for that recipient.

Branch of the first conditional block – No

If the recipient doesn’t meet the condition you set — in our example, doesn’t make a purchase in our store within the last 3 hours — we’ll add a block to this branch to send an email notifying the recipient about the abandoned shopping cart.

How to add a block to email dispatch:

  1. On the left, select the Actions tab, drag the Send email block onto the automation canvas, and double-click it to open the block settings.
  2. From the Template drop-down menu, select the transactional template you want to send to the recipients.
  3. Leave the other settings at their defaults and click Save.

The email should not only be motivational but should also include variables to display the contents of the abandoned shopping cart. See the Transactional template chapter above.

Insert delay

After sending the email, we want to give the recipient time to complete the order. So we set a delay — the amount of time you give the recipient to respond to the message and finish the order. How to add a delay:

  1. In the left pane, select the Operators tab, drag the Wait block onto the automation canvas, and double-click it to open the block settings.
  2. From the drop-down menu, select After a certain time and choose a delay, e.g., 2 days.
  3. Click Save.
Wait block

Insert a second conditional block

After the delay set above has elapsed (in our case 2 days), we need to check whether the recipient has already made a purchase so we don’t unnecessarily send them a message offering a discount. We’ll therefore add a conditional block to the automation. Follow these steps:

  1. On the left, select the Operators tab, drag the Condition block onto the automation canvas, and double-click it to open the block settings.
  2. Click Select new condition. A dialog will open to choose a condition.
  3. In the Source drop-down menu, select Recipients’ activity on the website.
  4. In the Select website drop-down menu, choose the store you previously integrated. If you don’t see the store in the list, the integration wasn’t set up correctly. Check the status in Settings/Integration or add the store.
  5. In the drop-down menu Recipients’ activity on the website, select Purchased in store.
  6. In the Time window drop-down menu, choose the time period over which the condition should be evaluated. In our case we want to evaluate the last 2 days. So select Last X days and enter 2.
  7. Click Save rule.
  8. Click Save to save the entire block.
segmentation rule - 2 days

After the condition block, insert additional blocks to account for its evaluation. Two branches are available — one for a positive result and one for a negative result:

Conditional branch of the second block – Yes

If the recipient met the specified condition — in our example, made a purchase at our store within the last 2 days — you can leave this branch empty, since there’s no reason to notify the recipient. In that case, the automation ends for that recipient.

Second block conditional branch – No

In case the recipient does not meet the condition you set – that is, in our example does not make a purchase in our store within the last 2 days, we will add a block after that branch to dispatch an email notifying the recipient about the abandoned shopping cart, ideally with a stronger incentive such as a discount.

How to add a block to email dispatch:

  1. On the left, select the Actions tab, drag the Send email block onto the automation canvas, and double-click it to open the block settings.
  2. From the Template drop-down menu, select the transactional template you want to send to the recipients.
  3. Leave the other settings at their defaults and click Save.

The email should not only be motivational but should also include variables to display the contents of the abandoned shopping cart. See the Transactional template chapter above.

Connect individual blocks by clicking and dragging the mouse:

Integration of a block in Boldem automation for an abandoned shopping cart

Test and start the automation

You can further tailor the automation to your needs — change the number and type of emails sent, delays, and conditions over time to see what works best for your customers.

Once you’re satisfied with the settings and number of blocks, save the automation by clicking Done/Save.

Thoroughly test the automation before starting it! Testing procedures can be found in the article Testing Automations. We recommend not underestimating testing and starting the automation only after thorough testing.

Once testing is successfully completed, start the automation by clicking Start.