Skip to main content

· 27 min read
Oleksii Tyshkevych
Eugen Barilyuk

There are top-10 features that make a great product page, and one of them is to feature detailed product information. In your Shopify store you can go beyond standard list of fields for products, like item's title, its description, images, price, SKU, and so forth.

The attribute list above is great for most products. However, some items require non-standard attributes for their full presentation on the product page. For example, it could be a sensitivity value for headphones, material of the dress, charging current for a wall charger, calories for the candy, burn time for a candle, product expiration date, product ingredients, etc.

So, how do you list non-standard product attributes on a product page of a Shopify store? The answer is metafields (also known as custom fields).

Stores often use online marketplaces for additional sales by pushing their products via product feed. It is important to push all information on the product for better item presentation on such online shopping engine, so it is good to include data from metafields into your product feed.


With Omega Shopping Feeds app you can include metafields in the product feed. Make your products listed on online marketplaces more attractive for shoppers and generate additional sales.

What are metafields in Shopify

Metafield is a way for a Shopify store to include almost any related information on a product or product collection. This data can be retrieved by apps and merchants within the Shopify admin.

what are shopify metafields

To use a custom field in Shopify you first need to create it in the store admin. Next in each product that has this metafield fill its value. Lastly, you need to activate displaying metafields in the store frontend.

How to add Shopify metafields in admin

You can place each non-standard into its metafield. In order to use such custom field you need to define it:

In your Shopify admin:

  • Go to Settings > Metafields.
  • Select the part of the store where you want to add a new custom field. For example, Products, Product Variants, or Collections.


  • Click Add definition.
    • Give a name to this metafield and its description.
    • Leave Namespace and key as is.
    • Enable the Expose this metafield to Storefront API requests option.


  • Click Select content type. Choose the type of metafield value. Select from types DATE AND TIME, MEASUREMENT, NUMBER (Integer, Decimal), REFERENCE (File, Page, Product, Product variant, Collection) TEXT (Single or Multi-line text), OTHER (Color, JSON, Money, Rating, True or false, URL).
  • Choose One value or List of values

Metafield can contain one value or list of values. For example, if you want to add a custom field for product expiry date. For product dimensions (length, width, height) a metafield with list of values is suited better.


A metafield list of values can store up to 128 values.

  • Select Validation rules for the metafield. Validation options depend on the content type from the previous step.


  • Click Save button.
  • Write down the metafield access name key for future reference. This name key may look like product.metafields.custom.product_certification.

How to fill metafield data for a product in Shopify admin

Created metafields are now accessible on the product edit page in Shopify admin. For faster access to the specific metafield on the product edit page you can pin it in the Shopify settings.

To fill the metafield data for a specific product do the following:

  • Open the product edit page in Shopify admin.
  • Click on grey field right to the metafield name.
  • Type in the metafield value.
  • Click Save.


How to bulk edit metafields in Shopify

To edit a Shopify metafield in bulk you need to alter an URL in your browser address bar. The bulk editor URL looks like this

In the example link above replace:

  • YOUR-STORE-NAME with the name of your store.
  • METAFIELD-NAMESPACE with the namespace of the metafield you have written down previously.
  • METAFIELD-CONTENT-TYPE with the metafield content type.

Here is the example of the URL:


How to how to use metafields in Shopify

In order to display Shopify product metafields in store frontend it is required to connect them to the store frontend theme. With an Online Store 2.0 theme metafields can be activated via theme editor. Previous generation themes require changing theme code directly.


If you want to know what generation of frontend theme is used in your Shopify store, in the admin navigate to Online Store > Themes > Actions > Edit code. Locate the product.json in the Templates folder.

If you find the product.json file - your store utilizes a second generation of Shopify themes.

Enable metafields for store with Online Store 2.0 theme

Online Store 2.0 frontend themes provide a user-friendly in-browser editor for enabling metafields:

  • Open Shopify admin and navigate to Online Store > Theme.
  • Click Customize button.
  • Locate the page template where you want to place the custom field. For example, Product page template.
  • Add a new block as a metafield placeholder. Each such block allows placing up to 20 custom fields.
  • Click image (connect dynamic source icon).
  • Select the metafield you want to display on this page type.
  • Click Insert.
  • Add text to desctibe the custom field value in the frontend.
  • Click Save.

