Research from MailerLite help and API documentation, RFC 5321, Google Gmail help and ICO guidance fetched 2026-10-30. The worked example uses illustrative numbers, not a real list. Our editorial method

The four decisions before you touch the files

Merging lists goes wrong in predictable ways: the same person appears twice, a reader who unsubscribed from one list gets mail again because they are active on the other, or a better value in one file is overwritten by a blank in the other. Decide four things up front: how you match addresses, which statuses you keep, whose field values win, and which list is the record of consent for each person.

Write the decisions down in the merge file's notes. If anyone later asks why a reader was suppressed or kept, that note is your answer.

Step 1: normalize addresses, carefully

Trim spaces and lowercase the whole address in a new match column, and keep the original column. RFC 5321 says the local part of a mailbox must be treated as case sensitive by mail software, but also that exploiting case sensitivity impedes interoperability and is discouraged; domains follow DNS rules and are not case sensitive. [4] In practice, matching case-insensitively is the safer choice for list merges.

Do not go further than that. Google says dots in a personal Gmail address do not matter, but for Gmail used through a work or school organization, dots do change the address. [5] Stripping dots or plus tags could join two different people into one record. Then remove duplicates within each file before comparing the two. MailerLite will also drop duplicate addresses within an import file, but doing it yourself lets you choose which row survives. [1]

  • Match column: trimmed, lowercased address.
  • Keep: original address, source list, status, status date.
  • Remove: blank rows, rows without an @ and a domain.
  • Do not: strip dots, remove +tags or rewrite domains.

Step 2: decide whose field values win

When the same person is in both lists, the fields will disagree. Pick a rule per field instead of letting the import decide. MailerLite's import has a setting for whether to update subscriber fields with empty data, which is the main way a blank in one file can wipe a good value. [1] Its API upsert is non-destructive: fields you leave out are not removed. [3]

FieldSuggested ruleWhy
StatusMost restrictive wins: unsubscribed, bounced or complained beats activeProtects people who opted out
NameNon-blank wins; if both set, most recently updatedAvoids blanks overwriting
Signup dateEarliest dateReflects first consent
Consent sourceKeep both, in separate fieldsEach list is its own evidence
Custom fields (plan, interest)Choose a primary list per fieldStops values flipping each import
Groups or tagsUnion of bothMembership is additive

Step 3: carry suppression from both lists

Build one suppression file from every unsubscribed, bounced and complained address in either list, matched on the normalized column. An address on it stays suppressed even if it is active in the other list. The ICO says you may need to keep a record of withdrawals, such as a suppression list for direct marketing, and that you do not need consent for it as long as you tell people you keep it, why, and on what lawful basis. [7]

Then check how the destination treats it. MailerLite says imports fail for addresses already unsubscribed, bounced, unconfirmed or marked as spam complaints in the account. [1] That is a safety net only if those addresses are already there. On a new or partial account, import the suppression file into a dedicated group with automation triggering off, open the group, select the subscribers and use Actions, then Move to unsubscribed, which is the route MailerLite documents for importing unsubscribed contacts. [2] Do this before importing active subscribers. MailerLite also says contacts who were active at any point in the billing period count toward the plan limit until it resets, so the brief active state may count once. [2]

Worked example: two CSVs and a reconciliation table

Illustrative numbers. List A is an old shop list with 1,000 rows; List B is a webinar list with 600 rows. After normalizing, A loses 4 invalid rows and 6 duplicates, leaving 990 unique addresses; B loses 2 invalid rows and 3 duplicates, leaving 595. 145 addresses appear in both, so the merged set is 990 + 595 - 145 = 1,440 unique people.

Suppression: A has 70 unsubscribed addresses and B has 25, with 10 in both, so 85 unique unsubscribes. A further 15 addresses bounced or complained. That is 100 suppressed, imported first and moved to Unsubscribed. The remaining 1,340 are imported as active. Every row of the table must add up; if MailerLite's import report shows failures or duplicates you did not expect, find those addresses before sending. [1]

