Member Segments
How to import members into static segments using CSV files in Open Loyalty, including prerequisites and common pitfalls.
Use the segment import to populate a static segment with members in bulk. This is useful when you need to manually define a group of members — for example, a list of VIP customers, a target audience for a campaign, or members selected for a specific promotion.
File format: CSV
Prerequisites
The segment must be of type Static. You can only import members into segments of type Static. If your segment is condition-based (dynamic), the import will silently fail — no error message is shown, the members simply won't appear in the segment.
To verify: open the segment in the Admin Panel under Members → Segments and check that it is set to Static type before importing.
Uploading a new CSV replaces the current list. Importing a new file into a static segment overwrites all existing members in that segment. If you want to keep existing members, include them again in the new CSV.
Choosing a member identifier
During import, you select which type of identifier your CSV contains. The supported options are:
Email address
Phone number
Loyalty card number
Member UUID (the internal Open Loyalty identifier)
You must use one identifier type per file — do not mix emails and phone numbers in the same CSV. The identifier you choose in the import dropdown must match the data in your file.
The CSV header is always memberId regardless of which identifier type you use. The system determines how to match members based on the identifier type you select during import, not the header name.
Sample files
Format rules
The file must include the header row
memberId— do not rename or remove itEach subsequent row contains one member identifier
Use only one type of identifier throughout the file
Save as
.csvwith UTF-8 encodingThe import can handle up to 500,000 members (processing typically takes around 10 minutes for large files)
Step by step
Common mistakes
Importing into a condition-based segment
Only static segments support CSV import — the import silently fails otherwise
Mixing identifier types in one file
Use one type per file — all emails, all phone numbers, or all UUIDs
Selecting the wrong identifier type during import
The dropdown must match what's in your CSV (e.g., select "Email" if your file contains email addresses)
Missing header row
The memberId header is required, even when using email or phone
Extra columns in the CSV
Only memberId is supported — remove any additional columns
Expecting the import to add to existing members
A new import replaces the entire segment list — include existing members if you want to keep them
To find out more, please refer to the article below:
Creating SegmentsLast updated
Was this helpful?

