Skip to main content

Import Best Practices

Tips and strategies to ensure successful, efficient, and safe data imports into your Shopify store

Updated yesterday

Following these best practices will help you avoid common pitfalls, speed up your imports, and prevent accidental data loss.


Step 1: Back Up Your Data First

Before starting any import that will update existing data, always create a backup by exporting your current data. This is your safety net if something goes wrong.

Why This Matters

  • Easy recovery: If the import doesn't go as planned, you can restore your original data

  • Reference point: Compare the before and after to verify changes

  • Audit trail: Keep a record of what your data looked like before the update

  • Peace of mind: Import with confidence knowing you can undo changes if needed

How to Back Up

  1. Open Altera in your Shopify Admin

  2. Start a new export for the data type you're about to import (Products, Orders, Customers, etc.)

  3. Export all columns - Don't filter or limit fields; export everything including variants, images, metafields, and identifiers

  4. Download and save the file in a safe location with a clear filename like products_backup_2025-10-28.xlsx

  5. Keep the backup file untouched - Don't edit this file; make copies for your import work

  6. Verify the export - Open the file and confirm it contains all your data

When to Skip This Step

You can skip the backup if you're:

  • Creating entirely new items (not updating existing ones)

  • Working on a development or test store

  • Importing data that can be easily recreated

For everything else, especially on production stores, always back up first.


Step 2: Test with a Small Batch

Before running a full import with hundreds or thousands of items, always test with 1-2 items first. This simple step can save you hours of troubleshooting and prevent data issues.

Why This Matters

  • Catch formatting errors early: Identify column mapping issues, data type problems, or validation errors before they affect your entire dataset

  • Verify the results: Confirm that your data appears correctly in Shopify exactly as you expect

  • Adjust your approach: Make changes to your spreadsheet or import settings before committing to the full import

  • Prevent bulk mistakes: Avoid having to undo or fix hundreds of incorrectly imported items

How to Test

  1. Create a copy of your spreadsheet

  2. Keep only the header row and 1-2 data rows

  3. Upload and import the test file

  4. Check the results in Shopify Admin

  5. Review the import results file for any warnings or errors

  6. Note the import job ID if you encounter issues - this helps when troubleshooting or contacting support

  7. Once verified, proceed with your full import


Remove Unnecessary Columns

When updating existing data, only include the columns you actually need to change. This is one of the most important best practices for safe and efficient imports.

Required Columns

Always include at least one identifying column so Altera can find the correct items to update:

  • ID (most reliable, preferred for updates)

  • Handle (for products, collections, articles, etc.)

  • Name (for orders, draft orders)

  • Email (for customers)

  • SKU (for product variants)

Columns to Update

Include only the specific data fields you want to change. For example:

Good - Updating product prices:

Handle           | Variant Price
blue-t-shirt     | 29.99
red-hoodie       | 49.99

Bad - Including unnecessary columns:

Handle           | Title      | Body HTML              | Vendor    | Variant Price
blue-t-shirt     |            |                        |           | 29.99
red-hoodie       |            |                        |           | 49.99

Why This Matters

Removing unnecessary columns provides several important benefits:

1. Faster Imports

  • Smaller file sizes upload and process more quickly

  • Less data to validate and transfer to Shopify

  • Reduces API calls and processing time

2. Prevents Accidental Data Loss

Many columns have special behavior when left blank:

  • Blank metafield columns delete the metafield - If you include a Metafield: custom.warranty column but leave cells blank, those metafields will be deleted from your products (see Metafields documentation)

  • Blank values may clear existing data - Some fields interpret blank values as instructions to clear the existing data

  • Empty image columns can remove images - Including image-related columns with blank values may unintentionally remove existing product images

3. Clearer Intent

  • Your import file clearly shows what you're changing

  • Easier to review and audit before importing

  • Reduces confusion about which fields should be updated

4. Better Error Tracking

  • Easier to identify which column caused an error

  • Simpler to fix and re-import failed rows

  • Less data to review in error messages

Example Scenarios

Updating product SEO titles:

