Klaviyo

Klaviyo Master Subscriber List Sample CSV (Dirty + Clean)

A production-realistic Klaviyo profile export (9,400 rows) covering the structural quirks that break ESP migrations and GDPR compliance audits. The Klaviyo quirk: the $consent column exports as a semicolon-delimited string (e.g., 'email; sms'), not a simple boolean. ESP migration tools expecting true/false will reject multi-channel consent. Additionally, $bounce_type requires careful null handling. The 'dirty' version includes: 1,240 $consent cells with semicolon strings, 680 'Hard' bounce rows that must be excluded, duplicate emails with different Person IDs, and inconsistent First Name casing (JoHn) that ruins personalization. Ideal for ESP migration dry runs (to Mailchimp/ActiveCampaign) and deliverability audits. All processing happens locally — your subscriber data never leaves your browser.

This Klaviyo dataset contains realistic, fully anonymized records. We purposely engineered it to include common messy data patterns—such as unmapped columns, dirty formatting, and duplicate IDs—so you can safely test your processing pipelines without exposing real PII.

💡 Pro Tip: Klaviyo exported $consent as 'email; sms' — your new ESP expects a boolean. Run this list through Klaviyo Prep to split consent into discrete columns and normalize dates.

⚡ Next Step: Same subscriber appearing 3 times with different Person IDs? Hit this list with CSV Deduplicator. Fuzzy-match on email, keep the most recent activity, discard the rest.

Data Schema Definition

Column NameData TypeDescription
Klaviyo IDstringUnique internal profile identifier (Person ID)
EmailstringSubscriber email (often duplicated across lists)
First NamestringNeeds Title Case normalization for {{ first_name }} tags
$consentstringSemicolon-delimited string (e.g., 'email; sms') breaking booleans
$bounce_typestring'Hard', 'Soft', or null/blank
Subscribe DatetimestampOften blank if profile synced via API instead of form
Last ClicktimestampUsed for engagement RFM segmentation

Recommended Tools

Related Workflows

How to Merge 50 Shopify Order CSVs Into One File Without Crashing Excel

Shopify caps order exports at ~10,000 rows. Paste a few months of high-volume store data into Excel, cross 150K rows, and watch it freeze ('Not Responding'). This workflow merges dozens of fragmented CSVs, deduplicates by Order ID, and realigns shifted columns (like missing Billing Country in older exports). The output is a clean, flat table ready for Triple Whale ingestion, Pivot Tables, or LTV/ROAS analysis.

How to Clean Apollo Exported Leads Before Importing into Cold Email Software

Apollo exports include 'guessed' emails and hidden spam traps. Importing raw Apollo CSVs into Instantly guarantees an automatic campaign pause. This 4-step workflow filters out non-verified addresses, purges role-based targets (info@, admin@), flags catch-all domains, and formats the header row for zero-mapping imports into Smartlead or Lemlist.

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.

Reconcile Stripe Disputes and Refunds Against Original Charges

Annual Stripe exports for mid-volume merchants routinely exceed 500,000 rows, mixing successful charges, partial refunds, full refunds, dispute creations, dispute wins, and dispute losses in one monolithic CSV. The Type column uses cryptic values like dispute, dispute_reversal, and refund without linking back to the original charge amount in the same row. You must trace each dispute or refund back to its Source ID to find the original charge row and calculate net revenue impact. This workflow filters the export to only dispute and refund event types, joins them back to original charge rows using Source ID as the foreign key, and computes the net realized revenue per order after all adjustments.

Sample Datasets

Shopify Order Export Sample CSV (Dirty + Clean)

A production-realistic Shopify order export (200 rows) covering the exact scenarios that break data pipelines: multi-line items (one order → multiple rows), partial refunds, mixed fulfillment statuses, and discount code stacking. Download both a 'dirty' raw export (containing trailing spaces and HTML entities) and a 'clean' normalized version. Perfect for testing ShipStation ERP imports, QuickBooks reconciliation, or Shopify API mock data. All data processing happens locally in your browser — your order data never leaves your machine.

Apollo.io B2B Leads Export Sample CSV (Dirty + Clean)

A realistic Apollo.io lead list (300 contacts) engineered with the exact data quality issues that destroy cold email deliverability. The 'dirty' version includes: duplicate emails from overlapping searches, role-based addresses (info@, admin@) that trigger spam filters, catch-all domains falsely marked as 'verified', and mixed-case names resulting in 'Hi jOHN' personalization disasters. The 'clean' version shows the output after deduplication and name normalization. Ideal for testing cold email platform imports (Instantly, Smartlead) to protect domain reputation, or CRM deduplication workflows in HubSpot and Salesforce. All processing happens locally — your lead data stays private.

HubSpot Contacts Export Sample CSV (Dirty + Clean)

A realistic HubSpot contact export (8,500 rows) covering the data quality issues that break CRM migrations and warehouse schemas. The HubSpot-specific quirk: multi-select custom properties and system fields (like Lead Status) are exported as semicolon-separated strings (e.g., 'New;Qualified;SQL'). Data engineers unfamiliar with this will split fields incorrectly, destroying the taxonomy. The 'dirty' version includes semicolon strings, emails with trailing whitespace (causing duplicate re-imports), and inconsistent company casing. Ideal for testing CRM migrations (to Salesforce), Reverse-ETL dry runs, and building Dim_Contacts schemas. All cleaning happens locally — your contact database stays private.

Mailchimp Audience Export Sample CSV (Dirty + Clean)

A realistic Mailchimp subscriber export (12,000 rows) covering data inconsistencies that break ESP migrations and cohort analytics. The Mailchimp quirk: OPTIN_TIME is frequently blank for API-imported contacts (bypassing native double opt-in). This causes pandas to_datetime() and SQL date-parsers to throw NaT or NULL errors. The 'dirty' version includes: 4,800 blank OPTIN_TIME values, mixed date formats (MM/DD/YYYY vs YYYY-MM-DD), and emails with trailing spaces that ruin engagement calculations. Ideal for ESP migration dry runs (to Klaviyo/ActiveCampaign) and deliverability audits. All processing happens locally — your subscriber list stays private.