Recovering abandoned carts: track your website activity (step 1)

E-commerce businesses can recover lost sales with an effective abandoned cart strategy. SendinBlue makes this easy by giving you all the necessary tools to:

  1. Track shoppers' behavior on your website
  2. Create emails personalized with each shopper's abandoned products (learn how)
  3. Send abandoned cart emails at the perfect moment (learn how)

In this guide, we'll review step 1: tracking shopper behavior and recognizing when they abandon their shopping carts:

Tracking Overview

You can monitor your website and automatically follow-up with customers using our Automation tools:

  • Website tracking code - Monitor your visitors and identify your email contacts/customers.
  • Track events - Recognize when visitors perform key actions (like abandoning a cart) and send the relevant details to SendinBlue to trigger a follow-up email.

You can use these tools directly in a SendinBlue plugin or manually (without a plugin).

Installing your SendinBlue plugin

We recommend using a SendinBlue plugin to:

  • install the website tracking code in 2 clicks
  • automatically generate the standard track events needed to monitor abandoned carts.

Find which features are available with your plugin in the table below. Click the name of a plugin for instructions on how to install it and enable our Automation tools:

Plugins available Installs the
Sendinblue tracker
Creates track events
for abandoned carts
  WordPress   ✅   -
  Prestashop   ✅   ✅
  OpenCart   ✅   ✅
  JTL-Shop   ✅   - 
  Shopware   ✅   ✅
  Joomla   ✅   - 
  BigCommerce   ✅   ✅
  WooCommerce   ✅   ✅
  NopCommerce   ✅   ✅
  Magento 1   ✅   ✅
  Magento 2   ✅  
  Shopify   ✅   ✅

What if my plugin (or feature) isn't available yet? 

Don't worry - you can still use both Automation tools: 

Tracking abandoned carts  

When tracking abandoned carts, we recommend using these 3 standard track events to monitor a few key actions:

  1. cart_updated: use the same event to indicate when a cart is created or updated
  2. order_completed: use a unique event to indicate when a cart is purchased
  3. cart_deleted: use a unique event to indicate when products are deleted from an existing shopping cart

There are two ways to create and send these track events to SendinBlue:

A. Send abandoned cart events from a plugin

After installing your SendinBlue plugin and enabling Automation, some plugins will automatically create and send the 3 standard abandoned cart events to SendinBlue. (Reference the above feature chart.)

Good to know: If using the OpenCart plugin, event #1 is named cart_created (instead of "cart_updated").

B. Create your own abandoned cart events

You may also manually update your website to send the 3 necessary track events to SendinBlue. Please follow the technical documentation here to create your track events.

Good to know: If a developer assisted with the setup of your website, please share these instructions with your developer and request the creation of these events (typically takes less than one hour).

Naming & configuring your own events

We recommend using the 3 standard event names: cart_updatedorder_completed, and cart_deleted.

Within the events, be sure to include these two "objects": 

  1. properties: information about the shopper to personalize the abandoned cart recovery emails (e.g. first name, last name, etc.). If these details exist in your SendinBlue contact list as attributes, call them by their attribute name within the object.
  2. event data: information about the shopping cart and products. Include the cart's unique ID and product details to include in the abandoned cart emails (e.g. product name, price, image, etc.).

For example, let's say we are creating the "cart_updated" event. It must contain everything needed to personalize the abandoned cart follow-up email.


Our track event would be structured like this example: 

Sample "cart_update" event (JavaScript) 

	"cart_updated", {
		"email": ""
	}, {
		"id": "cart:MRKrT-nTyEB-yo6Z0-alZcC-nrVYv-EYvvq-JVXGx",
		"data": {
			"affiliation": "Designer Tees",
			"subtotal": 35,
			"discount": 5,
			"shipping": 5,
			"total_before_tax": 35,
			"tax": 3,
			"total": 38,
			"currency": "USD",
			"url": "",
			"items": [{
				"name": "Little Black Tee",
				"sku": "LBT0001",
				"category": "Tees",
				"id": "15",
				"variant_id": "1.1",
				"variant_name": "small",
				"price": 35,
				"quantity": 1,
				"url": "",
				"image": ""

Later, we will use the following event data in our email: 

  • Product name
  • Product quantity 
  • Product size
  • Product price
  • Product image
  • Link to the product page
  • Link to the cart 

Record event data for later use

While creating your events, please make note of the "parameters" and "keys" within your event data's JSON object.

This information will be referenced when creating an abandoned cart email template to follow-up with shoppers. You will insert placeholders in the email template which will be automatically replaced with your event data.


As shown in our example above, we referenced the following data:

  • parameter: items
  • variable (shown in red): items
  • keys (shown in green): namepricevariant name (size)quantity

The placeholders in your email should be formatted like this:

{{ YourVariable.YourKey }} 


{{ params.YourVariable }}

What's next?