Custom fields
Add structured extra data to every product, such as technical specs, certifications, care instructions, or any field your catalog needs.
Custom fields (also called metafields) let you attach additional structured data to products beyond the built-in fields. Go to Products → Custom Fields in the sidebar to define the fields. Once defined, a Custom Fields section appears in the product editor, both when creating and editing a product, where you fill in the values per product. Values are available in the SDK on your storefront.
Don't see it in the sidebar? Custom Fields is a module, and it can be switched off for a store; some store types start with it off. Turn it back on under Settings → Modules.
When to use custom fields
| Use case | Example fields |
|---|---|
| Technical specs | Wattage, Battery capacity (mAh), Screen resolution |
| Product details | Country of origin, Care instructions, Materials |
| Compliance | CE certification, Kosher, Allergens, RoHS compliant |
| Storefront display | Short tagline, Video URL, 3D model URL, Size guide URL |
| Internal ops | Supplier SKU, Warehouse bin, Lead time (days) |
Custom fields are not the same as attributes: attributes generate variant rows (each with its own SKU and stock), while custom fields hold descriptive data about the product as a whole, not options customers choose between. Custom fields of type Select, Multi-select, or Yes/No can also power storefront filters once you turn on Show in storefront filters. See Turn a custom field into a storefront filter.
The custom fields list
Go to Products → Custom Fields. When you haven't created any fields yet, you'll see the empty state:

Creating a custom field
Click New Custom Field and the dialog opens:

| Field | What it does |
|---|---|
| Name | Required. The display label shown in the product editor and in the product table column (e.g. Warranty Info, Material). |
| Type | The data type. Determines how the field is rendered in the editor and how it's returned in the SDK. |
| Description | Optional. Helper text shown below the field in the product editor, describing what merchants should fill in. |
| Allowed Values | Optional. Type a value and press Enter to add it. When set, the field becomes a constrained list instead of free-form input, which is useful for Select and Multi-select types. |
| Sales channels | Publish the field definition to specific connected channels immediately after creation. Can be changed later. |
| Advanced Options | Collapsed by default. Contains a Default value; Customer Input, which turns the field into a buyer-facing input shown on the product page, with a picker to choose which products it applies to; and Show in storefront filters (Select, Multi-select, and Yes/No fields only), which exposes the field as a storefront filter. See Turn a custom field into a storefront filter. |
Field types
Click the Type dropdown to choose from 15 field types:

| Type | Description | Example |
|---|---|---|
| Text | Single line of text | SKU from supplier, short tagline |
| Long Text | Multi-line text (textarea) | Care instructions, warranty terms |
| Number | Numeric value | Wattage (65), Battery mAh (10000) |
| Yes/No | True or false toggle | Is organic, Dishwasher safe |
| Date | Date picker (date only) | Expiry date, Release date |
| Date & Time | Date and time picker | Event start, Availability window |
| JSON | Structured JSON blob | Spec sheets, nested configs |
| URL | Web address with validation | Video URL, 3D model, size guide |
| Color | Hex color picker | Primary brand color |
| Dimension | Length/size with unit | 12.5 cm × 7 cm |
| Weight | Weight with unit | 1.2 kg |
| Image | Image URL or media reference | Certification badge, alternate photo |
| Gallery | Multiple image references | Additional product photos |
| Select | Pick one value from a defined list | Condition: New / Refurbished / Open box |
| Multi-select | Pick several values from a list | Certifications: CE, RoHS, FCC |
For Select and Multi-select types, define the list choices in Allowed Values before saving.
Buyer personalization (customer input)
Custom fields can be flipped into buyer-facing inputs: fields that your customers fill in before adding the product to their cart. This is useful for personalised products:
| Use case | Example |
|---|---|
| Engraving or monogram | Customer types the text to engrave |
| Custom color | Customer picks a hex color or enters a name |
| Gift message on product | Message printed on the item itself |
| Photo upload | Customer uploads a reference image |
To turn any custom field into a buyer-facing input:
- Open the field's settings (click the edit icon next to the field).
- Expand Advanced Options.
- Turn on Customer Input.
- Choose which products the input applies to: all products or a specific selection.
When Customer Input is on, the field appears as a form input on the product page in your storefront. The buyer's value is saved as a line-item detail in the order, and you can see it in the order detail view next to the product.
Note: Customer Input is for collecting buyer choices at product level. For collecting information at checkout (delivery notes, gift wrapping, tax ID), use Checkout custom fields instead.
Turn a custom field into a storefront filter
Custom fields of type Select, Multi-select, or Yes/No can double as storefront filters, the same kind of facet customers already use for categories, brands, and price. A Condition field (New / Refurbished / Open box) becomes a checkbox group; a Kosher Yes/No field becomes a toggle shoppers can filter by.
Filtering is available only for Select, Multi-select, and Yes/No fields, not for free-text, number, or the other types.
To turn a field into a filter:
- Create or edit the custom field, and set its Type to Select, Multi-select, or Yes/No.
- Expand Advanced Options.
- Turn on Show in storefront filters.
- Click Save.

