How to properly import an email list from a CSV file in MailPoet

Beware of how dates are formatted in your CSV

Reading time: 3 min.

Dear reader,

MailPoet is the leading newsletter plugin in the WordPress ecosystem. It is a decent tool, but it has some rough edges that are surprising to encounter in such a mature tool. I recently bumped into one. As I was able to find a solution, I would like to share it here.

I tried to import a list of (validated) email adresses from Ghost to MailPoet via a CSV file. I made sure to format the CSV in a way that MailPoet understands. But only ~40% of the email addresses were successfully imported. The rest failed. Silently.

Here is what my CSV file looks like:

email, first_name, last_name, created_at
john.doe@domain.tld, John, Doe, 06/03/2022 21:48
Code language: plaintext (plaintext)

When I tried to import smaller chunks of the CSV file, I managed to get the following, unhelpful, error message:

Aucun abonnement valide n’a été trouvé

I am assuming the English equivalent is something of the like:

No valid subscription has been found

But as some strings are strangely translated elsewhere in MailPoet, it could also be that the French translation is bad.

I did not understand the error message, as literally all emails in my CSV file were validated beforehand. Even more bizarre, when I manually added the email addresses that failed, it… worked.

After some more testing, I managed to identify the problem: MailPoet expects subscription dates (created_at in the CSV file) to be formatted as US dates (mm/dd/yyyy).

I confirmed the problem when I realized the email addresses I successfully imported had incorrect dates in MailPoet. In the CSV, John Doe has joined the email list the 6th of March 2022. MailPoet imported him as if he joined the email list the 3rd of June 2022.

It is honestly baffling that after being out there for such a long time, MailPoet still struggles with date formats. It is even more surprising considering my WordPress is set up in French (from France). MailPoet could use this setting to at least infer the likeliest date format (which, in France, is dd/mm/yyyy, not mm/dd/yyyy). But no, it does not. Even worse, there is no mention of this subtlety in the documentation nor in the import tool, and there is no option in the import tool to tell MailPoet how a date column is formatted.

I was able to successfully import everything after I reformatted the date in Excel. But it should not have taken me three hours to get there.

I hope this issue will be fixed in future versions of MailPoet.


Inline Feedbacks
View all comments