Abandoned cart - email

The most common way that stores reduce abandoned carts is by setting up an automated email sequence. Thanks to the collected database with email addresses, you can easily reach customers and send them messages reminding them about unfinished purchases. The message contains products left by users in the cart, with the goal of โ€œsavingโ€ abandoned carts and convicing the customer to make a purchase.

Example of use - Jewelry industry

A customer from the jewelry industry decided to send a message to users who added the product to a cart but did not complete the transaction. The message contained abandoned products and was sent one hour after adding any product to the cart.

Screenshot presenting email with abandoned cart
Email with abandoned cart


  • OR 43,92%
  • CTR 13,85%
  • Conversion 11,5%


How to do it

To prepare such scenario, you have to follow 5 important steps.

  1. Send event
  2. Prepare an aggregate
  3. Prepare a product catalog
  4. Prepare an email template
  5. Prepare automation

Send event

To save the abandoned cart, you must collect the “current cart status” event - it contains information about the current status of the user’s cart. Each time a user adds or removes a product from the cart, the event will be sent to Synerise. Instructions on how to send such an event can be found here. Cart.status event looks as follows:

Check the Javascript code

 SR.event.trackCustomEvent('cart.status', {
    products: [
            sku: 236,
            quantity: 2,
            brand: 'brand1',
            category: 'cat1'
            sku: 436,
            quantity: 1,
            brand: 'brand1',
            category: 'cat1'
    totalAmount: 0,
    totalQuantity: 3
    }, 'CartStatus');

Prepare an aggregate

  1. Prepare an aggregate containing products from the last cart.status event.
  2. Go to the aggregates and click New aggregate.
  3. Select the LAST type, the cart.status event and indicate the product parameters.
    Important: The aggregate created in such a way gives the last event with the action cart.status and returns the product parameter from the last 120 minutes. Thanks to this, in the email it will be possible to access data that are labeled as products.
Screenshot presenting AB test
Final settings

Prepare a product catalog

The event cart status contains the most important information about the product - its ID.

  1. To add additional information about the product in the email template, such as a photo, price, link, you need a product catalog.
  2. You can import your feed following these instructions or you can use Snrs-product-ogTag catalog which is automatically built from product page og tags.

Prepare an email template

  1. Go to Communication > Email > Template and create an email template in the code editor.
  2. To add abandoned products, you will have to use Jinjava and add your own CSS. If you want to display all objects that are under the key products, follow the instruction:
Check the Jinjava code

<!-- Opening the tag that retrieves the value from the aggregate prepared in point 1-->
{% aggregate XXXXXXXXXXX %}
       for loop below:
   <!-- In the section {% for r in aggregate_result %} a {% endfor %} there is access to all variables from a given object (products here) - which parameters you add to the template depends on you. ->
       {% for r in aggregate_result %}
         next item:
<!-- {{ r.brand }} {{ r.category }} {{ r.sku }} - parameters taken from the cart.status event - the sku is key. The use of brand and category is optional-->
           {{ r.brand }}
           {{ r.category }}
           {{ r.sku }}
<!-- {% catalog.Snrs-produktu-ogTag(r.sku).og:XXX %} downloads additional data from a catalog built on the basis of og tags - which information about the product you want to add in the template depends on you. If you want to add the product name, photo, link, price in the e-mail - you can take it from the catalog -->
           {% catalog.Snrs-produktu-ogTag(r.sku).og:image %}
           {% catalog.Snrs-produktu-ogTag(r.sku).og:title %}
           {% catalog.Snrs-produktu-ogTag(r.sku).product:price:amount %}{% catalog.Snrs-produktu-ogTag(r.sku).product:price:currency %}
           {% catalog.Snrs-produktu-ogTag(r.sku).og:url %}
       {% endfor %}
 <!--     Closing of the tag that gets the value from the aggregate prepared in point 1 -->
{% endaggregate %}

Prepare automation

To start sending abandoned cart emails to customers you will have to prepare a workflow, which in basic configuration may look like the one below. Of course, you can add additional nodes, depending on your needs, but letโ€™s focus on this workflow and get deeper into each node.

`Screenshot presenting prepare Automation
The diagram of the workflow
  1. Start with the Client Event. In the settings of the node, select the productAddToCart event.

    Screenshot presenting prepare Automation
    Configuration of the Client Event node
  2. Add the Delay node to define the lag between adding a product to the cart and sending an email with the products from the cart. In this example it is 1 day (24 hours).

    Screenshot using the Delay
    Configuration of the Delay node
  3. To exclude users who made transaction in the last 24 hours, add the Client Filter node. In the settings of the node:

    1. Click the matching to change the settings of the filter to not matching.
    2. Select transaction.charge event.
    3. Set the date range to the last 1440 minutes.
      Important: Use 1440 minutes instead of 1 day โ€“ use smaller granulation, as in this case 1 day would take the time from current hour till the midnight, so such an analysis will not take into consideration all necessary users.
    Screenshot presenting Client Filter
    onfiguration of the Client Filter node
  4. Add Send Email. In the settings of the node, choose the email account from which the email is sent, select the template that you prepared in the previous steps, add the subject of the email and UTM parameters.

    Screenshot selecting the appropriate email account
    Send Configuration of the Send Email node
  5. Configure the final settings

  • Add End nodes where the workflow should finish for users.
  • Define capping (here 1 for 1 day).
  • Optionally, add titles to each node so the workflow will be more understandable to your colleagues.
  • Name the workflow.
  • To save it as a draft, click Save it or activate by clicking Save & Run.

Read more

This use case belongs to the following categories:




We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.



Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.