Once enabled, the field is exposed to your storefront through the SDK. Your storefront fetches which fields are filterable, then passes the shopper's chosen values back when listing products:
// 1. Discover which custom fields are filterable
const { definitions } = await brainerce.getPublicMetafieldDefinitions();
const filters = definitions.filter((d) => d.filterable);
// 2. List products matching the values a shopper picked
const { data: products } = await brainerce.getProducts({
metafields: { condition: ['Refurbished'], kosher: ['true'] },
});Values combine as AND across fields, OR within a field, so the call above returns Refurbished products that are also Kosher. For Yes/No fields, pass the strings "true" / "false".
Building the storefront yourself? The developer guide Filter by custom fields covers the full facet-rendering pattern, and Validation rules lists the exact server behavior.
Accessing custom fields in your storefront
Custom fields are returned on the product object as a metafields array: one entry per field, keyed by the field's key:
import { getProductMetafieldValue } from 'brainerce';
const product = await brainerce.getProductBySlug(slug);
// Read a value straight from the metafields array:
const warranty = product.metafields?.find((m) => m.definitionKey === 'warranty_info');
console.log(warranty?.value); // "1-year limited"
// …or let the typed helper parse it (numbers, booleans, dates):
console.log(getProductMetafieldValue(product, 'wattage')); // 65The key is derived from the field Name you set, lowercased with underscores (e.g. "Warranty Info" → warranty_info).
Filling in values on a product
Once you've defined your custom fields, open any product (create new or edit existing). A Custom Fields section appears in the right column of the product editor. It splits into two groups:
- Product Attributes are all the active attribute fields (not buyer-facing). Fill in specs, certifications and descriptions, which are stored on the product and returned via the SDK.
- Buyer Input Fields are fields customers fill in on the product page. Only fields set to applies to all products show at creation time; product-specific input fields can be assigned and filled in after the product is saved.
Fill in the values and click Save, and they're saved together with the rest of the product.
Generate product specifications with AI
The Custom Fields card in the product editor has an AI specs button that reads the product's own description and suggests specifications (material, dimensions, capacity, weight, warranty, what's in the box) as custom fields you can add in one click.
You will only see the button when the Google app is installed, and only when editing a product you have already saved. It is not there while you are creating a product, because it reads the saved description, and it is not there on a store without that app, because product specifications are what Google's shopping feed calls product details. If the button is missing, that is why. See Get found on Google.
How it works:
- Open a saved product and find the Custom Fields card in the right column.
- Click AI specs. It reads the description that is currently saved on the product, not what you have just typed and not saved.
- Tick the suggestions you want. Everything is ticked by default.
- Click Apply. Each one you kept becomes a custom field on that product, creating the field definition if your store does not have it yet.
Nothing is saved until you click Apply. Generating suggestions changes nothing, so it is safe to run on any product just to see what it finds.
It never invents a fact. It only extracts what the description already states, word for word or close to it. It deliberately skips marketing claims like "premium quality" or "comfortable", and it skips price, availability and shipping, which come from their own fields. It also skips any spec you already have a custom field for, so running it twice does not create duplicates.
An empty or vague description gets you nothing, and that is the correct answer. A product with no description returns no suggestions and costs you no AI credits. A description that is pure marketing copy returns an empty list rather than invented specs. If you want specs, write the facts into the description first.
Two more limits worth knowing before you use it on a big catalog:
- Eight suggestions per product, maximum, and only the first 1,200 characters or so of the description are read. A very long description may not be mined to the end.
- It runs on one product at a time. There is no bulk "generate specs for every product" action, and generating costs AI credits like other AI features. See AI credits.
Once applied, the fields behave like any other custom field: they show in the product editor, come back through the SDK on your storefront, and are sent to Google as product details in your product feed.
What's next?
- Add a product to create a new product and fill in custom field values in the same step.
- Bulk import from CSV to populate custom field values via CSV column mapping.
- Attributes are for properties that generate product variants (each with its own SKU and stock), a different job from custom fields.
- Checkout custom fields collect extra information from buyers at checkout.
- Order custom fields add internal tracking fields to order records.
Modifier groups (add-ons)
Per-checkout customizations such as engraving, warranty plans, accessory bundles and setup services. Includes Wolt-style "first N free" mechanics with 3 allocation policies, required vs optional choices, and per-product attachment.
Attributes
Define reusable properties such as Size, Color and Storage that auto-generate variant combinations and power storefront filtering.