All Collections
Abandoned carts
Create an abandoned cart program
Create an abandoned cart program

Automatically send your email or SMS abandoned cart campaigns.

Laura Russell avatar
Written by Laura Russell
Updated over a week ago

You can use an abandoned cart program to automatically send reminders to your contacts after they add products to their cart but don't complete the purchase.

An abandoned cart is an event that’s triggered when:

  • Subscribers who click through from a Dotdigital email campaign add items to their cart and then leave the store without completing an order.

  • Visitors submit their email address or mobile number, add items to their cart, and then leave the store without completing an order.

  • Logged-in customers or new account creators add items to their cart and then leave the store without completing an order.

When an abandoned cart is triggered, the details of the cart are stored as a record in the contact's CartInsight data collection in Dotdigital. This CartInsight data includes items such as the URL of the cart, the products in the cart, and the total price of the cart.

You can send abandoned cart reminders through email or SMS. If you want to, you can configure both channels in a single program, and set a decision for which contacts receive which message type; for example, those contacts that you hold a mobile number for are sent an SMS, while those that you only hold an email address for are sent the email campaign.

You can also send MMS abandoned cart campaigns. This works in a very similar way to sending SMS campaigns, but there are some limitations for which contacts can be sent MMS which do not apply to SMS.

Learn more in Activate MMS.

Before you start

Things you need to know:

  • You must be syncing your order and cart insight data to Dotdigital, either using one of our ecommerce connectors, or using a custom integration.

  • You must have abandoned cart program enrolment set up for your store.

  • To send SMS, your contacts’ mobile numbers must be stored in the system Mobile number field, and not in a custom data field.

If you need to migrate your contact mobile numbers from a custom data field to the system field, learn how in the section Merging contacts.

1. Create your campaigns

When you create your abandoned cart program, you need to select the SMS or email campaigns you want to send. Whilst it’s possible to create the campaigns after your program, it’s simplest to get your campaigns ready first, so that your program is ready to start enrolling contacts as soon as you’ve completed the set up.


Create an email campaign which contains an Abandoned cart block. This block contains a link back to the contact’s cart on your store, allowing them to easily complete their purchase.


Create an SMS message which uses Liquid markup to add a link to the customer’s cart to the SMS message body.

2. Create a program

You can create an abandoned cart program either from scratch, or using a program template. You can select from the SMS and Email - Abandoned cart template under the SMS program templates section, or there’s also an Abandoned Cart template for email only under the Ecommerce section.

  1. Go to Automation and select the Quick create icon for Programs.

  2. On the Choose a template page, select the template you want to use.
    Or select Blank template to build from scratch.

  3. Enter a name for your program, and choose a location.

  4. Select CONTINUE.

3. Configure the Start node

  1. Select the start node.

  2. Select SET SCHEDULE, then select No scheduled enrollments.
    This is because the abandoned cart trigger is managed outside the program.

  3. Select APPLY.

4. The first Decision node

This first Decision node checks three things:

  • Has the contact completed their order?
    This is determined by looking at the cartPhase. If cartPhase is equal to ORDER_COMPLETE the contact has placed the order.

  • Has the contact made a different purchase recently?
    This is determined by looking at the purchase_date. If purchase_date occurs in the last one day, or whichever time frame you choose to set, the contact has purchased an item from your store very recently.

  • Has the contact removed the items from their cart?
    This is determined by looking at the subTotal. If subTotal is equal to 0 then the contents of the cart have been emptied.

You won’t want to send an abandoned cart reminder to a contact for whom any of the above conditions are true, so we use the decision node Yes path to exit such contacts from the program.

  1. Select the decision node.

  2. For Condition, select SELECT CONDITION, then select Present in the selected segment.

  3. Select CREATE NEW.

  4. In the segment editor, drag the Insight data block into the Include box.
    If you only have a small number of Insight data collections, each collection may have its own block. If so, drag in the cartInsight block and skip to step 6.

  5. Select the block, then expand the first drop-down menu and select cartInsight.

  6. For Contact filter, select Number of, and then add the filter The number of records is greater than or equal to 1.

  7. For Record filters, add two filters:

    • modifieddate occurs today

    • cartPhase is equal to ORDER_COMPLETE.

  8. Select OKAY.

  9. Drag a second Insight data block into the Include dropzone, and set the rule relationship toggle to Or.

  10. Add a second CartInsight rule to identify contacts where subTotal is equal to 0 and ModifiedDate occurs today, then select OKAY.

  11. Drag a third Insight data block into the Include dropzone and expand the first drop-down menu to select the Orders collection.

  12. Add a rule to identify contacts who have a purchase_date which occurs in the last one day, then select OKAY.

  13. For Maximum wait time, select IMMEDIATELY.

  14. Select APPLY.

Optional: the second decision node

If you want to send both SMS and email campaigns, then you can add another Decision node to decide which contacts receive which campaign type.

For example, you could use a Decision node to check whether you have a stored mobile number for a contact. If yes, then you send them an SMS campaign. If not, then you send them an email campaign.

To do this:

  1. Drag in a second decision node, linked to the NO path of the first Decision node.

  2. For Condition, select SELECT CONDITION, then select Contact data field rule.

  3. Expand the data field drop-down menu and select Mobile number.

  4. Expand the rule drop-down menu and select is empty.

  5. Select APPLY.

  6. For Maximum wait time, select IMMEDIATELY.

  7. Select APPLY.

6. Select your campaigns

  1. Drag in an SMS campaign node or Email campaign node.

  2. Select SELECT CAMPAIGN and choose the abandoned cart campaign you want to send.

  3. Select APPLY.

Additional campaigns

If you want to send more than one abandoned cart campaign on the same program path, you can do so by repeating the above process, with the addition of a Delay node following the previous campaign send.

The condition of the additional Decision node should follow the same logic we used previously, but should look for items created after the time period specified in the preceding Delay node.


You want a second email campaign to be sent 3 days after the first. The rules in your third Decision node should identify contacts who:

  • have a cartPhase value of ORDER_COMPLETE and ModifiedDate occurs in the last 3 days


  • contacts who have a subTotal equal to 0 and ModifiedDate occurs in the last last 3 days


  • contacts who have a purchase_date which occurs in the last 3 days

and remove them from the program.

Test the abandoned cart process

Once you’re happy with the program you’ve built, you must thoroughly test the process before finalising your changes:

  1. In your abandoned cart program, attach an additional Decision node to the Start node, before the Decision node which checks whether your contacts have made a purchase or emptied their cart.

    This new Decision node should be configured to remove contacts from the program if their Email or Mobile number Contact data field doesn't match your test contact.

    • YES path - Contacts continue through the rest of the program if they match your test contact.

    • NO path - Contacts exit the program if they don’t match the contact.

  2. Once the abandoned cart module has been configured on your store, log in as the contact you’re using for testing and add some items to your cart, then log out.

  3. Wait a few minutes, then, in Dotdigital, go to the Single customer view for your test contact, select the Insight data tab and check that the CartInsight record has been added.
    To access the Single customer view for a contact, go to Audience > Contacts and then use the search field to locate and select the contact.

  4. Wait a few more minutes, depending on the length of the cartDelay that you set in your store settings, and check that your contact has successfully been enrolled on the program.

After testing, remember to remove the extra Decision node from the program.

Did this answer your question?