Overview #
Research shows that 67% of online shopping carts are abandoned before the customer completes a sale. With our powerful abandoned cart automation work-flows you can remind your customers what they’ve left behind and encourage them to complete their purchase. Abandoned cart messaging makes it easy for online sellers to reconnect with customers who navigate away from their shopping carts, recapture sales, and generate more revenue.
Abandoned cart emails are sent to customers who have added products to their cart but failed to check out.
Abandon carts admin page #
The Abandon carts admin page is used to show the details of the users who added items to the cart but closed the page or left the site without completing the order.
This page can be found in the Order/Abandon Carts menu.
When a logged in customer adds items to the cart, a record is automatically created on the Abandon Cart admin page.
The Abandon Carts administration page contains the following elements:
Elements | Description |
Search tool | The search tool consists of: 1. Search by – Dropdown menu to search by Email, Basket Data ID or Days. 2. Search field – To enter the Email, Basket Data ID or Days. Only the records that match the search will be displayed on the table. • Email – Specify a valid email to search by • Basket Data ID – Specify the Basket Data ID • Days – Specify the options: Today, 1-Week, 30-days 3. All Abandon Carts – To refresh the page and show all the records on the table. |
Basket Data ID | This code is given to the abandoned cart when its created. |
User name | Shows the Name and Last name of the user |
Shows the email of the user that logged in and added items to the cart | |
Basket Data | Shows the details of the items added to each cart all of them group and showed per line, with the following information: • Item Title • MCW code • and Qty |
Modified Time | Shows the updated time of last modification on the cart. If the shoppers add a new item to the cart, the Modified Time column will automatically update |
Pagination | Limited number of results are displayed on the page, use the pagination to move to a different page |
Export section | This section has provides two actions: 1) Status Click on this button to go to the Import / Export Status admin page and check the status of all the import/export task made on the store. 2) Export Click on this button to Export all the records on the Abandon Carts admin page |
2. When the customer completes the order, the record won’t be displayed anymore
If the customer leaves the store (logout, closes the page), the record remains.
If the customer adds a new item to the cart, the modified time is updated.
Development of Abandon Cart emails #
The Abandon Cart Notification email will be sent to the customer who has closed the browser or logged out after adding items to the cart without checkout. We can also configure after how many days the customer should get an email notification.
We divided this feature into two parts.
- a job/processor which monitors for abandoned baskets and add it into abandoned email queue
- a email processor which will handle email parameters, email content, and DTO attachments to generate content, and etc.
Prerequisites #
To control the behavior and configuration add/verify these new store properties #
- Property Name:ENABLE_ABANDON_CART_NOTIFICATION
Property Values: True/False
To enable abandoned cart email notifications on the particular store
2. Property Name: ABANDON_CART_NOTIFICATION_SCHEDULE
It will store an array with the hours for the 3 remainder emails, for example: ‘0.5,24,72’.
It means the system will send 3 notifications after the customer abandons the cart following this schedule:
First email: after 30 minutes
Second email: after 24 hours
Third email: after 3 days/72 hours.
NOTE: We only support 3 emails, when basketdata.sequence=3, it will not send the notification to the customer anymore.
If the store doesn’t config ABANDON_CART_NOTIFICATION_SCHEDULE, the default would be ‘0.5,24,72’.
We still use store prop ENABLE_ABANDON_CART_NOTIFICATION to enable/disable this feature
The quartz job abandonCartEmailJob will be running per 5 mins, so the first email sending time may not be exact 30 mins
Consider sometimes abandon_time may be not updated, if abandon_time = null but the modifytime passed one day, still send the notification and set the sequence to 1
3. Property Name: enablePersistantBasket = YES
Property Name: ABANDON_CART_NOTIFICATION_DAYS > STALE (IT WONT BE USED ANYMORE)Property Values: Any Positive INTEGER (ex: 1/2/3/…)To send email after these many days after abandoning the cart
1)Abandoned Cart Email Job: (Executes Every Day @ 1:00 AM)
Step 1: Gets All the stores which are enabled abandoned cart notifications Step 2: For each store get the abandoned basket data available from basketdata table. nickname is null and user id type 2(registered user) Step 3: Check if No of days condition matches(current date – basket modified date) =ABANDON_CART_NOTIFICATION_DAYS or 1 day by defaultStep 4: Add this basket to the abandoned cart email queue with required parameters like vid, baksetid, customer emails, etc.
This processor added new emails to queue, then once the email job triggers and check for entries in the email queue
Refer to ticket https://support.avetticommerce.com/mantis/view.php?id=70430
Abandoned Cart Email Processor and email setting #
Verify the Abandon Cart notification email is available:
Go to Orders/Email Settings/Search for ‘Abandon’. The ‘AbandonCartNotificationEmail’ should be found and the ‘available’ checkbox should be selected.
Verify the Abandon Cart notification email is set up properly
- Go to Orders/Email Settings/Search for ‘Abandon’.
- The ‘AbandonCartNotificationEmail’ Click on the icon.
Field | Description |
Template Skin | The template skin used for this email setting would be them1_en (default skin) |
Email Type | The name of the email being used, selected by dropdown, for more information go to Setup Instructions section of the page to learn about each one. |
Subject | Specify the subject that will appear on the email |
Subject (other language) | Specify the subject of the email being sent in a different language |
Email Components Processor | Specify the subject of the email being sent in a different language When this email processor triggers, there is a component attached to this which will invoke and add DTO to model for generating email content Step 1: Retrieve parameter added in the previous step (Abandoned cart email job) like vid, basketid, etc. Step 2: Get the details been used in the basketdataId from the BasketData Step 3: Add all item details to AbandonCartEmailDTO Step 4: Attach the DTO to model |
Mailhost | By default and for this particular email the mailhost should be localhost. |
UserName | Only required when the mailhost is not localhost, Username is used to login into the other host. The username is used on this case. |
Password | Only required when the mailhost is not localhost, Password is used to login into the other host. The password is used on this case. |
Affirm User Password | Password confirmation. The password is used on this case. |
Default Sender | The email of sender who sends out each email. In this case it will be [email protected] |
Default Receiver(To) | This template is important because after the process of the component processor is finished, the rest of the job will be done by the default email processor for rendering AbandonCartNotificationEmail template and sending email. |
Template | The template for the SMS. In this case it will not be used. |
SMS Template | The phone number used to send out the SMS. Which is not used in this case. |
Default SMS Phone | Allows the email or SMS to be tested to see if the message will be sent Note the test section of the page wont appear unless the email setting is being modified not created. |
Email & SMS test send | This slider will set as active this email setting |
Enable SMS Sending | This slider will set as active this email setting messages sent by phone |
Once finished modifying or creating an email, click the Ok or Update button to process the email settings.
Resending Email #
To Resend an email state that has already been created,
- Check the checkbox of the email state or states for which you need to resend the email.
- Click ‘Resend Email’ button to resend each state. This will then resend the email to the recipient/recipients, useful if the email was never sent or received.
Abandoned Cart Email Notification V2.0 (The Campaign) #
A three-email engagement campaign. The first email is sent to initiate re-engagement, the second to nudge abandoners in the right direction, and the third to make a hard sell — one last shot to close the deal.
Email 1: The Helpful Reminder #
When to send: One hour after cart abandonment
It’s important to send this email as quickly as possible in hopes of reaching the abandoner during the same internet session
List of elements to include
- Lists or displays the items left in the shopping cart
- Includes a link back to the shopping cart or checkout process
Email 2: The Friendly Nudge #
When to send: One day after cart abandonment
The second email reminds the abandoner of their existing shopping cart and should create a small sense of urgency. Easy ways to generate urgency include informing customers their carts will soon expire or that the items in their cart are popular and may sell out shortly
List of elements to include
- Creates subtle urgency
- Gives a deadline
- Lists or displays the items left in the shopping cart
- Includes a link back to the shopping cart or checkout process
Email 3: The Hard Sell #
When to send: Three days after cart abandonment
Until this point, you’ve been nudging and encouraging. For the third email, it’s time to get into selling mode with a tantalizing offer like free shipping or a discount on their order.
List of elements to include
- Is the final sell
- Offers discounts and/or free shipping
- Creates subtle urgency
- Gives a deadline
- Lists or displays the items left in the shopping cart
- Includes a link back to the shopping cart or checkout process
A great abandoned cart follow-up campaign is complex but doable, which will have some positive impact on our business.