Klaviyo

Klaviyo Master Subscriber List Sample Dataset

Klaviyo's profile export generates UTF-8 CSV files with exact production columns: Email, First Name, Last Name, Person ID, $consent, $bounce_type, Subscribe Date, and SMS Consent. This dataset contains 9,400 synthetic subscriber profiles spanning email, SMS, and multi-channel opt-ins. The Klaviyo-specific quirk is that the $consent column exports as a semicolon-delimited string representation of the consent object (e.g., 'email; sms' or 'email'), not as a simple boolean. Additionally, $bounce_type contains values like 'Hard', 'Soft', or is completely blank for never-bounced profiles. The structural dirty data inventory includes: 1,240 $consent cells with semicolon-delimited multi-channel values that must be split into discrete boolean columns, 680 rows with $bounce_type set to 'Hard' that should be excluded, 890 duplicate Email addresses (same subscriber appearing in multiple lists with different Person ID values), and 420 rows where Subscribe Date is completely blank due to API-synced profiles. Expected Output: Yields 7,970 unique, deliverable subscriber records. Ideal for: ETL testing, DuckDB demos, Power BI, Excel Power Query, CI pipelines. Run this dataset through the klaviyo-prep tool to split the semicolon-delimited $consent field and filter hard-bounced profiles.

This dummy dataset simulates a standard export from Klaviyo, containing realistic yet fully anonymized records that mirror the structure and common data quality issues found in real production environments. The CSV file includes typical problems such as inconsistent formatting, missing values, duplicate entries, and non-standardized categorical fields.

It is designed to be used as a safe sandbox for testing data cleaning workflows directly in your browser — no uploads, no server round-trips, no third-party data exposure. Whether you are validating a transformation pipeline, benchmarking a cleaning tool, or simply exploring common data quality patterns, this sample provides a representative starting point without risking any sensitive business data.

Data Schema

Column NameData TypeDescription
idstringUnique record identifier
created_attimestampRecord creation date and time
statusstringCurrent status of the record

Recommended Tools

Related Workflows

Sanitize Email Lists Before Klaviyo Import

Importing a dirty contact list into Klaviyo is the fastest way to torch your sending domain's reputation. Exported suppression lists from legacy ESPs are riddled with invisible zero-width spaces, malformed addresses like user@@domain.com, and role-based emails (info@, admin@) that trigger spam traps. If your hard bounce rate exceeds 2% on a single campaign, Klaviyo will throttle your account and your transactional emails start landing in Gmail's Promotions tab. This workflow cross-references your prospect list against historical bounce logs, strips non-printable Unicode characters, and validates RFC 5322 email formatting entirely in your browser.

Format Contact CSV for Klaviyo Profile Import

Klaviyo's profile import parser is case-sensitive and reserves all properties prefixed with '$' as built-in profile attributes. Columns named 'Email Address', 'email', or 'E-mail' will not auto-map to the $email reserved property — Klaviyo requires the exact column header '$email' to recognize and populate the primary identifier. Similarly, $first_name and $last_name must use the dollar-sign prefix; without it, Klaviyo creates custom properties instead of populating the profile fields that personalization tags like {% person 'first_name' %} reference, causing emails to render with blank greetings. For SMS marketing imports, Klaviyo enforces strict E.164 international phone number formatting — the number must include a leading '+', country code, and subscriber number with no spaces, dashes, or parentheses. A value like '(415) 555-0123' triggers 'Invalid Phone Format' and the row is rejected. This workflow renames your columns to match Klaviyo's reserved property schema exactly, strips and reformats phone numbers to E.164 (e.g., +14155550123), and validates email syntax before upload — all processed locally in your browser so subscriber PII never leaves your machine.

Sample Datasets