Importing customers via CSV
When to use CSV import
CSV import is the right choice when you don't use Shopify or WooCommerce, or when you want to supplement your existing store data with additional customer information from another source (e.g., a CRM export).
Required fields
Your CSV must include at least one of:
- email — Customer email address (recommended identifier)
- customer_id — Your internal unique customer identifier
Optional fields (improve model accuracy)
| Field name | Format | Impact on models |
|---|---|---|
first_name | Text | Personalisation in reports |
last_name | Text | Personalisation in reports |
total_spent | Number (e.g. 149.99) | CLV, RFM monetary score |
order_count | Integer | RFM frequency score |
last_order_date | YYYY-MM-DD or MM/DD/YYYY | Churn recency, win-back timing |
first_order_date | YYYY-MM-DD | CLV, cohort retention |
phone | E.164 or local format | SMS export matching |
Starting the import
Go to Settings → Data → Import. You can drag and drop your file or click to browse. LiftSignals auto-detects the column separator (comma, tab, semicolon).
Column mapping
After uploading, LiftSignals automatically maps your CSV column headers to LiftSignals fields. You'll see a mapping table showing what was detected and what will be skipped. You can adjust any mapping that looks wrong before proceeding.
Columns LiftSignals can't recognise are shown in amber and default to "Skip". You can manually map them to the correct field using the dropdown.
Validation and preview
Before importing, LiftSignals shows you a preview of the first 5 rows and a validation summary: how many rows will import cleanly, how many will be skipped (missing email), and how many have warnings (unparseable dates).
Download the full validation report as CSV to see exactly which rows have issues before committing to the import.
Duplicate handling
If a customer with the same email address already exists in LiftSignals, the new data is merged — it does not create a duplicate. The newer data takes precedence for fields like total_spent and order_count.