Handle           | SEO Title
blue-t-shirt     | Buy Blue Cotton T-Shirt - Free Shipping
red-hoodie       | Premium Red Hoodie - Organic Cotton

Updating customer tags:

Email                    | Tags
[email protected]     | VIP, Wholesale
[email protected]           | Retail, Newsletter

Updating order tracking numbers:

Name     | Lineitem Fulfillment Status | Lineitem Tracking Number
#1001    | fulfilled                   | 1Z999AA10123456784
#1002    | fulfilled                   | 1Z999AA10123456785


Filter to Specific Items When Needed

When you need to update only a subset of your data (like specific product lines, vendors, or categories), filter your spreadsheet to include only the relevant rows.

Why This Matters

  • Faster imports: Processing fewer rows reduces import time

  • Targeted updates: Change only what needs to change

  • Easier verification: Simpler to review results when working with smaller datasets

  • Reduced risk: Smaller batches mean less potential for widespread errors

How to Filter Your Data

  1. Start with your full export or backup file

  2. Apply filters or sort to identify the items you want to update

  3. Copy the filtered rows (plus the header row) to a new spreadsheet

  4. Verify identifiers match: Ensure ID, Handle, SKU, or other unique identifiers are correct to prevent creating duplicate items

  5. Import the filtered file

Example Scenarios

Updating prices for a specific vendor:

ID          | Vendor      | Variant Price
123456789   | Nike        | 79.99
123456790   | Nike        | 89.99
123456791   | Nike        | 99.99

Adding tags to products:

Handle              | Tags
summer-dress-blue   | Summer Sale, Clearance
summer-dress-red    | Summer Sale, Clearance
summer-hat          | Summer Sale, Clearance


Import Order for Store Migrations

When migrating data from one Shopify store to another, import order matters because many data types have dependencies. If you're using an Excel file with multiple sheets, Altera automatically handles the import order for you. If you're importing data types separately (individual CSV files or one at a time), you'll need to follow the correct sequence manually.

Why This Matters for Migrations

During a store migration, certain data types must exist before others can be imported successfully:

  • Orders need customers to exist first

  • Discounts may reference products, collections, or customers that must be created beforehand

  • Catalogs require products to be imported first

  • Collections may reference products (for manual collections)

  • Menus may link to collections or pages

Importing in the wrong order can cause errors or create incomplete data relationships.

Multi-Sheet Excel Files (Automatic)

This is the recommended approach for migrations. When you export from your source store, Altera creates an Excel file with separate sheets for each data type. When you upload this file to your destination store, Altera automatically imports the sheets in the correct dependency order, regardless of how the sheets are ordered in the file.

The automatic import order is:

  1. Redirects

  2. Metafield Definitions

  3. Metaobject Definitions

  4. Metaobjects

  5. Shop

  6. Blogs

  7. Articles

  8. Pages

  9. Products

  10. Catalogs

  11. Smart Collections

  12. Manual Collections

  13. Menus

  14. Files

  15. Customers

  16. Orders

  17. Companies

  18. Discounts

You don't need to do anything special-just upload your exported Excel file and Altera handles the rest.

Separate Imports (Manual Order Required)

If you're importing data types separately-either as individual CSV files or by choosing to import one data type at a time-you must follow the order listed above to avoid dependency errors.


Understand Blank Value Behavior

Different column types handle blank values differently. Understanding this behavior helps prevent unintended deletions.

Excel Error Values

