Import & export
Bring members across from another loyalty app with a CSV, or export your current members as a backup. Both live in Settings, under Member Import & Export.
Member Import & Export
Exporting members
Click Export members CSV to download every enrolled member as a CSV file. Use it as a backup, to review balances in a spreadsheet, or as a starting template for an import — the export columns are a superset of what the importer reads, so an exported file can be edited and re-imported as-is.
CSV format
The importer needs only three columns. Any extra columns from an export are ignored. The header row is required and column names are case-insensitive.
| Column | Required | What it is |
|---|---|---|
email | Yes | The member's email. Used to find the matching Shopify customer. |
points | Yes | A whole number ≥ 0. Becomes the member's points balance (and lifetime baseline). |
tier | No | A tier slug (e.g. gold). Leave blank to let the points decide the tier. |
The tier value must be a tier slug, not its display name — for example vip-member, not "VIP Member". An export already uses slugs, so round-trips are safe.
A minimal import file looks like this:
email,points,tier
alice@example.com,1200,gold
bob@example.com,350,silver
carol@example.com,0, What an import does
For every row whose email matches an existing Shopify customer, the import:
- Enrols the member — with no sign-up bonus, regardless of your enrollment bonus setting.
- Sets their points to the CSV value (this is a set, not an add).
- Assigns the tier from the
tiercolumn, or works it out from the points if the column is blank. - Dates the points to the import day — so if you use rolling (FIFO) expiry, the clock starts fresh from the day you import.
Import is a full replace. For any email that matches an existing member, the import overwrites their current balance and clears their previous points history (kept only as cancelled rows for audit). Already-issued discount codes are not affected. This cannot be undone — so for a one-time migration, import before members start earning.
How matching works
Members are matched to Shopify customers by email. If an email has no matching Shopify customer, that row is skipped and listed in the result — the import never creates new Shopify customers. The skipped emails are shown when the import finishes, so you can create those customers in Shopify and re-run if needed.
Tiers after import
A tier from the CSV is applied immediately. Gibbond also re-checks every member's tier once a day against your tier thresholds, so a tier is ultimately driven by the member's points. If you import a tier that the points don't qualify for, it will be reconciled to the points-based tier on the next daily run. To keep imported tiers stable, make sure your tier thresholds line up with the points you import.
Running an import
Imports run in the background, so you can leave the page while one is in progress. A status banner shows live progress and a summary when it finishes (imported, skipped and any errors). After the data is written, Gibbond automatically refreshes each member's storefront points balance and tier.
| Limit | Value |
|---|---|
| Maximum file size | 5 MB |
| Maximum rows per import | 10,000 |
| Duplicate emails in a file | The last row for an email wins |
Re-running the same file is safe: because each import is a full replace, re-importing simply re-settles members to the file's values rather than stacking points.