Cart Abandonment Tracking and Customer Mailing List Opt-In

Last modified October 5, 2018

This article applies to Contextual Commerce. (Looking for Classic Commerce documentation?)

FastSpring Storefronts include an optional check box that your customers can use to opt in or opt out of future email messages you may send. If you subscribe to certain webhook events under Integrations > Webhooks, FastSpring will keep you appraised of the current mailing list status for each customer email address.

You can also collect email addresses of customers who have entered their addresses but abandoned the cart without making a purchase.

The communication of this data is accomplished via two specific webhook events designed for these purposes:

mailingListEntry.updatedSent when additions or changes to the 'abandoned', 'subscribed' or 'unsubscribed' lists occur
mailingListEntry.removedSent when a previously-subscribed customer has cleared the opt-in check box and completed an order

Cart Abandonment Tracking Details

When a customer enters his or her email address on your Storefront, that begins the 30-minute cart abandonment timer. If the order is not completed within 30 minutes, the cart will be considered to have been abandoned. Within fifteen minutes of the end of that timer, a mailingListEntry.updated webhook event will fire. The webhook data will include the customer's email address and will show the list and the reason as abandoned.

In addition, the webhook data now includes several details about the product that had been selected by the customer prior to abandonment. The product details may be helpful to you in creating customized remarketing messages to send to customers who have abandoned the cart. For example, a customized remarketing message could include details about the product and the product's icon image, to remind the customer what they had selected. 

Here are the product details included in the webhook data:

webhook data namedescription
productThe product path or ID of the product
quantityThe quantity of the product that the customer had selected
displayThe product's customer-facing display name
summaryThe product's summary description
imageURLA URL pointing to the product's icon image file hosted by FastSpring


The webhook data includes the product detail fields within an array, so if the customer had selected more than one product prior to abandoning the cart, the webhook data will include separate details for each product that was in the cart.

Call to Action in Remarketing Messages

In the call to action of your remarketing message, it may be a good idea to include a direct link that customers can use to return to the Storefront with the product already selected for them. In the case of Web Storefronts, you can create this link by simply appending the product path (from the product field in the webhook data) to the Homepage URL for the Storefront - separated by a forward slash - to generate a link to the product page.

For example, if the Storefront's Homepage URL is and the product in the webhook data is "falcon", you would add /falcon to the end of the URL to get


If you are interested in taking advantage of professional third-party remarketing services to receive the webhook data, parse the information, and send remarketing messages to customers who have abandoned the cart, check out our Extensions Tab. We offer easy-to-use integrations with AdRoll, Constant Contact, MailChimp and UpSellit.

Customer Mailing List Opt-In Details

If a customer completes an order in less than 30 minutes, then no abandonment notice will be sent to you. If the customer's email address has never been used for an order, then the mailingListEntry.updated webhook will fire within 15 minutes following the completed order. In that case, the list and the reason shown in the webhook data will be either subscribed or unsubscribed, depending on whether or not the customer selected the opt-in check box.

If the customer has previously ordered from your account using the same email address and the opt-in check box status was the same as for the new order, no mailingListEntry webhook will be fired.

In the event that a customer whose email address was previously on the subscribed list places and completes a new order with the opt-in check box cleared / not selected, then two separate webhooks will fire within 15 minutes (in addition to order.completed, etc.):

  • mailingListEntry.removed will show the list as subscribed, since the customer's email address is being removed from the subscribed list.
  • mailingListEntry.updated will show the list and the reason as unsubscribed.