Newsletter subscriber imports fail at commas—here’s the fix

scrabble tiles spelling news update on a wooden table

The newsletter for newsletter operators

Daily field notes on deliverability, AI tools, hosting, and monetisation. No "top 10 plugins" filler — real tools, real numbers, real failures.

Newsletter subscriber imports fail at commas—here's the fix
Photo by Markus Winkler on Unsplash

You export 8,000 subscribers from your old platform. You upload the CSV to your new ESP. The import runs. You check the dashboard: 7,847 contacts created, 153 errors.

You open the error log. Every single failed row has a name field with a comma in it—business titles like “Smith, CPA” or “Jones, LLC” or people who entered their name last-name-first.

CSV stands for comma-separated values. The format uses commas as delimiters. When your data contains commas, parsers get confused unless you handle it correctly. Most ESP import tools don’t tell you this up front, and most export tools don’t encode properly by default.

Why commas break imports

A typical CSV row looks like this:

[email protected],John Smith,2026-09-15

Three fields: email, name, signup date. The parser splits on commas and assigns each chunk to a column.

Now add a comma inside the name field:

[email protected],Smith, John,2026-09-15

The parser sees four fields. It tries to map “Smith” to the name column and “John” to the date column. Type mismatch. Row rejected.

The CSV spec solves this with double-quotes. Wrap any field containing a comma (or a line break, or another double-quote) in quotes:

[email protected],"Smith, John",2026-09-15

Now the parser treats everything between the quotes as a single field. Most ESPs support this—but only if the quotes are there.

How to fix your export before import

If you’re exporting from a platform that gives you a raw CSV download, open the file in a spreadsheet app (Excel, Google Sheets, LibreOffice Calc) before uploading it to your new ESP.

Look at the name column. If any cells contain commas, the export should have wrapped them in quotes automatically. If it didn’t, you need to re-save the file with proper encoding.

In Excel or Google Sheets: File → Download → CSV or Save As → CSV (UTF-8). Both will auto-quote fields with commas. Do not hand-edit the raw CSV in a text editor unless you know exactly what you’re doing—it’s easy to miss a trailing quote or escape character.

In Google Sheets specifically, use File → Download → Comma Separated Values (.csv). The “Tab Separated Values” option won’t help you here, and the “Microsoft Excel” export creates an .xlsx file, not a CSV.

When your ESP’s importer still chokes

Some older or budget-tier ESPs don’t fully implement CSV quoting rules. If you’ve properly quoted your fields and rows still fail, try these fallbacks:

  • Strip commas from the name field entirely. Replace “Smith, CPA” with “Smith CPA” or “Smith (CPA)”. You lose formatting, but you gain a clean import.
  • Use a pipe or semicolon delimiter instead. A few platforms (MailerLite and Brevo both support this) let you upload with a different separator. Export your spreadsheet as tab-separated or pipe-separated, then select the matching delimiter in the import wizard.
  • Split the import into batches. Filter out rows with commas in names, import the clean batch first, then manually add the problematic subscribers via the ESP’s web form or API. Tedious, but it works when automation fails.

One non-obvious fix: use the API instead

If you’re moving more than 10,000 subscribers or you’re doing this migration as a service for clients, skip the CSV upload UI entirely. Most ESPs offer a bulk-import API endpoint that accepts JSON. JSON doesn’t have delimiter ambiguity—commas inside strings are fine, and the structure is unambiguous.

You’ll need a script (Python + the requests library works well), but you can process your CSV locally, validate each row, and POST clean JSON payloads in batches of 500–1,000 at a time. Beehiiv, Brevo, and MailerLite all document their import APIs with sample code.

The API route also gives you real-time error handling. If a row fails, you get an immediate error response with the reason. No waiting 20 minutes for a bulk upload to finish, then digging through a generic error file.

For a one-time migration, the CSV upload UI is faster. For repeat migrations, agency work, or large lists, invest two hours in learning the API. It pays off quickly.

Got a migration coming up? Reply and tell us which platforms you’re moving between—we’ll cover the specific export quirks in a future issue. And if you found this useful, forward it to anyone still wrestling with CSV uploads.

Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

The newsletter for newsletter operators

Daily field notes on deliverability, AI tools, hosting, and monetisation. No "top 10 plugins" filler — real tools, real numbers, real failures.

Other newsletters you might like

Local Edinburgh

Local Edinburgh is a website that is dedicated to the promotion of Edinburgh as a travel destination. Edinburgh is Scotland’s capital city renowned for its heritage culture and festivals.

Subscribe

Ireland Moments

A daily newsletter and blog celebrating Ireland — its places, culture, music, history and the stories worth sharing from the Emerald Isle.

Subscribe

Love London

A newsletter for Londoners who want to rediscover their own city. Travellers planning their first or fifth visit. Anglophiles who fell in love with London through literature, film, or a rainy afternoon on the South Bank.

Subscribe

Scottish Rugby Fans

The best Scottish rugby updates, straight to your inbox — Six Nations, the Nations Championship, Glasgow and Edinburgh. Only when there's something worth reading.

Subscribe

Newsletters via the One Two Three Send network.  ·  Want your newsletter featured here? Click here