Skip to main content

How metadata works

Learn how metadata works and how to use custom listing and user metadata fields in your marketplace.

Written by Yifan Dong
Updated over a week ago

Metadata allows you to store and manage information on user profiles and listings in your marketplace. Unlike public and private data, which are filled in by your end-users, metadata can only be added or edited by the marketplace operator.

Metadata fields can be added as:

  • User fields: The operator fills in this field in Console. It is visible on the user's public profile page, but cannot be edited by the end user.

  • Listing fields: The operator fills in this field in Console. It can be made visible on the listing page and enabled as a search filter, but cannot be edited by the end user.

How to create a metadata field

A metadata field can be created for user fields and listing fields.

To create a user metadata field:

  1. Go to Console’s Build section → Users → User fields

  2. Click on “+ Add a new user field”

  3. Select “Metadata” in the access level setting

  4. Fill in the other user field settings as required

To create a listing metadata field:

  1. Go to Console’s Build section → Listings → Listing fields

  2. Click on “+ Add a new listing field”

  3. Select “Metadata” in the access level setting

    1. You can make this field visible on the listing page by enabling the “Display field on the listing page” setting

    2. Under the Search settings

      1. Enable this field for search: allows you to filter listings by this field in Console's Manage listings

      2. Add a filter to the search page: adds a search filter to the marketplace for this field

  4. Fill in the other listing field settings as required

Once a metadata field is created, its value must be entered manually for each user or listing. To do this, find the relevant user or listing in Console's Manage section, open their card and navigate to the Metadata section to add the relevant values.

What are the use cases for metadata fields?

You can achieve a variety of use cases with user or listing metadata fields. Below are some of the most common examples.

Mark a user as verified

If your marketplace heavily relies on trust and safety between users, you can use a metadata field to mark a user as verified. Because metadata fields can only be filled in by operators, users cannot self-declare as verified. This field can then be displayed on the user's public profile page.

Step 1: Create the metadata user field

  1. Go to Console's Build section → Users → User fields

  2. Click "+ Add a new user field"

  3. Name the field "Verified user"

  4. Enter verified_user as the User field ID

  5. Select "Metadata" as the access level

  6. Choose "Select one" as the field type

  7. Add two options:

    1. Option name: "Yes", option value: "yes"

    2. Option name: "No", option value: "no"

Step 2: Assign the field to a user

Once the user metadata field is created, you can assign it to individual users in Console.

  1. Go to Console's Manage section → Users

  2. Open the relevant user card

  3. Scroll to the Metadata section

  4. Click "Edit", then "+ Add new field" and enter the following:

    • Key: verified_user

    • Type: String

    • Value: yes if the user is verified, no if they are not

Note that this only adds a "verified" field to the user's profile. The actual verification process (such as checking identity documents or other credentials) must be carried out by you as the operator before assigning the field. Learn how to perform identity verification.

Mark a listing as verified

If your marketplace is about buying and selling high-value or authentic products, you can use a metadata field to mark a listing as verified by the operator. Because metadata fields can only be filled in by operators, users cannot self-declare their product as verified. This field can then be displayed on the listing page, giving buyers confidence in the listing's authenticity and quality.

Step 1: Create the metadata listing field

  1. Go to Console's Build section → Listings → Listing fields

  2. Click "+ Add a new listing field"

  3. Name the field "Verified listing"

  4. Enter verified_listing as the Listing field ID

  5. Select "Metadata" as the access level

  6. Enable the "Display field on the listing page" setting to make this field visible on the listing page

  7. Choose "Select one" as the field type

  8. Add two options:

    1. Option name: "Yes", option value: "yes"

    2. Option name: "No", option value: "no"

Step 2: Assign the field to a listing

Once the listing metadata field is created, you can assign it to individual listings in Console.

  1. Go to Console's Manage section → Manage listings

  2. Open the relevant listing card

  3. Scroll to the Metadata section

  4. Click "Edit", then "+ Add new field" and enter the following:

    • Key: verified_listing

    • Type: String

    • Value: yes if the listing is verified, no if it is not

Note that this only adds a "verified" field to the listing page. The actual verification process (such as inspecting the product or checking its authenticity) must be carried out by you as the operator before assigning the field.

Arranging the order of listings on the marketplace

If you want to control the order in which listings appear on your marketplace search page, you can use a number metadata listing field to assign each listing a priority order.

This can be useful if you want to highlight your most popular listings, or if you want to monetize your marketplace by charging providers a fee to have their listings featured more prominently and gain more visibility from buyers.