Enable metafields for store with vintage theme

To enable metafields in the older generation of Shopify frontend themes it is required to edit their page template directly.

In Shopify admin panel:

  • Navigate to Online Store > Themes.
  • Click Actions > Edit code.


  • Locate the page template file. For example, a product-template.liquid template file for Product page.
  • Go to the position on the page where the custom field should be displayed.
  • Insert the metafield code. For example:
Custom field code for Shopify product page
Replace METAFIELD-NAME and METAFIELD-NAMESPACE with a frontend name displayed for the metafield and a metafield name key you have written down when created the custom field.

<div class=”additional-attributes”>
<tr><th>METAFIELD-NAME</th><td>{{ product.metafields.METAFIELD-NAMESPACE }}</td></tr>


  • Click Save.
  • Check how the metafield is displayed in the store frontend.


How to include metafields in Shopify product feed

The Omega Commerce Shopping Feeds app generates a product feed without metafields. In order to include custom fields in your product feed you need to customize the feed template.

Step 1. Activate metafields indexing

You can include metafields in your product feed after indexing them.

In the Omega Commerce app:

  • Navigate to Global Settings > Indexing
  • Enable Index product metafields data and Index product variants metafields data


  • Navigate to Index Status
  • Click Schedule Synchronization


Step 2. Use metafields shopify in a product feed

After indexing is finished you can call metafields from within the feed template. To get the metafield data place it in the feed as follows: {{ product.meta_fields.METAFIELD-NAMESPACE }}. Replace METAFIELD-NAMESPACE with the namespace of your metafield.

Here is the example of custom XML product feed template with a metafield:


