Let customers save a custom rug and return later
Keep the product, option choices, and shopper's own name for a design together in a customer metafield that the configurator can reopen later.
“A critical function that we needed was for customers to be able to design rugs and save them to their account.”
A required saved-design workflow
Fibreworks and Solidago built custom rugs for customers who needed to see a design before they could buy. The team needed a way to keep those designs in customer accounts.
They created a JSON customer metafield and connected the rug builder to it, keeping the product and merchant-defined choices together for a future visit.
Customers can save rug designs and favorite products to their accounts. The theme owns the designer and the hook that reopens a saved configuration later.
The customer metafield became the saved-design backend.
FieldsRaven processing rows from the storefront rug builder, not a claim that each save was a distinct design.
A second unnamed implementation used the same customer-owned pattern for related saved records.
28,000+ saved-design submissions processed, alongside 125,000+ saved-recipe records processed in another implementation. Neither result counts distinct designs. The customer can pause and reopen merchant-defined options later, while the theme decides how to continue the design.
A JSON metafield and one call.
const cfg = window.FR_CUSTOM__CUSTOMER_SAVED_CONFIGURATIONS;
const payload = [{
id: "design-1042",
name: "Living room rug",
product_handle: "custom-wool-rug",
options: { size: "8x10", border: "linen" }
}];
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 a validated create, update, or delete action. Defining the starter does not write the example design on page load.
A JSON save replaces the full metafield value. Read the current saved configurations, apply the change, and send the complete updated list.
Get Code supplies the configuration and inline HMAC. The complete recipe covers stable IDs plus create, update, reopen, and remove behavior.