
You export 12,000 customers from shop A. Import into shop B. Preview marks rows as updates that you thought were new — or you get twins: same email, two IDs. The Customer ID column from A is meaningless in B. Shopify does not share those numbers across stores.
Shopify customer ID from another shop import is the match order in Import customers from CSV for OO - Bulk Customer Data Editor. If the ID exists in this store, that customer is updated. Otherwise the app looks up email. Still missing: create (email or phone required). A foreign ID is ignored when it does not exist here.
The app is Free. 0 reviews — do not invent a rating. Spreadsheet in admin: locale, tax exempt, tags, notes, addresses, metafields the shop defines. Excel and Google Sheets via CSV. Listing extras: fields Shopify’s standard editor is weak at in bulk, plus store-to-store migration.
Live: bulk save in batches. Earlier: import customers from CSV. This piece is only the ID trap between shops.
Inside one shop the ID is the stable key. Export docs: keep Customer ID for a re-import *into this shop*. Across stores it is a different universe.
How it breaks:
Paste IDs and expect overwrite. Shop B does not know `gid://shopify/Customer/123` from A. Lookup falls to email. Two people, same address, different inboxes: two records. Same email: update of the B customer, including filled CSV cells.
Clear the ID column “because it is another shop”, and leave email empty. Step 3 fails: create needs email or phone.
Assume an ID miss skips the row. It does not. Foreign ID ignored → email. That is the migration path the docs describe: a Shopify CSV from another store *can* be imported.
Forget locale and tax exempt. Those columns are often empty or store-default after a native export. Empty CSV cells do not change existing values on updates. Second pass in the grid, or filled cells in the file.
Docs steps:
Customers in the app → Import
Upload `.csv`
Preview import — creates vs updates
Confirm. Large files in batches with progress — keep the tab open
Failed or skipped rows: Import results to review or download
Formats: this app’s own export CSV, or Shopify’s standard customer export (First Name, Email, Accepts Email Marketing, Default Address, …). Yes/no marketing values map to subscribed/unsubscribed.
FAQ: empty cells never clear on updates. Read-only columns (total spent, order count, created date) do not write back. Select-all matching up to 50,000 is the spreadsheet, not this CSV job.
Two Advanced stores. A is the old EU shop. B is the new primary domain. 4,200 wholesale accounts. In A, locale `en` and tax exempt are correct. Native Shopify export from A.
Install OO - Bulk Customer Data Editor on B. Free.
Import the Shopify CSV. Preview: mostly create, a handful of updates on emails already used as tests in B. Do not panic about A’s IDs — they will not match.
Leave the tab open. Batches. Results: rows with neither email nor phone are out. Fix those separately.
In the grid: filter Locale empty or not `en`. Bulk apply `en`. Save, tab open. Tax exempt: second filter, yes/no, Save. Empty CSV cells would not have overwritten those flags on updates; on creates they follow whatever the CSV actually held.
Spot-check: same human, A’s ID maybe in a note, a new ID in B. Order migration is a different Shopify job; this is the customer file.
Same email as guest on A and account on B: import updates B. Tags and note from the CSV apply when the cell is filled. Unwanted? Catch it in Preview, or leave those columns empty so updates skip them.
Export from the source. Decide: Shopify CSV or this app’s export (grid columns, including ID — that ID becomes the key *after* they live in B).
Import on B. Preview. Search a known email: create or update?
Confirm. Tab open. Read results.
Second pass in the table: locale and tax exempt, the listing USPs native CSV often drops.
From then on: re-import in B with B’s Customer ID, not A’s.
Migrate customers between stores is the wider story. This is why A’s ID column is not an update key.
Shopify customer ID from another shop import is expected behaviour. IDs are unique per shop. Match: this-store ID, else email, else create (email or phone). Foreign IDs are ignored. Empty cells leave updates alone.
Import A’s CSV into B with OO - Bulk Customer Data Editor, trust Preview, and fix locale in bulk — do not force the old ID.
Services
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins