Metafields in Shopify allows you to store additional information for products, collections, orders, blogs, pages, and your shop that cannot be managed within the native fields provided by Shopify. For example - If you would like to maintain additional description fields for your catalog like the detailed description, featured description, etc, you can do this in NetSuite simply by creating custom fields if you like but in Shopify, you would do this by leveraging the Metafields functionality. A metafield in Shopify consists of a namespace, a key, a value, and a description (optional). For additional info, please refer to the Shopify help article here.
The Integration App enables you to map NetSuite standard/custom fields to Shopify metafields (if they already exist) and/or also create the metafields in Shopify directly via the Integration App & then map and update them.
Note: Celigo supports all the metafield types mentioned in the Shopify metafields except the List types.
Mapping Shopify metafields to NetSuite standard/custom fields
First, choose the standard/custom field(s) in NetSuite that you would like to map to a corresponding metafield in Shopify. In the following example, we have highlighted a few fields that will be used to map to corresponding Shopify metafields.
Next, go to the saved search in NetSuite that is being used for exporting Items from NetSuite to Shopify. If you are using the saved search that comes from the bundle, the name of the search should start like "Celigo Shopify Item Export [your store name]". Once you open the Saved Search in the edit mode, select the 'Results' tab.
Under the 'Results' tab, you will see all the fields that are configured to be sent over to Shopify.
In order to map a NetSuite field to a corresponding Shopify metafield, you need to add an additional row by choosing the desired NetSuite field from the dropdown. You must also provide a relevant label under the "Custom Label" column on the right. 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 "Technical Specifications" field, the custom label should be "Technical Specifications (Meta)". Add as many fields as you like and then save the changes to the Saved Search.
Now, head over to integrator.io and go to the "Settings" section of the "Shopify - NetSuite Integration App". Go to the "Product" section and open the 'Field Mappings' section for the "NetSuite Item to Shopify Product Add/Update" data flow.
Add an additional row to your field mappings. In this row, provide the NetSuite value (left column) as meta[*].Technical Specifications (Meta) (The pink-colored text is exactly what is provided in the Saved Search.)
For the Shopify value (right column), provide the value in the following specified format: product.metafields[*].namespace:key (Note: Namespace and key are colon-separated)
For example, the following is the namespace and key values in a sample Product API.
Replace these values in the field mapping section in the specified format and Save to complete the mapping successfully. Similarly, add any other meta-fields to represent the mapping correctly.
Once the mapping is done, you can run the data flows from the data flow settings dashboard.
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'.
The screen displays the metafields in the backend.
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.
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.