{% for product in context.products %}
<id><![CDATA[{{ product.sku }}]]></id>
<title><![CDATA[{{ product.title }}]]></title>
<metafield><![CDATA[{{ product.meta_fields.custom.product_certification }}]]></metafield>
{% endfor %}
<title><![CDATA[4"10-cm Digimon Tailmon Plush Toy]]></title>

Here is how that metafield looks in the product edit page in the Shopify store admin:



Metafields are a great way of presenting in a Shopify store non-standard product attributes, like expiry date or calories. Enable such custom fields in a store frontend and enhance products presentation for your shoppers.

When a store generates extra sales on online marketplaces (like Google Shopping, Fruugo, ShareASale or Idealo) it presets products to customers via the product feed.

With Omega Commerce Shopping Feeds app you can include metafields in your product feed. Make your products on online marketplaces more attractive to customers and generate more sales.

· 7 min read
Oleksii Tyshkevych
Eugen Barilyuk

If you want rapid revenue growth for your store, ShareASale is a suitable tool for the task. This affiliate network has generated 194 million sales in 2021, which resulted in $16 billion in revenue for merchants.

All you need to start on ShareASale is a product feed - a file with information on your products, including prices, availability, size, color, etc.

The ShareASale marketplace has a typical product feed in a CSV format. However, placing your products exactly into the categories they belong to may be troublesome if you want to map them manually. Here is how OmegaCommerce Shopping Feed solves the problem for you.


A product feed for ShareASale requires a tedious process of choosing the category and subcategory. This is not a problem if you sell one type of product. However, specifying categories accordingly to the ShareASale requirements will require a lot of time for merchants who sell multiple product types.

Of course, we couldn't leave our customers without a technical solution. Omega Shopping Feeds app simplifies the ShareASale feed generation to a few clicks.

What is ShareASale

ShareASale is a large North American service that connects merchants and news/blog website owners in order to promote their products. This approach is called affiliate marketing.

ShareASale, part of the Axel Springer and United Internet Groups, is used by more than 21 200 merchants who promote their products on more than 241 000 publisher sites.

The affiliate marketing group ShareASale, to which the company belongs, has generated $16 billion in revenue for merchants and $1.3 billion for its publishers globally.

How the category mapping in ShareASale feed became easy

Any eCommerce store can join ShareASale by providing a product feed, which is an ordinary feed file in CSV format. However, the ShareASale requirements for category mapping make creating it rather tedious.

The marketplace requires each product to have a Category and a Subcategory. ShareASale provides a list of allowed values for each of these two data fields. A product feed should contain the data for Category and Subcategory only from that list.

Typically the Category and Subcategory are strings, but ShareASale accepts only integer values for these data fields from the lists below:

ShareASale product categories

The following integer values represent product categories on

  • 1: Art/Media/Performance
  • 2: Auto/Boat/Plane
  • 3: Books/Reading
  • 4: Business/Services
  • 5: Computer
  • 6: Electronics
  • 7: Entertainment
  • 8: Fashion
  • 9: Food/Beverage
  • 10: Gifts/Specialty
  • 11: Home/Family
  • 16: Metaphysical
  • 17: Parts/Equipment
  • 12: Personal Care
  • 13: Sports/Outdoors
  • 14: Toys/Games
  • 15: Travel
ShareASale subcategories

The following integer values correspond to a ShareASale product subcategory:

  • Art/Media/Performance Subcategories
    • 1: Art
    • 2: Photography
    • 3: Posters/Prints
    • 4: Music
    • 5: Music Instruments
    • 187: Art Supplies
  • Auto/Boat/Plane Subcategories
    • 6: Accessories
    • 7: Car Audio
    • 8: Cleaning/Care
    • 9: Motorcycles
    • 10: Misc.
    • 11: Repair
    • 12: Parts
  • Books/Reading Subcategories
    • 13: Art
    • 14: Careers
    • 15: Business
    • 16: Childrens
    • 17: Computers
    • 18: Crafts/Hobbies
    • 19: Education
    • 20: Engineering
    • 21: Gifts
    • 22: Health
    • 23: History
    • 24: Fiction
    • 25: Law
    • 26: Magazines
    • 27: Financial
    • 28: Medical
    • 29: Office
    • 30: Real Estate
    • 31: Misc.
    • 164: Religious
    • 173: Science/Nature
  • Business/Services Subcategories
    • 32: Advertising
    • 33: Motivational
    • 34: Coupons/Freebies
    • 35: Financial
    • 36: Loans
    • 37: Office
    • 38: Careers
    • 39: Mis.
    • 179: Education
  • Computer Subcategories
    • 40: Hardware
    • 41: Software
    • 42: Instruction
    • 43: Handheld/Wireless
    • 162: Web Hosting
  • Electronics Subcategories
    • 44: Audio
    • 45: Video
    • 46: Camera
    • 47: Wireless
  • Entertainment Subcategories
    • 48: Audio
    • 49: Video
    • 50: DVD
    • 51: Laser Disc
    • 52: Sheet Music
    • 53: Crafts/Hobbies
    • 184: Tickets
  • Fashion Subcategories
    • 54: Boys
    • 55: Clearance
    • 56: Vintage
    • 57: Girls
    • 58: Mens
    • 59: Womens
    • 60: Maternity
    • 61: Footware
    • 62: Accessories
    • 63: Baby/Infant
    • 64: Jewelry
    • 65: Lingerie
    • 66: Plus-Size
    • 67: Athletic
    • 161: T-Shirts
    • 166: Big And Tall
    • 168: Petite
    • 169: Unisex
    • 172: Costumes
  • Food/Beverage Subcategories
    • 68: Baked Goods
    • 69: Beverages
    • 70: Chocolate
    • 71: Cheese/Condiments
    • 72: Coupons
    • 73: Diet
    • 74: International
    • 75: Gifts/Gift Baskets
    • 76: Nuts
    • 77: Cookies/Desserts
    • 78: Organic
    • 163: Tobacco
    • 176: Gourmet
    • 177: Meals/Complete Dishes
    • 180: Appetizers
    • 181: Soups
  • Gifts/Specialty Subcategories
    • 79: Anniversary
    • 80: Birthday
    • 81: Misc. Holiday
    • 82: Collectibles
    • 83: Coupons
    • 84: Executive Gifts
    • 85: Flowers
    • 86: Baskets
    • 87: Greeting Card
    • 88: Baby/Infant
    • 89: Party
    • 90: Religious
    • 91: Sympathy
    • 92: Valentine's Day
    • 93: Wedding
    • 170: Personalized
  • Home/Family Subcategories
    • 94: Bed/Bath
    • 95: Garden
    • 96: Cleaning/Care
    • 97: Furniture
    • 98: Home Décor
    • 99: Home Improvement
    • 100: Kitchen
    • 101: Pets
  • Metaphysical Subcategories
    • 160: Metaphysical
  • Parts/Equipment Subcategories
    • 167: HVAC (Heating and Air Conditioning)
    • 171: Medical
    • 182: Military
  • Personal Care Subcategories
    • 102: Cosmetics
    • 103: Exercise/Wellness
    • 104: Safety
    • 183: Medical
  • Sports/Outdoors Subcategories
    • 105: Accessories
    • 106: Auto
    • 107: Outdoors/Camping
    • 108: Parlor/Backyard Games
    • 109: Baseball/Softball
    • 110: Cricket
    • 111: Billiards
    • 112: Boating
    • 113: Body Building/Fitness
    • 114: Bowling
    • 115: Boxing
    • 116: Canoeing
    • 117: Climbing/Mountaineering
    • 118: Cycling
    • 119: Diving
    • 120: Field Hockey
    • 121: Skating
    • 122: Fishing
    • 123: Football
    • 124: Frisbee
    • 125: Golf
    • 126: Gymnastics
    • 127: Hockey
    • 128: Horses
    • 129: Hunting
    • 130: In-line Skating
    • 131: Kayaking
    • 132: Lacrosse
    • 133: Martial Arts
    • 134: Racquetball
    • 135: Running
    • 136: Skateboards
    • 137: Ski/Snowboard
    • 138: Soccer
    • 139: Surfing
    • 140: Tennis
    • 141: Teamware / Logo
    • 142: Volleyball
    • 143: Wrestling
    • 165: Birding
    • 174: Prospecting/Treasure Hunting
    • 175: Swimming
    • 178: Basketball
  • Toys/Games Subcategories
    • 144: Action
    • 145: Animals
    • 146: Baby/Infant
    • 147: Board Games
    • 148: Card/Casino
    • 149: Electronic
    • 150: Educational
    • 151: Magic
    • 152: Misc.
    • 153: Musical
    • 154: Outdoor
    • 155: Video
  • Travel Subcategories
    • 156: Coupons
    • 157: Maps
    • 158: References / Guides
    • 159: Vacation Travel
    • 185: Luggage
    • 186: Accessories

So for every product in your store, you have to open the ShareASale official list of categories and subcategories, find the ones that correspond to your product, copy the integer values and paste the numbers into the feed file.


This can be a tedious task even if you sell one type of product. However, if you sell various types of products, you need to automate the process of setting categories and subcategories in your feed.

Set ShareASale categories in a few clicks

Our app automates the selection of category and subcategory values. Moreover, with its autocomplete function, you have to deal only with human-readable data.

Simply start typing the category or subcategory name your products belong to, and the app will look through the ShareASale list. You will just have to select the most appropriate in the list of search results (this is also known as category mapping).


The autocomplete function works both for static and dynamic category mapping. Simply choose a ShareASale taxonomy and proceed with mapping categories as usual.


The final step for any ShareASale feed

A product feed that fully meets the ShareASale requirements is only one step to being published on this marketplace. Upload it into your account on this service, and get a boost for your sales.

· 6 min read
Oleksii Tyshkevych
Eugen Barilyuk

When planning to open sales in Greece, you will definitely want to push your products on Skroutz - the largest online shopping platform in Greece. It offers more than 7 million products from more than 11 000 partner stores, which generates about 37 million visits per month.


However, a product feed for Skroutz cannot be generated as a typical feed. This marketplace has a unique demand for it, requiring complex programmatic logic.

Of course, we couldn't leave our customers without a technical solution. Omega Shopping Feeds app simplifies the Skroutz feed generation to a few clicks.

What is Skroutz

A team of George Chatzigeorgiou, George Augustidis and Vassilis Dimos in 2005 have founded Skroutz SA. This company was based in Athens with the goal of working in the field of e-commerce technology services.

At that time, Skroutz offered a few hundred thousand products from only 12 e-shops. Today, the company has over 700 employees and continues expanding.

For example, Skroutz acquired 100% of the shipping company SendX. With its own shipping company, Skroutz can offer shoppers a more complete shopping experience.

In 2021 Skroutz launched the new Skroutz Plus service that provides free shipping and some privileges for shoppers. The new service already has more than 50 000 subscribers.

Skroutz also tries to expand internationally, launching foreign marketplaces. For example, was launched in Turkey. And started in the United Kingdom.

Why a feed for Skroutz is different

Compared to other online marketplaces, Skroutz has a unique way of presenting products on its site. That is why the somewhat standard approach for product feed generation may not be applicable to this Greek marketplace.

Typically an eCommerce store has the following logic for the product catalog: a product (like a shirt) and its attributes (like color, size, etc.).

Just like every other marketplace, Skroutz has products and their attributes. The thing is that a product on Skroutz is an item of one color. Thus, a shirt sold in four colors is considered as four individual products. Each such product will have an individual set of sizes.


As you may see on the screenshot above, the item Jack & Jones Ανδρικό T-shirt Μαύρο με Λογότυπο has four colors with multiple sizes each.

When generating a product feed for Skroutz, you need to consider each color as an individual product with a <size> attribute. The <size> is a string with values (small, medium, large, etc.) listed using a comma.

Here is the feed example:

Skroutz product feed
<category><![CDATA[Home page > All Products > Jack & Jones > andrika-tshirts > andrika > Most Popular > Home Andrika]]></category>
<manufacturer><![CDATA[Jack & Jones]]></manufacturer>
<category><![CDATA[Home page > All Products > Jack & Jones > andrika-tshirts > andrika > Most Popular > Home Andrika]]></category>
<manufacturer><![CDATA[Jack & Jones]]></manufacturer>
<sku><![CDATA[12201562-SILVER SAGE]]></sku>
<category><![CDATA[Home page > All Products > Jack & Jones > andrika-tshirts > andrika > Most Popular > Home Andrika]]></category>
<manufacturer><![CDATA[Jack & Jones]]></manufacturer>
<category><![CDATA[Home page > All Products > Jack & Jones > andrika-tshirts > andrika > Most Popular > Home Andrika]]></category>
<manufacturer><![CDATA[Jack & Jones]]></manufacturer>

Skroutz feed in a few clicks

You don’t need to dive into the feed template programming in order to generate a feed for Skroutz. Omega Shopping Feeds app covers all the complexity behind a simple interface.

Start generating the feed as usual by choosing Skroutz marketplace from the list of available. See the documentation on how to create a new feed for details.

While configuring the feed for Skroutz, you need to simply choose which variant option attribute in your Shopify store corresponds to the color and size, respectively:


Opt for automatic search if you don’t know what attribute options are reserved as color or size in your store.

Complex programming to generate a Skroutz feed

Complex programmatic logic is required to correctly map color and size attributes from your store with Skroutz. Below is a brief explanation of how the feed for Skroutz is generated.

First, you must present each product color as an individual item in the feed. We have created new variable colors using liquid filters.

Present each color as an individual item
{% for product in context.products %}
{%- assign colors = product.variants | where: "in_stock" | map: 'option1' | remove_empty | remove: 'Default Title' | uniq %}
{%- for color in colors %}
{%- for variant in product.variants %}
{%- assign current_variant = variant %}
{%- if variant.option1 == color %}
{%- break %}
{%- endif %}
{%- endfor %}
{%- endfor %}
{%- endfor %}

When iterating the colors of the product, you will need additionally to create an iterating cycle to get a link product variant.url

The last important step to generate the product feed for Skroutz is to get a string that contains all available sizes of one color. Fulfill this task with an iterative cycle:

Iterative cycle to get a string containing product sizes
{%- assign sizes = '' | split: '' %}
{%- assign qty = 0 %}
{%- for variant in product.variants %}
{%- if variant.option1 == color and variant.in_stock %}
{%- assign sizes = sizes | concat: variant.option2 %}
{%- assign qty = qty | plus: variant.qty %}
{%- endif %}
{%- endfor %}
<size>{{ sizes | join: ', ' }}</size>

You can see the full feed template for Skroutz when you customize the feed.

The final step for any Skroutz feed

Skroutz offers a tool for you to ensure the feed meets all its requirements. Navigate to the Skroutz feed validator and upload your feed file.

During the check, the Validator will ask you if the product attribute mapping is correct. For example, some mandatory fields may be missing, like it is shown in the screenshot below:


When validation successfully finishes, you may start uploading your product feed to Skroutz.