StageList AList BMergedCheck
Raw rows1,0006001,600Row count of each file
Invalid removed426Logged in a rejects tab
Duplicates within file639Kept the most complete row
Unique after cleaning9905951,5851,600 - 6 - 9
In both lists145145-145Counted once
Unique people1,440990 + 595 - 145
Unsubscribed (either list)70258510 overlap removed
Bounced or complained15Added to suppression
Imported to suppression100Moved to Unsubscribed [2]
Imported as active1,3401,440 - 100

After the import: verify before you send

MailerLite cannot bulk re-activate unsubscribed contacts, so a mistake in the suppression direction is slow to undo; it is one profile at a time with documented permission, and contacts not emailed in two years may not be restorable. [2] Its API has a resubscribe option that, when set to true, resubscribes previously unsubscribed subscribers, so keep it off in any sync script. [3]

  • Compare the active count in MailerLite with your Imported as active figure.
  • Compare the Unsubscribed count with your suppression total.
  • Search five addresses that were active in one list and unsubscribed in the other; all should be unsubscribed.
  • Export the merged list once and keep it with your merge notes. [6]
  • Retire both source files so nobody re-imports an old copy.

Questions before you decide

Should I lowercase email addresses before merging?

For matching, lowercasing is the usual practical choice. RFC 5321 says mail software must treat the local part as case sensitive, but that exploiting this impedes interoperability and is discouraged, and domains are not case sensitive. Keep the original address in a separate column.

Should I remove dots from Gmail addresses to find duplicates?

No. Google says dots do not matter for personal Gmail addresses, but for work or school accounts using Gmail, dots do change the address. Stripping dots could merge two different people.

What does MailerLite do if I import an address that is already unsubscribed?

Its import article says the import fails for addresses already unsubscribed, bounced, unconfirmed or marked as spam complaints in your account, and duplicates within the file are removed automatically.

Can I bulk re-subscribe people after a merge in MailerLite?

No. MailerLite says you cannot activate unsubscribed recipients in bulk; it is one at a time from the profile and only with documented permission, and unsubscribed contacts not emailed in two years may not be restorable.

Sources & verification

Product details and prices can change. Check the linked provider before buying.

  1. MailerLite: How to import subscribers Accessed 30 Oct 2026
  2. MailerLite: Everything about unsubscribed recipients Accessed 30 Oct 2026
  3. MailerLite API: Subscribers Accessed 30 Oct 2026
  4. RFC 5321: Simple Mail Transfer Protocol Accessed 30 Oct 2026
  5. Google Gmail Help: Dots in Gmail addresses Accessed 30 Oct 2026
  6. MailerLite: How to export subscribers Accessed 30 Oct 2026
  7. ICO: How should we obtain, record and manage consent? Accessed 30 Oct 2026
  8. ICO: How should we obtain, record and manage consent? Accessed 30 Oct 2026

Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.

Your decision at a glance

The option in this guide

Full comparison

Documentation-based guidance. No tested ranking or performance score.

Email

MailerLite

Consider it for
Use groups for assigned membership and segments for rules when planning MailerLite recipients. The reviewed Free plan listed 250 subscribers, 2,500 emails per month and three automations; sending locks above the subscriber limit.
Starting cost
Free: up to 250 subscribers, 2,500 emails/month, 3 automations. Comfort $10.80/mo yearly-billed at 500 subscribers (listed $12/mo); Power $22.50/mo yearly-billed at 500 (listed $25/mo). Recaptured 2026-09-16.
Before you choose
USD; taxes may apply. Free sending locks above 250 subscribers. The September 16, 2026 trial displayed higher usage limits than the published Free plan; confirm the limits that apply after your trial ends.

Checked 16 Sep 2026 · Pricing source

View MailerLite plans

Affiliate link: we may earn a commission on an eligible purchase. Link disclosure