Quick links
What you can do on this page
Download a sample CSV, confirm the column format, then follow the four-step import. Troubleshooting and FAQ are at the bottom.
Use it as a template or to validate your own file.
Only the initial value is required. Keep the code column so each card keeps its code.
Match your columns, then fix flagged rows before anything is created.
Prerequisites
- Staff account with permission to create gift cards in Shopify.
- A CSV, Excel (.xlsx or .xls), TSV or TXT file with one header row.
- Amounts as plain numbers and dates as YYYY-MM-DD.
CSV format
Only the initial value is required. Include the code column to keep each card's original code. Your headers can have any name, because you match them during upload.
| Column | Required | Example | Notes |
|---|---|---|---|
| code | Recommended | GC9F3K2L8A | 8–20 letters or numbers, no dashes or spaces. Without it, Shopify creates a new code. |
| initial_value | Yes | 100 | A number above 0 and up to 2,000, no currency symbol. |
| balance | Optional | 37.50 | What is left on the card. Not more than the initial value. |
| expires_on | Optional | 2027-12-31 | YYYY-MM-DD. Blank means no expiry. Past dates can't be imported. |
| note | Optional | Migrated from POS | Internal note. Customers don't see it. |
| customer_id | Optional | 7385023904 | Numeric Shopify customer ID. Needed for customer emails. |
code,initial_value,balance,expires_on,note,customer_id
GC9F3K2L8A,100,100,2027-12-31,Migrated from POS,7385023904
GC7J2M5Q1B,50,12.50,,,
GCABCD1234,200,200,2027-06-30,VIP compensation,Step-by-step import
Bring data from any POS or platform.
Adjust mappings without re-uploading.
Repeated codes, amounts and dates are checked before anything is written.
Progress view and exportable logs for auditing.
3-minute video tutorial
A quick overview of the import flow, validation, and logs.
Troubleshooting
“CSV failed to upload”
- Upload a CSV, Excel (.xlsx or .xls), TSV or TXT file.
- Keep one header row and remove empty rows above it.
- Keep each file under 10 MB and 10,000 rows. Split larger files.
“Duplicate codes detected”
The same code appears more than once in your file. Fix or remove the extra rows in the preview. Codes that already exist in your store are skipped during import, never overwritten.
“Invalid code, amount or date”
Codes must be 8–20 letters or numbers with no dashes. Amounts must be plain numbers, and dates must be YYYY-MM-DD.
Frequently asked questions
Which CSV formats do you support?
CSV, Excel (.xlsx and .xls), TSV and TXT. Your headers don't need to match ours, because you match each column during upload.
Can I prevent duplicates or wrong balances?
Yes. Repeated codes in your file, invalid amounts, balances above the initial value and bad dates are flagged before import, and you can export the errors. Codes already in your store are skipped during the import.
Will customers get notified automatically?
Only if you map a Shopify customer ID column and turn notifications on for that import. Otherwise no email is sent.