Product registration

Register products without sending customers to another system

Accept product, serial, and purchase details in the storefront and save a customer-owned registration record without redirecting to a separate portal.

6,700+
US serial registrations across a four-region implementation.
Why they built it

Registration data belongs with the customer

A customer may register a product weeks after purchase. They may have bought it from the Shopify store, a retailer, a distributor, or another approved seller.

The support team still needs the same details: who owns the product, which serial number belongs to it, where it was bought, and which region handles the request.

The brand used FieldsRaven to save that information on the Shopify customer. The form can live on the storefront while the result stays with the customer record used by support.

The result

Support finds the registration beside everything else.

6,700+
US serial registrations

Processed in the US portion of a four-region implementation.

4
Regional stores on one field shape

A repeatable customer-record pattern across US, Europe, UK, and Canada stores.

6,700+ US serial registrations across a four-region implementation. The count describes FieldsRaven registration records processed, not unique customers or a guarantee that every asynchronous downstream operation completed. For this cumulative JSON-array pattern, keep metaobject sync disabled because the current synchronizer rejects arrays.

Copy the starter code

A list of registrations, and one call.

snippets/product-registration.liquid
const cfg = window.FR_CUSTOM__CUSTOMER_PRODUCT_REGISTRATIONS;
const payload = [{
  product_handle: "portable-speaker",
  serial_number: "DEMO-1042",
  purchase_date: "2026-07-12"
}];

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 from a validated registration-form handler. Defining the starter does not write an example registration on page load.

A JSON save replaces the full metafield value. Read the current list, validate and append the registration, then send the complete updated array.

Get Code supplies the configuration and inline HMAC. FieldsRaven stores the submitted value; the merchant's theme or backend owns serial validation and warranty rules.

Common questions

Before you wire it up.

Can customers register products bought elsewhere?
Yes. Add a purchase-location field and save the submitted value with the registration.
Can one customer register more than one product?
Yes. The JSON example stores a list of product registrations under one customer.
Does this verify warranty coverage?
No. FieldsRaven stores registration data. The merchant's theme or backend service should validate serial numbers and apply warranty rules.
Can I use the same setup in multiple stores?
Yes. This verified pattern spans four regional Shopify stores, while each store keeps its own Raven configuration.

Keep product and customer support data together

Start with the registration form and save the first test product. Then inspect the customer metafield in Shopify.