# Create a Metafield definition

### **Fields**

Fields are the essence of ACF. They are called "Metafields" and are stored as information tied directly to your own individual objects such as your products, collections, pages, etc.&#x20;

![](/files/TEhyMF6eh1EW4CzOO4nN)

You can use fields to store information, media, references, etc. that are relevant to help you better describe your objects in your storefront. Also, you can use it as an admin tool to store important backend information related to your exact business processes - the use cases can be whatever you want them to be essentially.

### Anatomy of a Metafield

The image below illustrates the full anatomy of a Metafield. While this may look complex at first glance but don’t worry! We’ll walk through each element in detail over the next few articles to ensure you fully understand how Metafields work and how to use them effectively.

<figure><img src="/files/HE0ItKxgpS3DD6Mw3IRm" alt=""><figcaption></figcaption></figure>

### How do I create a custom field in ACF?

This is the first and most important step before anything can appear on your storefront. By setting up a definition, you're giving Accentuate the instructions it needs to handle your data.

In this step, you define **what type of data** you want to store and **how it will be organized**. Think of this step as getting an empty box, labeling it and deciding what will go inside. At this stage, you are not adding any content yet.

This box is called a Metafield definition.&#x20;

Before you read this article, make sure that you’ve read our article [**Scope**](https://help.accentuate.io/metafield-definitions/scope) and that you know where you want to apply your Metafield.&#x20;

For this example, we will be using the **Product scope.**&#x20;

***

**By this point, you should have already:**

* [x] Navigated to the **Templates** tab in the **App features** section
* [x] Selected your desired **scope**
* [x] Clicked **Add new field**

***

In the next few articles, we’ll guide you through each step of the field creation process. You’ll learn about setting the label and name, namespace, configuring where the field applies and selecting the appropriate field data type.

{% content-ref url="/pages/zFdawzI5qURUrUqoMAUf" %}
[Label & Namespace](/metafield-definitions/create-a-metafield-definition/label-and-namespace.md)
{% endcontent-ref %}

{% content-ref url="/pages/Knoz3GJsDjvp6BX4Af3B" %}
[Field contexts (Field applies to)](/metafield-definitions/create-a-metafield-definition/field-contexts-field-applies-to.md)
{% endcontent-ref %}

{% content-ref url="/pages/1NFHEJrWZzHSciX70mlK" %}
[Field data type](/metafield-definitions/create-a-metafield-definition/field-data-type.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.accentuate.io/metafield-definitions/create-a-metafield-definition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
