Working With Metafield Definitions


The Custom Fields app is fully compatible with Shopify Metafield Definitions. In this article, we'll review the details of how Custom Fields works with Metafield Definitions.

Definitions Are Synced from Shopify Automatically

In general, any Metafield Definition created in Shopify is automatically imported by the app. 

There is a short cache delay in the app for performance reasons. Use the Update Definitions button at the bottom of the Configure Fields pages to import any new Definitions quickly. 


Imported Definitions get special styling in the Configure Fields sections in the app. By default, they will appear with green background and a small [D] icon.


Any settings that are common between a Metafield Definition in Shopify and a Field Configuration in Custom Fields are controlled by the Metafield Definition. Examples of these common settings include the field's title, description and any input validation such as min/max settings.

Any settings that are unique to Field Configurations in Custom Fields can still be edited in the app. Examples of unique settings include Field Availability settings or Color Palette settings.

Removing fields from the Content Entry form
It is possible to hide an imported field from the content entry form. Visit the settings page for a field and check the option to "Hide field when editing content". Hiding a field will change the field's background on the Configure Fields page to gray, indicating that it has been hidden.

Custom Fields Does Not Create Metafield Definitions

Custom Fields is compatible with existing Metafield Definitions and will send data that conforms with Metafield Definitions and Metafield Types, however, Custom Fields does not create Metafield Definitions in Shopify at any time. 

In most cases it is possible to create a Field Configuration in Custom Fields, then create a Metafield Definition in Shopify after content has been entered in the app. There are a few notable exceptions. As of the time of this writing, Shopify is not allowing Reference field types and boolean (true/false) field types with existing data to be created as Definitions after the fact. We expect this issue to be resolved in the future