Vehicle garage

Let customers save their garage and see what fits

Save structured year, make, and model details to the Shopify customer, then let the merchant theme use the selected vehicle for fitment and filtering.

16,000+ and 22,000+
garage records in two implementations.
Why they built it

Fitment starts with a vehicle the store can remember

An auto-parts customer should not have to choose the same year, make, model, and trim on every visit.

The store built a My Garage feature and saved each customer's vehicles as structured data on the Shopify customer. The theme can load the selected vehicle during later sessions and use the merchant's fitment data to guide the product experience.

FieldsRaven stored the garage. The merchant's catalog and theme logic still decide which parts fit each vehicle.

The result

A garage that follows the customer across devices.

16,000+
Garage records in one implementation

A FieldsRaven processing-record count, not a count of unique customers.

22,000+
Garage records in another

A second deployment used the same saved-vehicle pattern with its own merchant-defined shape.

16,000+ garage records in one implementation and 22,000+ in another. They are record counts, not unique customers. The garage can follow a customer across sessions and devices, while the merchant theme uses its own fitment source to decide what fits.

Copy the starter code

A vehicle list and a selected ID.

snippets/saved-garage.liquid
const cfg = window.FR_CUSTOM__CUSTOMER_VEHICLE_GARAGE;
const payload = {
  selected_id: "vehicle-1042",
  vehicles: [{ id: "vehicle-1042", year: "2022", make: "Volvo", model: "XC60" }]
};

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 add, edit, remove, or select action. Defining the starter does not write the example garage on page load.

A JSON save replaces the full metafield value. Read the current garage, apply the change, and send the full updated object.

Get Code supplies the configuration and inline HMAC. The complete recipe covers labelled fields, stable IDs, the empty state, and selected-vehicle updates.

Common questions

Before you wire it up.

Does FieldsRaven provide fitment data?
No. FieldsRaven stores the customer's saved vehicles. The merchant's fitment system supplies the compatibility rules.
Can a customer save several vehicles?
Yes. The JSON value can contain a vehicle list and a separate selected vehicle ID.
Can support see the garage?
The saved value lives on the Shopify customer, so an authorized team member can inspect it in Shopify admin.
Can I use a simpler data shape?
Yes. Choose a merchant-defined shape that matches the fitment code already used by the storefront.

Give every customer a garage their account can remember

Create the JSON Raven and connect the add-vehicle form. Then test the selected vehicle in your theme.