Step 1: Create the metadata listing field

  1. Go to Console's Build section → Listings → Listing fields

  2. Click "+ Add a new listing field"

  3. Name the field "Featured listing order"

  4. Enter order as the Listing field ID

  5. Select "Metadata" as the access level

  6. Choose "Number" as the field type

  7. Set a minimum and maximum value to define the ordering range (e.g. 1-100)

  8. Under Search settings, enable:

    1. Enable this field for search

    2. Add a sorting option to the search page

  9. Under Sorting option placement, select either "Use as a primary sorting option" or "Use as a secondary sorting option"

  10. Under Sorting order, select either "Low to high" or "High to low" pick only one. If you select "Low to high", a lower number will appear first (e.g. 1 has the highest priority). If you select "High to low", a higher number will appear first.

Step 2: Assign the field to a listing

Once the metadata field is created, you can assign a number value to individual listings in Console to arrange the order in which they should appear on the search page.

  1. Go to Console's Manage section → Manage listings

  2. Open the relevant listing card

  3. Scroll to the Metadata section

  4. Click "Edit", then "+ Add new field" and enter the following:

    • Key: order

    • Type: Number

    • Value: a number within your defined range (e.g. 1 for the highest priority listing, if you defined “Low to high” sorting)

Step 3: Disable all other sorting options

To ensure listings are always displayed in your defined order, disable all default sorting options so users cannot override it.

  1. Go to Console's Build section → Listings → Listing search

  2. Scroll to the Sorting section

  3. Uncheck all default sorting options

Feature specific listings on a content page

If you want to highlight a specific selection of listings on a content page, such as your landing page, you can use a metadata field to assign those listings with a metadata value and then use a listing search query to display them automatically on the page.

Step 1: Create the metadata listing field

  1. Go to Console's Build section → Listings → Listing fields

  2. Click "+ Add a new listing field"

  3. Name the field "Featured listing"

  4. Enter featured_listing as the Listing field ID

  5. Select "Metadata" as the access level

  6. Choose "Select one" as the field type

  7. Add two options:

    1. Option name: "Featured", option value: featured

    2. Option name: "None", option value: none - a second option is required by the system but will not be used in practice

Step 2: Assign the metadata field to a listing

Once the metadata field is created, you can assign the featured value to individual listings in Console.

  1. Go to Console's Manage section → Manage listings

  2. Open the relevant listing card

  3. Scroll to the Metadata section

  4. Click "Edit", then "+ Add new field" and enter the following:

    • Key: featured_listing

    • Type: String

    • Value: featured

Step 3: Generate a search query for the featured listings

Once you have assigned the metadata field value to your listings, you need to generate a search query that filters for them.

  1. Go to Console's Manage section → Manage listings

  2. Filter listings by the "Featured listings" field and select "Featured"

  3. Click "Copy search query" to copy the generated query

Step 4: Add a featured listings section to your content page

  1. Go to Console's Build section → Content → Pages and open the relevant page (e.g. landing-page)

  2. Click "+ Add a new section"

  3. Select "Listings" as the section template

  4. Under Listing selection, select "Specific listings"

  5. Paste the search query from Step 3 into the Listing search query field

Allow sorting of search results by review average

If you want to allow buyers to sort listings by their review average, you can use a metadata number field to store each listing's review average and enable it as a sorting option on the listing search page in the marketplace.

Note that because the number field type only supports whole numbers, the review average needs to be stored as a scaled integer. This means converting the review average by multiplying it by 100 before entering it in Console (e.g. a review average of 4.50 should be stored as 450). The sorting will still work correctly, as the relative order of listings is preserved.

Step 1: Create the metadata listing field

  1. Go to Console's Build section → Listings → Listing fields

  2. Click "+ Add a new listing field"

  3. Name the field "Review average"

  4. Enter review_average as the Listing field ID

  5. Select "Metadata" as the access level

  6. Choose "Number" as the field type

  7. Set the minimum value to 100 and the maximum value to 500 — these represent review averages of 1.00 and 5.00 respectively

  8. Under Search settings, enable "Add a sorting option to the search page"

  9. Under Sorting option placement, select either "Use as a primary sorting option" or "Use as a secondary sorting option"

  10. Under Sorting order, enable both "High to low" and "Low to high" to allow buyers to sort by highest or lowest review average

Step 2: Assign the review average to a listing

Once the metadata field is created, you can assign a review average to individual listings in Console. To do this, you will need to manually calculate a listing's review average, then multiply it by 100 to convert it to a scaled integer (e.g. an average review of 4.5 becomes 450).

  1. Go to Console's Manage section → Manage listings

  2. Open the relevant listing card

  3. Scroll to the Metadata section

  4. Click "Edit", then "+ Add new field" and enter the following:

    • Key: review_average

    • Type: Number

    • Value: the scaled integer representing the listing's review average (e.g. 450 for a review average of 4.50)

Repeat those steps for each listing, and remember to update the value manually whenever the listing's review average changes.

Did this answer your question?