Excel error values (like #VALUE!, #DIV/0!, #REF!, etc.) are treated as empty cells by Altera. These cells follow the same behavior as blank cells:

  • Most columns: The error cell is skipped, leaving the existing value unchanged

  • Metafield columns: The error cell is treated as blank and will delete the metafield from the resource

  • Tags and similar fields: The error cell is treated as blank and will remove the values if the tags command is set to REPLACE

If you have Excel error values in your spreadsheet, consider fixing the formulas or replacing them with actual values before importing.

Columns That Delete When Blank

  • Metafield columns: Blank metafield values will delete the metafield from the resource

  • Tags: An empty Tags column will remove all tags if the tags command is set to REPLACE

  • Some text fields: Certain descriptive fields may be cleared

Columns That Ignore Blank Values

Most standard columns (like Title, Vendor, Product Type) will skip updates when the cell is blank, leaving the existing value unchanged.

Best Practice

If you're unsure how a column handles blank values:

  1. Test with 1-2 items first (see above)

  2. Check the field reference documentation for that data type

  3. When in doubt, simply remove the column from your spreadsheet


Use the Correct Command

The Command column controls how Altera handles each row. Choose the right command for your use case:

  • MERGE (recommended for most updates): Updates existing items or creates new ones if not found

  • UPDATE: Only updates existing items; skips if the item doesn't exist

  • NEW: Only creates new items; skips if the item already exists

  • DELETE: Permanently removes the item from your store; skips if the item doesn't exist

  • REPLACE: ⚠️ Completely deletes and recreates the item with only the data in your file (use with extreme caution)

  • IGNORE: Skips the row entirely

For most update scenarios, MERGE is the safest choice.


Verify Your Data Before Importing

Check for Common Issues

Before uploading your file:

  • Required fields are present: Products need Title, Orders need line items, etc.

  • Data formatting is correct: Prices are numbers, dates follow ISO format, boolean values are true/false

  • No hidden columns or rows: Hidden data will still be processed during import

  • Column headers match exactly: Use the proper field names from the field reference

Use the Preview Screen

After uploading but before starting the import:

  • Review the data type detection

  • Check the column mapping

  • Verify the row count matches your expectations

  • Look for any warnings or validation messages

  • Note the Analysis ID (shown with an "A_" prefix) - you can copy this ID to reference when contacting support about validation issues


Import Large Datasets in Batches

For very large imports (thousands of items), consider breaking your file into smaller batches even after you've tested successfully with a few items.

Why This Matters

  • Easier error tracking: If something goes wrong, you'll know exactly which batch had the problem

  • Faster recovery: Only need to fix and re-import the failed batch, not the entire dataset

  • Monitor progress: Check results incrementally to catch issues early

  • Better performance: Smaller batches can process more reliably

How to Batch Import

  1. Split your file into manageable chunks (e.g., 500-1000 rows per batch)

  2. Import the first batch and verify results

  3. Check for any errors or warnings in the results file

  4. Continue with subsequent batches once you confirm the first batch succeeded

  5. Keep all result files for each batch for your records

When to Use Batching

  • Importing more than 1,000-2,000 items

  • Complex imports with many columns or relationships

  • When working with time-sensitive data that you want to validate incrementally

  • If previous large imports have had timeout or performance issues


Review Import Results

After every import:

  1. Download the results file: Contains success/failure status for each row

  2. Check the Import Comment column: Shows specific error messages or warnings

  3. Verify in Shopify Admin: Spot-check a few items to confirm data appears correctly

  4. Review failed rows: Fix any errors and re-import just the failed items


Keep Your Import Files

After running an import, save the original spreadsheet you uploaded. This helps you:

  • Track what changes were made

  • Re-import if needed

  • Reference the exact data that was imported

  • Debug any issues that arise later


Common Mistakes to Avoid

❌ Skipping the Backup

"I'll just be careful and won't need a backup" - Always export your data first, especially on production stores!

❌ Skipping the Test Import

"I'll just import all 5,000 products now and hope it works" - Always test with 1-2 items first!

❌ Including All Exported Columns for a Small Update

When you export products, you get dozens of columns. Don't include them all when updating just prices - remove the unnecessary ones.

❌ Using REPLACE Instead of MERGE

REPLACE deletes the entire item and recreates it. Use MERGE for updates unless you specifically need to wipe all existing data.

❌ Leaving Metafield Columns Blank Unintentionally

If you export products with metafields, then edit only the prices, remember to either remove the metafield columns or fill in the existing values. Blank metafield cells will delete those metafields.

❌ Not Checking the Results File

The import might complete successfully but have important warnings or partial failures. Always download and review the results.


Related Documentation

Did this answer your question?