A typical Shopify listing is comprised of a title, description, images, and a price. If you'd like to add additional item specifics to the listing without hand writing them into your description you can use metafields. There are two parts to getting metafields to show up on your Shopify listings:
Setting up Zentail to Send Metafields
There are two steps to make sure that Zentail is sending metafield attributes to your Shopify integration(s).
Add a Metafield to your Shopify Integration
First, you'll want to decide the fields that you want to appear on your Shopify site. To set them up, you can head to:
Account > Integration Settings > Shopify > Manage Metafields (orange button).
Here's a quick video adding 'Shirt Color' as a metafield to a Shopify integration:
Note that there are seven parts to the metafield. The first three are all most merchants need. The other four control exactly where the metafield lands in Shopify, and each one has a default, so you can leave them alone:
Display Name - how it will appear on the Shopify listing and your Shopify Advanced Options in Zentail (more on that below)
Name (aka Internal Name) - this can be ignored. It's how Zentail will handle this in our database.
Source Attribute - the value use for the metafield will inherit from this source. For instance, the above video adds 'Shirt Color' as a metafield with 'Color' as a source attribute. So if the Zentail Color is 'Blue' then Shirt Color will be sent as 'Blue'. Start typing to search: the picker searches every attribute in your catalog.
Namespace - the group the metafield belongs to in Shopify. Leave it blank to use
global, which is what Zentail has always sent. Shopify keeps theshopifynamespace for itself, along with anything startingshopify--orapp--, so Zentail will not let you save one of those.Key - the name Shopify files the metafield under. Leave it blank and the key follows your Display Name.
Scope - Variant or Product, and Variant is the default. Variant attaches the metafield to each variant of a grouped product. Product attaches a single value to the whole product instead.
Value Type - the Shopify type the value is sent as, such as
single_line_text_field. If your store already defines this metafield, Zentail fills in the type your store expects and says so underneath the field. If your store doesn't define it, Zentail sendssingle_line_text_field.
Note that if you have multiple Shopify integrations you can use the 'Copy From' button to copy them over from your other Shopify integration. Copy From checks each metafield against the store you are copying into. Any metafield whose value type that store defines differently is skipped and named for you, and the rest still copy.
Adding a Metafield to a Product
By default, every metafield you've configured is sent to every product. You only need this section if you want a specific product to send fewer metafields than the rest.
If you select any metafields for a product, that product will then send only the metafields you selected — including excluding any metafield you add later. To go back to sending everything, clear the selection so that none are ticked.
Once you've added metafields to your integration, you can select which listings to use them on. You can do this any of three ways (videos below):
Shopify Advanced Options - open a product > Shopify Advanced Options > Manage Shopify Listing > Check off the metafields you'd like to send for this listing.
Import - you'll have a field in your account that looks something like 'Label (Shopify) Metafield Specs' which is the full list of comma-separated metafields for that product. In other words, if you have 'Size' as a metafield and want to add 'Color', you would import 'Size,Color'. Leaving this field blank means "send every metafield", which is the default. Note that this field replaces the whole list rather than adding to it.
Bulk Action - similarly, you could use a Bulk Action to set the same (Shopify) Metafield Specs in bulk.
Here's a video of options 1 and 3:
Setting up Shopify to Display Metafields
If you aren't already using metafields on your Shopify store, or you're using them using a different system or app, you'll want to follow the steps below and also possibly modify your liquid theme code based on how Zentail is communicating your metafields.
Seeing Metafields in the Backend
If you'd like to be able to see metafields on the backend of Shopify (while logged into your myshopify account), you'll need to add a metafields app to your Shopify store. We recommend Metafields guru. No additional action is required! You'll be able to see the metafields (and their values) once pushed from Zentail.
Seeing Metafields on the Frontend
To take these values and display them on the published listing, you'll need to add a snippet of code to your Shopify theme. We recommend following this Shopify Help Article. For our testing, we went to:
Online Store > Themes > Actions > Edit Code > 'product-template.liquid'
And added the snippet below to that file above the section for the description:
{% comment %} Metafields {% endcomment %}
{%- if product.metafields.global != blank -%}
<ul>
{%- for field in variant.metafields.global -%}
<li>{{ field | first }}: {{ field | last }}</li>
{%- endfor -%}
{%- for field in global.metafields.global -%}
<li>{{ field | first }}: {{ field | last }}</li>
{%- endfor -%}
</ul>
{%- endif -%}
This snippet covers the defaults: the global namespace, and Variant scope on grouped products. That's why it's important to include both variant.metafields.global and product.metafields.global (for single listings).
If you gave a metafield your own Namespace, or set its Scope to Product, this snippet won't pick it up. Swap global for your own namespace, and read a Product-scope metafield from product.metafields.your_namespace rather than from the variant.
Here's the end result of the above code:
FAQs
Can I delete a metafield?
Yes — go to your Shopify integration > Manage Metafields and click the trash can icon.
Two things to know first:
Deleting a metafield in Zentail does not remove it from Shopify listings that were already built with it. Those listings keep sending the old value until they are rebuilt. If you need it genuinely removed from Shopify, please contact Zentail Support.
If you delete a metafield and later recreate it with the same internal Name, any product that was previously restricted to a specific set of metafields will still be pointing at that name. This is usually what you want, but it does mean the earlier configuration is still in effect.
What if I need to update a metafield spec? Ex: changing 'Color' to 'Shirt Color'
Click the pencil icon to update a metafield specification.
Why did Zentail refuse to save my metafield?
There are two things Zentail blocks when you click Add, and both of them would otherwise cause Shopify to reject your products.
1. The value type disagrees with your store. If your Shopify store already defines that metafield with a different type, Zentail won't save it, and the error names the type your store expects. You can fix this from either side: change the Value Type in Zentail to match your store, or change the definition in your Shopify admin under Settings > Custom data.
2. The namespace is reserved. Shopify keeps the shopify namespace for itself, along with any namespace starting shopify-- or app--. Pick a namespace of your own, or leave the field blank to use global.
The same value type check runs when you use 'Copy From'. There it skips only the metafields that clash and names them, and copies the rest.
Why is one metafield missing from Shopify when the rest of the product went through?
Because that metafield's value type disagreed with the definition on your store, so Zentail held that one back and sent everything else.
You'll see a listing error naming the metafield and both types. For example:
metafields not sent, their types disagree with the definitions on the Shopify store: custom.care_instructions sent as single_line_text_field but defined on the shop as multi_line_text_field
Shopify rejects an entire product over a single mismatched metafield — title, description, images and every other metafield with it. Holding back just the one field is what keeps the rest of your product live.
To fix it, make the two agree. Either correct the definition in your Shopify admin under Settings > Custom data, or delete the Zentail metafield and re-add it with the value type your store expects. The field goes out with the next push.



