Quick start

Five minutes, one real import, no CSV writing. We'll create three metafield definitions on your products using the template ImportKit generates for you.

Do this on a development store first if you can

Imports can't be undone. On a Shopify development store, credit purchases are test charges, so this walkthrough costs you nothing. More on testing safely →

1. Install the app

Install ImportKit from the Shopify App Store and approve the permissions. Shopify will drop you straight into the app.

The left nav has four items: Home, Import, Credits and Jobs. Home shows your credit balance and recent imports.

Screenshot

The app home page, just after installing

Credit Balance card showing 0 available, with the empty recent-imports state and the left nav visible.

assets/screenshots/home-empty.png

2. Get a template

  1. Go to Import.
  2. Under Content type, choose Metafield definitions.
  3. In the “Don't have a file yet?” panel, click Download template.

You now have metafield_definitions-template.csv on your machine. It looks roughly like this — a correct header row plus example rows, each demonstrating a different situation:

metafield_definitions-template.csv
name,key,type,ownerType,namespace,description,pin,validations,storefrontAccess
Care guide,care_guide,multi_line_text_field,PRODUCT,custom,How to care for this product,true,,PUBLIC_READ
Highlights,highlights,list.single_line_text_field,PRODUCT,custom,Key selling points,false,,PUBLIC_READ
Reading time,reading_time,number_integer,ARTICLE,custom,Minutes to read,true,min:1;max:120,PUBLIC_READ

You can import it exactly as it is. If you'd rather use your own field names, open it in a spreadsheet and edit the name, key and description values — just leave the header row alone.

Also worth a click

Download column guide gives you a second CSV that explains every column, whether it's required, and what each example row is demonstrating. Handy to keep open in another tab.

3. Upload it

Drag the file onto the drop zone, or click to browse. ImportKit reads the header row and lists your columns.

Screenshot

Step 1 — Upload CSV, with a file selected

Content type set to Metafield definitions, the file name shown in the drop zone, and the Continue button enabled.

assets/screenshots/quickstart-upload.png

4. Confirm the mapping

Because you used the template, every column is recognised and mapped for you. Have a look anyway — this is the screen where you'd correct anything, or set a column to Ignore if you didn't want it imported.

Columns marked required must be mapped to something before you can continue. For metafield definitions those are name, key, type and ownerType.

How mapping works in detail →

5. Run the pre-import check

This is the step that makes bulk imports survivable. The check reads every row and compares it against what's already in your store, then reports a verdict for each one:

VerdictMeaningCosts a credit?
CreateNothing like it exists yet, so it will be created.Yes
UpdateIt exists and will be patched with this row's values.Yes
SkipIt exists and will be left completely alone.No
ConflictIt exists but is incompatible with this row.No
ErrorThe row itself is invalid and can never import.No

On a fresh store you should see 3 to create and “3 of 3 rows will be written”. That number is exactly what the import will cost in credits.

The check writes nothing and costs nothing. Run it as many times as you like.

Screenshot

Step 3 — Check against existing definitions

“3 to create” badge, “3 of 3 rows will be written”, the conflict-mode selector, and the three rows listed with their labels.

assets/screenshots/quickstart-check.png

6. Buy credits

One credit imports one row, and you have three rows. If your balance is zero, the import step will tell you and link you to Credits.

  1. Open Credits.
  2. Pick the Starter Pack — 50 credits for $1.99.
  3. Approve the charge on Shopify's confirmation screen.

You land back on the Credits page with the balance updated. On a development store this is a test charge and nothing is actually billed.

Everything about credits →

7. Import

Back on Import, go to the last step and press Start Import.

The job runs on our servers, so you can close the tab if you want — but for three rows it'll be done before you can. You'll see a progress bar, live counts, and a Cancel button.

Screenshot

Step 4 — Import complete

Finished state showing 3 succeeded, 0 failed, 3 credits used, with the Retry / Start over buttons.

assets/screenshots/quickstart-done.png

8. Check your work

Two places to look:

9. The interesting bit: import it again

Upload the same file a second time and run the check. Now every row reports Skip, the credit cost is 0, and nothing in your store changes.

That's the default conflict mode doing its job. Switch it to Update it with this row's values and the same rows become updates instead. Switch it to Report it as an error and they become conflicts. Nothing is charged in the check either way.

Read more about conflict handling →

Where to go next

You've now done the whole loop. The obvious next step is to put values into the fields you just created: