Shopify metafields allow you to store additional information for products, collections, orders, blogs, pages, and your shop that cannot be managed using Shopify’s native fields. For example, if you want to maintain extra description fields for your catalog, such as detailed descriptions or featured descriptions, you can easily create custom fields in NetSuite. However, in Shopify, this is achieved using the metafields functionality. A Shopify metafield includes a namespace, a key, a value, and an optional description. For additional info, refer to the Shopify help article.
Tip
Find additional Celigo migration resources at Shopify 2024-04 API release: Product REST API deprecation.
The integration app enables you to map NetSuite standard/custom fields to Shopify metafields (if they already exist) and/or create the metafields in Shopify directly via the integration app and then map and update them.
Note
-
Celigo supports all Shopify metafields except list types and metaobjects.
-
Ensure that all metafields are accurately defined in the saved search and mapping or setting to prevent the deletion of existing metafields in Shopify for a product. As stated by Shopify, any list field (e.g., collections, metafields, variants) will be updated such that included entries are created or updated, while existing entries not included will be deleted. For more details, refer to productSet.
Mapping Shopify metafields to NetSuite standard/custom fields
Start by selecting the standard or custom field(s) in NetSuite that you want to map to the corresponding metafield in Shopify. In the example below, we have highlighted a few fields that will be mapped to their respective Shopify metafields.
Next, navigate to the saved search in NetSuite used for exporting items from NetSuite to Shopify. If you are using the saved search provided by the bundle, its name should begin with "Celigo Shopify Item Export [your store name]." Open the saved search in edit mode and go to the Results tab.
In the Results tab, you will find all the fields configured for transfer to Shopify. In this use case, the fields ValueDemo(Meta) and ValueiPad(Meta) are utilized for metafield mapping.
Important
The label name must be suffixed with (Meta) to be identified as a meta field by the integration app (see image below). So for example: if you need to map the "ValueiPad" field, the custom label should be "ValueiPad (Meta)". Add as many fields as you like and then save the changes to the Saved Search.
-
Now, go to integrator.io and navigate to the Shopify - NetSuite integration app.
-
In the Flows > Product section, open the "Field Mappings" for the NetSuite Item to Shopify Product Add/Update flow.
-
Click Post products to Shopify.
-
Click + to add a new row under the product object.
- Select the data type as [Object] - array of object.
-
From the source object dropdown list, select the metafields object. In this case, it is meta [*].
-
In the destination object field, enter the name of your choice. In this case savedSearchProductMetafields.
-
Click + within the object, to add a new row to your field mappings.
-
Click the field dropdown list.
-
Type in
ValueiPad (Meta)
and select.
-
-
Click + to add another field.
-
Click the field dropdown list.
-
Type in
ValueDemo (Meta)
and select.
-
Note
Namespace and key are colon-separated.
The following is an example of a namespace and key value in a sample Shopify Product API.
In the mapping section for destination fields, enter the namespace and key values for the ValueiPad (Meta)
and ValueDemo (Meta)
fields using the specified format above. Then, click Save to complete the mapping successfully.
Once the mapping is done, you can run the flow and you view the updated metafield data in Shopify.
Creating metafields if they do not exist
If you don't have metafields already created, directly add the 'namespace' and 'key' values in the mapping editor in the specified format (product.metafields[*].namespace:key) and the integration app will create the metafields in Shopify.
Viewing metafields in Shopify
Go to a Shopify Product and in the URL, append with the term 'metafields.json' and press 'Enter'.
Related Topics
Comments
Will this same exact process work with virtual variations using the NetSuite Matrix Item to Shopify Product Add/Update flow? It seems to work perfectly for the parent item only but it does not seem to export metafields for variant items.
HI there, I have the same question as above. Can't get these working on NetSuite Matrix Item to Shopify Product Add/Update flow.
As of January 1, 2019, I was able to map product-level metafields through the Matrix Item Flow. I have not tested variant-level metafields.
The product-level metafields through the matrix flow have always worked for us. The issue is with the variant-level metafields.
Hi all,
Shopify Connector currently doesn't support meta fields at variant-level and this is being tracked as an enhancement for a future release.
Has this enhancement been deployed @Rohit?
Is this deployed? I have the same question, and was under the impression after doing a detailed video walkthrough with a customer onboarding tech person that this was the case...but now the comments are scaring me (and I'm not seeing any other info in the help documentaiton).
Hello Jousha and Think Operations team, We are still working on the feature design and enhancement is not deployed yet. We are seeking some usage information to better design this feature and provide concrete ETA. I will reach out to you guys in different channel
How can a metafield be removed from a product? For example, we have a product that had a Disclaimer metafield at one point. Now that disclaimer has been removed from the product in NetSuite and the value is null. The metafield still exists on the product in Shopify and the content of that metafield is not being removed.
Our Item export flow from NetSuite to Shopify doesn't support delete operation, as it is risky of loosing data. We haven't heard use cases to support it as of now. Let me add to product backlog, but will consider it in future based on demand from others customers. You can built custom flow as quick win to perform this task.
How can we change the "value type" of metafields? Currently, all metafields are being imported into Shopify as value type = string, but what if we want to import integers or currency?
Hi, you can use the "Settings" (Gear) icon next to the field mapping in to set the "Data Type" value to "Integer".
Thanks Dev! Great article!
Please sign in to leave a comment.