How to Build a Personalised First Line for Every Row, Without Blanks
Build the first line in the CSV, row by row, from rules. Write up to five rules ("if recent_post is filled, write Enjoyed your post on {{recent_post}}.", "if title contains founder, write ...") and a plain default, upload the file to the personalization line builder, and download it with a new column. Each row gets the first rule whose condition holds and whose fields are all filled; everyone else gets the default. Then map the column to your sequencer's personalization variable.
Sources, read 2 November 2026: Instantly's personalized lines and variables articles, lemlist's variables article (the default variables include {{icebreaker}}), and Smartlead's variables article.
Why one merge field isn't enough
Lead files are uneven. A recent-post column might be filled for a fifth of the rows, a city for two thirds, a title for nearly all. An opener that leans on the sparse column breaks for most of the list ("Loved your post on ."), and a sequencer's own conditional blocks differ per tool and are hard to review once a campaign is running. A column you build beforehand is just text: you can read every line, sort by rule, and fix the odd ones before anyone receives them.
It also keeps the copy honest. Each line says only what that row's data supports, and rows with nothing specific get a plain default instead of a made-up compliment.
Step by step
- Check how full each column is. The CSV fill rate checker shows which columns are nearly complete and which are too sparse to lean on.
- Write rules from most specific to most general. A rule has a column, a condition (is filled, contains any of a few words, or is exactly one of them) and a line with
{{column}}tags. - Write a default that needs nothing, or only fields with a fallback like
{{company|your team}}. - Upload the CSV to the personalization line builder and press Build lines. The note column says which rule each row used and why earlier rules were skipped.
- Read the lines. Sort by rule and skim each group; this is the review a live conditional block never gets.
- Map the column in the sequencer. Instantly: map it to Personalization and use
{{Personalization}}. lemlist: name it icebreaker to fill{{icebreaker}}, or keep your own name as a custom variable. Smartlead: map it as a custom field. The merge tag converter rewrites the rest of the template for the tool you use. - Verify the addresses on the verify page before the import, so the time spent on lines goes to people who can receive them.
Honest limits
- No research. Lines only use what's already in the CSV.
- Simple conditions. Text matches only: no numeric comparisons and no AND/OR groups. Five rules plus a default per run; build a second column in another pass for a second line.
- Your rules, your tone. A rule that fires on the wrong rows writes the wrong line for all of them, which is why step 5 matters.
More on the copy side: cold email personalization at scale and mail merge blank fields.
Where SimpleVerifier fits
Check the finished file on the verify page; the first 100 checks are free with a Google sign-in. Pro is $39 a month with the first 100,000 checks a month at full speed, then slower, never cut off. See pricing.
Common questions
Is this an AI first-line generator?
No. It writes only the lines you give it, filled from your own columns, so every line is predictable and checkable. The trade-off is that lines are only as good as your rules and the research in the CSV.
How do I use the column in Instantly?
Name the column Personalization, map it to the Personalization option when you upload the CSV, and put {{Personalization}} where the line goes. Instantly's personalized lines article describes this, and the Preview button shows the line per lead.
Can a line use spintax?
Yes. Spintax like {Saw|Noticed} is copied into the line as written for the sequencer to spin. The spintax checker confirms the braces balance.
What happens to rows no rule fits?
They get the default line. If the default uses a field that's blank too, the row is left empty and counted, so you can fix it or remove it before import.
Check your list before you send
Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.