Importing Product, Order, and Customer Fields
Note: Custom Fields does not import or change data that is controlled on Shopify. For example, it doesn't change your product titles or Google Shopping tags.
Custom Fields can, however, import or update any Metafield, even Metafields controlled by other apps.
Getting Started
Create the fields you want to import in the app, if you haven't already.
Once your fields are created, get the sample import file from the app. This file is a very helpful starting point. The file is customized to your installation with each of your fields in the sample, along with sample data.
To get the file, in the app, hover on Products then click Import then click on Help. Finally, click on Download sample CSV file.
From there, you'll be able to add your existing data in a format that Custom Fields can import.
Requirements
At the very least, Custom Fields needs a column with the product handle, a column for the Title, and at least one column using the format of custom_fields["MACHINE_NAME"]
, for example custom_fields["my_text_field"]
.
Note: You cannot import values for Customers that don't exist yet. You must first create them in your store.
Titles
A title column is required and the title for each product cannot be blank. Note that the title field does not need to contain valid titles, just some value. They aren't actually used or imported. The only reason titles are required is because it follows Shopify's export and import rules. In Shopify, variants in imports are separated from products in imports by leaving the title field blank for variants. The Custom Fields app identifies variants the same way.
Importing Variants
If you're importing data for products that do not include variant-level data, then you can start from an export from Shopify, add properly formatted columns and data to it for our app, and import that file.
If you need to import variant-level data, Shopify's format will cause you some problems. In Shopify's exports, the first row for each product contains data from both the product level and the first variant. In our format, those are separate, allowing import on either the product, or the variant, or both. In this case, start your import file with an export from our app.
Rules for Importing Variants
- Variant rows must be below a product row because variants are children of products. In an import file, the product row is first. It identifies the product that the variants in the rows immediately below the product row belong to. See the image below for an example.
- Variants do not have titles. Leave the title column blank for variants in imports. This tells the importer that the row is a variant and not a product.
- Variants are identified by the Option Values.
- Variants don't use IDs for import. IDs are for products only and are optional. IDs on products speed up the import process.
- Variants don't use SKUs for import. They can be in the import file but they are ignored.
- Variant fields and product fields can be imported in the same file at the same time. There is no need for separate imports.
Example file format
Importing In Custom Fields Only Imports Metafields
The same file can usually be imported into Custom Fields and Shopify. Shopify ignores Custom Fields values (or any Metafield) and Custom Fields will ignore Shopify values, including titles, SKUs, options, etc.
Importing Other Metafields
Any product metafield can be imported this way, using the format of metafield_namespace["metafield_key"]
. In Custom Fields, those field values will appear in the app under Other Metafields when editing a product.
Heads Up, This Might Take a While...
All apps are limited by Shopify to 2 changes per second. Each field value you want to import is one change. We are as efficient as possible, but we cannot speed the process up any faster than Shopify’s limits allow.
Try to avoid updating the same fields over and over again. If possible, keep track of what values have changed for future imports. You can speed up your import significantly when updating if your file only has rows in it that need to change, rather than continually uploading the same information for every row.
Deleting Field Values
When Custom Fields encounters a blank cell in a CSV, it is ignored, not deleted. To delete values from a field, enter DELETE
(in all caps) into the cell you wish to delete the value from. To delete all values from a certain field, fill the column for the field you want to clear in your CSV with DELETE
.
Learn By Example
Let's start in our CSV file that we will import to Custom Fields.
We added some value to new fields we have created in the app. This is done by placing data in the cell that is lined up with the field and product you want to edit! Now save your file as a CSV with UTF-8 encoding and we can head back to Custom Fields!
In Custom Fields, head to Products, then Import. From here you can Upload Custom Fields CSV files and import field values. Click on Choose File and select your newly created csv! Now click Upload & Import.
If it is imported successfully, you will get a green message that says "Import finished."
That's It!
Now your fields will show up on your product pages and in Custom Fields!
Troubleshooting
If after reading this article, you still have questions or it just doesn't work be sure to check out the articles on Most Common Troubleshooting Issues and Changing the CSV Encoding
Additional Resources
Custom Fields: Tips for Importing Each Field Type