Use the Transporter app to import customer, product, and order records into your Shopify store. The app accepts CSV files for each of these record types, processes the records, and then imports them as objects into a Shopify.
You can create the CSV files yourself or you can use the Transporter command-line tool to create them.
CSV format requirements
You need a CSV file for each record type that you want to import into Shopify. To view the CSV format that you need to follow, download following sample CSV files. Use these files as templates for creating your own import files for the Transporter app:
If you use the sample files to create your CSV files, then they need to conform to the following rules:
- The CSV file must use UTF-8 encoding to avoid generating unwanted special characters in your file. If you are updating a CSV file, then remember to confirm the UTF-8 encoding to avoid generating unwanted special characters in your file. If you save your file after forgetting to confirm its UTF-8 encoding, then your data will be corrupted when you upload it as a new spreadsheet. Shopify can't recover corrupted files for you.
- Each column in the file needs to be separated with a comma.
- Each line must be separated by a line break (
\r\n) or LF-style linefeeds.
- The first line in the CSV file needs to contain the names of the column headers.
- The order of the columns is important and every row needs to have the same sequence of columns.
- The names of your CSV files needs to contain the name of the object that you’re importing. For example, a file that contains the customer records could be named mycustomers.csv.
Import a CSV file
The CSV file that you upload must conform to the CSV format that the Transporter supports.
To upload a CSV file from the Transporter app, click Upload file and enter your CSV file.
When importing objects into your Shopify store, the Transporter app performs the following actions:
Uploads the file to a secure, Shopify-hosted, staging location.
Prepares the file by checking for structural and content format errors. If the Transporter app finds any errors, then your import fails and its status is Failed.
Processes the file by importing the objects. The amount of time for the import depends on the number of objects to be processed (on average the processing rate is 40 objects/second). You can stop the import of further objects by clicking Stop import. (Objects that were imported before you stopped the import will stay in your Shopify store). When you stop an import, its status is Stopped. When the import is finished, its status is Complete. If there were records that the Transporter app couldn’t import, then an Export errors link appears in the table.
Troubleshooting and errors
The Transporter app can encounter errors when it processes and imports your objects.
When the status of an import is Failed, you can click the Export errors link in the table. Download the export errors file and review the errors. Fix the errors in your upload file and then try uploading the file again. Common errors include:
- Column count mismatches between the header row and other rows in the file.
- Invalid (non-UTF-8) file encodings.
If the Transporter app encounters errors when it tries to imports objects, then these records are not imported. Instead, they are added to a CSV file and the import continues. When the import completes (status is Complete) an Export errors link appears in the table. Download this CSV file and review the problematic record rows. The last entry (column) in each row describes the error for the record. Make your corrections in this file and then upload it. You do not need to delete the error column before uploading it.
In the following example, three customers could not be imported because they already existed in the store. (Shopify customers are identified by their unique email addresses, and these three email addresses are attached to customers in the Shopify store).
First Name,Last Name,Email,Error(s) Jane,Doe,firstname.lastname@example.org,...,Email has already been taken Jane,Doe,email@example.com,...,Email has already been taken Jane,Doe,firstname.lastname@example.org,...,Email has already been taken
Limitations and known issues
The following list contains limitations and known issues for the Transporter app:
- You cannot use the Transporter app to update objects in your Shopify store.
- Your browser can time out when you attempt to download large error files.
- If you try to import product or order files more than once, this can result in duplicate objects in your store. In contrast, customers are uniquely identified by their email address or phone number and cannot be duplicated.