Customer wishlist

Give every customer a wishlist that follows them

Let signed-in shoppers save favorite products and return to their list on another visit or device. You control how the wishlist looks and works in your store.

30,000+
wishlist saves processed for one fashion-store implementation.

14-day free trial, then US$29.99/month per store. Developer setup required.

Why they built it

A saved product is useful customer data

The fashion store wanted the wishlist to do more than hold products on a page. Each save showed interest in a specific item, so the data needed to survive the next session and device.

They stored the wishlist on the Shopify customer and could configure the Raven to queue that eligible customer field for Klaviyo.

The storefront could load the list when the shopper returned. The marketing team could use the same signal for follow-up around saved products when the integration was configured.

The result

Purchase intent, stored where the rest of your stack can read it.

30,000+
Wishlist saves processed

A FieldsRaven processing count, not a count of unique customers or saved lists.

Same pattern
Favorites and reorder lists

The merchant controls the product experience and can reuse the customer-owned JSON shape.

30,000+ wishlist saves processed. The wishlist lives on the customer record, supporting the storefront experience and, when configured, later customer follow-up without claiming that every downstream sync has already completed.

Starter code for your developer

An array of product handles, and one call.

snippets/customer-wishlist.liquid

Scroll code sideways to see more

const cfg = window.FR_CUSTOM__CUSTOMER_WISHLIST;
const payload = [
  { product_handle: "linen-shirt" },
  { product_handle: "oak-side-table" }
];

await fetch("/apps/raven/create_metafield", {
  method: "PUT",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    raven: {
      raven_id: cfg.ravenId,
      resource_id: cfg.resourceId,
      raven_mac: cfg.ravenMac,
      value: JSON.stringify(payload)
    }
  })
});

Call this after the shopper adds or removes an item. Defining the starter does not write the example list on page load.

A JSON save replaces the full metafield value. Read the current list, prevent duplicates, apply the change, then send the complete next array.

Get Code supplies the configuration and inline HMAC. Change local wishlist state only after FieldsRaven accepts the request.

Common questions

Before you get started.

Does FieldsRaven render the wishlist page?
No. The merchant theme controls the buttons and wishlist page; FieldsRaven accepts the verified write to the customer value.
Can I store product references instead of JSON?
FieldsRaven supports the value type configured for the Raven. This starter begins with JSON because the list is easy to inspect and adapt.
Can a guest use the wishlist?
This customer pattern needs the shopper to sign in before the generated configuration can identify the customer resource.
How does Klaviyo receive the list?
An eligible customer Raven can queue a configured Klaviyo update after the Shopify save. The merchant decides whether that integration is enabled.

Give saved products a permanent home

Build a wishlist that fits your store. Use the recipe as a starting point, then test saving and reopening favorites.

14-day free trial, then US$29.99/month per store. Developer setup required.