Cart Abandonment Tracking and Customer Mailing List Opt-In
This article discusses how you can receive notifications when visitors to your website abandon the cart without purchasing. It also explains how to keep track of customers who have opted into your mailing list.
FastSpring Storefronts include an optional checkbox 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 keeps 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.
FastSpring communicates these two types of data via two specific webhook events designed for these purposes:
|mailingListEntry.updated||Sent when additions or changes to the 'abandoned,' 'subscribed' or 'unsubscribed' lists occur|
|mailingListEntry.removed||Sent when a previously-subscribed customer has cleared the opt-in checkbox 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 customer does not complete the order within 30 minutes, FastSpring considers the cart to have been abandoned. Within fifteen minutes of the end of that timer, an optional mailingListEntry.updated webhook event fires (if you have subscribed to this event). The webhook event data includes the customer's email address and shows the list and the reason as abandoned.
In addition, the webhook data includes several details about the product that the customer had selected before 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 Name||Description|
|product||The product path or ID of the product|
|quantity||The quantity of the product that the customer had selected|
|display||The product's customer-facing display name|
|summary||The product's summary description|
|imageURL||A URL pointing to the product's icon image file hosted by FastSpring|
Call to Action in Remarketing Messages
In the call to action of your remarketing message, you can include a 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 a link to the product page by appending the product path (from the product field in the webhook data) to the Homepage URL for the Storefront. Separate the Homepage URL from the product path using a forward slash.
For example, if the Storefront's Homepage URL is https://yourexamplestore.test.onfastspring.com and the product in the webhook data is "example-product-1", you would add /example-product-1 to the end of the URL to get https://yourexamplestore.test.onfastspring.com/example-product-1.
Customer Mailing List Opt-In Details
If a customer completes an order in less than 30 minutes, then FastSpring does not send an abandonment notice to you. If the customer's email address has never been used for an order in your Store, then the mailingListEntry.updated webhook event will fire within 15 minutes following the completed order. In that case, the list and the reason shown in the webhook data are either subscribed or unsubscribed, depending on whether or not the customer selected the opt-in checkbox.
If the customer has previously ordered from your account using the same email address, and the opt-in checkbox status was the same as for the new order, no mailingListEntry webhook event fires.
If a customer whose email address was previously on the subscribed list completes a new order with the opt-in checkbox cleared/not selected, then two separate webhook events will fire within 15 minutes (in addition to order.completed and related events):
- 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.