A list can pass every bounce check and still embarrass you on the first send. Shouting caps, "Hi ," with a blank name, and "ACME HOLDINGS, INC." in the middle of a sentence all come from the merge fields, not the addresses. These five fixes run in Google Sheets before you upload to Instantly, Smartlead, lemlist, or any sender that uses variables. Assume first name is in B, company in D, email in C.
1. Fix first-name casing
Exports mix "JOHN", "john" and "John". Normalize to proper case:
=PROPER(TRIM(B2))
Watch for names like "McDonald" or "O'Neil"; PROPER handles the apostrophe but not "Mc", so scan anything starting with "Mc" or "Mac" by hand.
2. Give blank or junk names a safe fallback
A missing name sends "Hi ,". So does a placeholder like "-", "n/a" or "test". This is a Google Sheets formula (REGEXMATCH is Sheets-only):
=IF(OR(LEN(TRIM(SUBSTITUTE(B2,CHAR(160)," ")))<2,REGEXMATCH(LOWER(TRIM(SUBSTITUTE(B2,CHAR(160)," "))),"^(n/?a|none|test|unknown|-+)$")),"there",PROPER(TRIM(SUBSTITUTE(B2,CHAR(160)," "))))
Why the SUBSTITUTE: CRM and LinkedIn exports can contain invisible non-breaking spaces (CHAR(160)) that TRIM does not remove, so a name that looks blank can still print "Hi ,".
Now every row reads "Hi John" or "Hi there", never "Hi ,".
3. Strip legal suffixes from company names
Nobody says "I saw ACME HOLDINGS, INC. is hiring." Drop the suffix and fix the caps:
=PROPER(TRIM(REGEXREPLACE(D2,"(?i)[,.]?\s*\b(inc|llc|ltd|limited|corp|corporation|co|gmbh|plc|pty)\.?$","")))
Then eyeball acronyms like "IBM" or "NASA" that PROPER turns into "Ibm"; keep a short exceptions list and fix those rows by hand.
4. Catch a first name that is actually a full name
Some forms put "John Smith" in the first-name field, so your opener reads "Hi John Smith".
=IF(REGEXMATCH(TRIM(B2),"\s"),REGEXEXTRACT(TRIM(B2),"^\S+"),TRIM(B2))
Run it before step 1 and step 2 so the fallback and casing apply to the cleaned value.
5. Fill a missing company from the email domain
If company is blank but the email is a work address, the domain is a decent stand-in:
=IF(LEN(TRIM(D2))>0,D2,IF(REGEXMATCH(LOWER(C2),"@(gmail|yahoo|hotmail|outlook|icloud|aol)\."),"",PROPER(REGEXEXTRACT(LOWER(C2),"@([^.]+)\."))))
Free-mail addresses stay blank, so you can route them to a sequence that doesn't mention a company at all.
Run all five on a copy, preview three or four rows in your tool's variable preview, then upload only the cleaned sheet.
Rather not fix it by hand? Drop your file into the free CSV preflight checker to see what will break, right in your browser. Or send up to 200 rows to the $25 Quick Clean and get back a cleaned CSV (same-email duplicates merged, possible duplicates flagged) plus a change log within 24 hours, no tool login needed. Prefer to do it yourself? The HubSpot/Salesforce Import Checklist ($9) has every pre-import check on one page. Bigger lists and pricing at pureservices.store.
Top comments (0)