Mailing List Entries

Use the mailingListEntry webhooks to collect abandoned cart information and send remarketing messages.

MailingListEntry webhooks collect email addresses and order information, which you can use for future marketing opportunities.

There are 3 mailingListEntry webhooks:

  • mailingListEntry.updated: Sends when a customer adds their email to your mailing list, or when the abandoned, subscribed, and unsubscribed lists change.
  • mailingListEntry.abandoned: Sends 30 minutes after the most recent activity. This applies if a customer entered their email, but did not complete their purchase.
  • mailingListEntry.removed Sends when someone removes an email address from the mailing list. This may happen when a customer unsubscribes.

Contents of Event Payloads

idstringID of the event.
liststringUpdated list: subscribed, unsubscribed, or abandoned.
updatedintegerDate of the update, in milliseconds.
reasonstringReason for the update: failed, subscribed, unsubscribed, or abandoned
orderobjectAssociated transaction information, if any.
    referencestringCustomer-facing order reference number. Null for incomplete transactions.
    idstringInternal order ID.
    orderstringInternal order ID.
    referrerstringURL of the page where the customer abandoned their cart.
    storefrontstringStorefront name.
    itemsarrayProducts that were in the cart when the customer entered their email. This array contains one object per product.
        productstringProduct path / ID.
        pathstringProduct path / ID of the parent product. This only applies to variations.
        quantityintegerProduct quantity.
        displaystringProduct's display name.
        summarystringDescriptive text from the product's summary field.
        imageURLstringURL of the product's icon image file.
        isVirtualbooleanTrue for all products.
        isSubscriptionbooleanTrue if the product is a subscription
        variationstringProduct variation ID. This only applies to variations.
        descriptionstringContents of the product's long description.
        skustringSKU ID of the product.
        pricingobjectProduct price. May contain one string pairing for each currency.
abandoned_cart_sessionstringSession ID of the abandoned cart. This expires after 24 hours.
abandoned_cart_session_urlstringStore ID with the abandoned cart/checkout session ID appended ie
abandoned_atstringDate and time of the abandonment.
emailstringEmail address entered or updated.
firstNamestringCustomer's first name, if known.
lastNamestringCustomer's last name, if known.
countrystring2 character ISO code of the country.
currencystring3 character ISO code of the currency in the abandoned cart.
languagestring2 character ISO language code for the language in which FastSpring processed the transaction.
storefrontstringStorefront name.
referrerstringFull URL of the page where the customer abandoned the cart.
optInstringTrue if the user has opted in to communications via the FastSpring checkout.



        "display":"Example Product 1",
        "summary":"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",
  "email":"[email protected]",


    "id": "11318408534c4eccacef0c585e9cf47739e56331ef3695ea4d0bbb3587788177",
    "list": "abandoned",
    "updated": 1619503632991,
    "reason": "abandoned",
    "order": {
        "reference": null,
        "id": null,
        "order": null,
        "referrer": "",
        "session": "8YXf4EdPSfI:BknYgazoSSC-GjChXtHRMQ",
        "storefront": "solisinc",
        "items": [{
            "product": "dj-soft-pro",
            "path": "dj-soft-pro",
            "quantity": 1,
            "display": "Yosoy Pro Cloud",
            "summary": "Yosoy Pro Cloud subscription",
            "imageUrl": "",
            "isVirtual": false,
            "isSubscription": true,
            "price": 255.46,
            "variation": "dj-soft-pro",
            "description": "Music anytime anywhere",
            "sku": null,
            "pricing": {
                "values": {
                    "USD": 255.46
        }, {
            "product": "product-b",
            "path": "product-b",
            "quantity": 1,
            "display": "Product B",
            "summary": null,
            "imageUrl": null,
            "isVirtual": false,
            "isSubscription": false,
            "price": 41.19,
            "variation": "product-b",
            "description": "Product B",
            "sku": null,
            "pricing": {
                "values": {
                    "USD": 45.0,
                    "EUR": 41.19,
                    "GBP": 33.65
        }, {
            "product": "how-to-win-friends-ebook",
            "path": "how-to-win-friends-ebook",
            "quantity": 1,
            "display": "Summary of How to Win Friends and Influence Others",
            "summary": "fdfsdYXWin friends and influence others...",
            "imageUrl": "",
            "isVirtual": false,
            "isSubscription": false,
            "price": 6.99,
            "variation": "how-to-win-friends-ebook",
            "description": "You can go after the job you want—and get it!nnYou can take the job you have—and improve it!nnYou can take any situation—and make it work for you!nnDale Carnegie's rock-solid, time-tested advice has carried countless people up the ladder of success in their business and personal lives. One of the most groundbreaking and timeless bestsellers of all time, How to Win Friends & Influence People will teach you:nn-Six ways to make people like younn-Twelve ways to win people to your way of thinkingnn-Nine ways to change people without arousing resentmentnnAnd much more! Achieve your maximum potential—a must-read for the twenty-first century with more than 15 million copies sold!",
            "sku": "SKU-0001",
            "pricing": {
                "values": {
                    "EUR": 6.99,
                    "GBP": 3.56,
                    "USD": 5.99
    "abandoned_cart_session": "BknYgazoSSC-GjChXtHRMQ",
    "abandoned_cart_session_url": "",
    "abandoned_at": "2021-04-27 06:07:12",
    "email": "[email protected]",
    "firstName": "John",
    "lastName": "O",
    "country": "DE",
    "currency": "EUR",
    "language": "en",
    "storefront": "solisinc",
    "referrer": "",
    "optIn": false


  "email":"[email protected]",

Cart Abandonment Tracking

If a customer enters their email address without completing the transaction, FastSpring communicates their order information with a mailingListEntry.updated webhook.

Customer Experience:

  1. When a customer adds an item to their cart, a 30-minute timer starts. FastSpring considers the cart abandoned if the customer does not complete the order within 30 minutes.
  2. Within 15 minutes of marking the cart abandoned, FastSpring sends the mailingListEntry.updated webhook containing the customer's email address. The list and the reason are marked as abandoned.

The webhook collects the following information regarding the abandoned product. Information is collected seperately for each product in the cart:

  • Product: The product path or ID.
  • Quantity: The product quantity that the consumer selected.
  • Display: The product's display name.
  • Summary: The product's summary description.
  • ImageURL: The URL of the product's icon image file.

Customer Mailing List Opt-In

When checking out, customers can select a checkbox to opt in to future emails. FastSpring will follow the steps below to the status of each collected email.

  1. When a customer completes a purchase with a new email address, FastSpring sends their email in the mailingListEntry.updated webhook.
  2. If the customer opted in to future emails, FastSpring marks the list reason as subscribed. If they opted out, FastSpring marks them as unsubscribed.

If a customer opts in a multiple times with the same email address, FastSpring does not fire a webhook.

Customer Opt-Out

If a subscribed customer opts out, FastSpring sends 2 webhook events:

  • mailingListEntry.removed: Shows the list as subscribed. FastSpring will remove the email address from the mailing list.
  • mailingListEntry.updated: Shows the list and the reason as unsubscribed.


For third-party remarketing services, see Extensions. These services assist you in receiving webhook data, parsing the information, and sending remarketing messages to consumers with abandoned carts.