Learning Objective
By the end of this guide, you'll know how to add personalized images to your emails using variables, set up your CSV with image URLs, insert an image variable in your sequence, and preview to confirm the right image shows for each lead.
Why This Matters
Custom images drive engagement. A generic email with stock photos feels impersonal. An email showing the prospect's company logo, a screenshot of their website, or a personalized visual grabs attention and boosts reply rates.
Image variables let you:
Personalize at scale β Send unique images to thousands of leads automatically
Increase relevance β Show prospects you've done your research
Stand out in the inbox β Visual personalization is memorable
Prerequisites
Before using image variables:
You have images hosted online with public URLs ending in
.jpegor.pngYour CSV includes an image URL column β Each lead has their corresponding image URL
You're editing an email step in your campaign sequence
Core Lesson β Step-by-Step Workflow
Step 1: Prepare your images
Choose the images you want each lead to receive.
Examples:
Company logos
Website screenshots
Profile pictures
Custom graphics with personalized text
Step 2: Host your images online
Images must be hosted online and accessible via public URLs.
Image URL requirements:
URLs must end with
.jpegor.pngImages must be publicly accessible (not behind a login)
Recommended size: Keep images under 1200px in height or width for best performance
Where to host images:
Use a free image hosting service like IMGBB to create public links for each image.
Steps:
Upload your image to IMGBB
Copy the direct link (ending in
.pngor.jpeg)Ensure the image is set to public (anyone with the URL can access it)
Step 3: Add image URLs to your CSV
Create a dedicated column in your CSV for image URLs.
Example CSV structure:
Column header = variable name:
If your column is named
customImage, your variable will be#{{customImage}}If your column is named
logoURL, your variable will be#{{logoURL}}
Step 4: Open your campaign
Go to Campaigns, then open the campaign where you want to add a personalized image.
Step 5: Add (or create) a custom image in the email step
In the email step editor, click Add personalization, then open the Medias tab.
Click Create an image.
Choose a template (or start from scratch) and click Create new custom image.
In the editor, click Add element.
Select Image variable.
In Choose your custom variable, click the field and search/select the variable that matches your CSV column header (for example, customImage).
When youβre done, optionally click Save as template, then click Use this image.
Step 6: Preview and verify
Back in the email editor, click Preview.
Confirm the image renders correctly in the email preview.
How It Works
When your campaign sends:
lemlist reads the lead's email address
Looks up the corresponding image URL from your CSV custom variable (for example,
#{{customImage}})Fetches the image from that URL
Inserts the image into the email automatically
Result: Each prospect receives an email with their unique, personalized image.
Example Use Cases
Company logos: Add each prospect's company logo to your email. Shows you've done research and creates instant relevance.
Variable in email:#{{companyLogo}}
Website screenshots: Include a screenshot of the prospect's website with a personalized message overlay.
Variable in email:#{{websiteScreenshot}}
Profile pictures: Send emails with the prospect's LinkedIn profile picture for ultra-personalization.
Variable in email:#{{profilePicture}}
Troubleshooting
Issue: Image doesn't display in sent email
Root cause: Image URL is broken, not public, or doesn't end in .jpeg or .png
Fix:
Verify the URL works by pasting it into a browser
Ensure the URL ends with
.jpegor.png(not just/imageor/photo)Check that the image is set to public on your hosting service
Re-upload to a reliable host like IMGBB if needed
Issue: Wrong image appears for some leads
Root cause: CSV data doesn't match. URLs may be swapped or incorrect
Fix:
Review your CSV to confirm each lead has the correct image URL
Re-import the corrected CSV
Preview the sequence again to verify fixes
Issue: Images are too large and break the email layout
Root cause: Images exceed recommended size (1200px)
Fix:
Resize images to under 1200px in width or height before uploading
Use an image editor or online tool to compress and resize
Re-upload resized images and update CSV URLs
Optimization Tips
Use high-quality hosts: Free services like IMGBB work well, but for high-volume campaigns, consider a dedicated CDN or your own hosting to ensure reliability.
Test image URLs before importing: Paste each URL into a browser to verify it displays correctly before adding to your CSV.
Keep images web-optimized: Compress images to reduce file size without losing quality. Faster load times improve deliverability and user experience.
Use descriptive column names: Name your CSV column clearly (e.g., companyLogo, websiteScreenshot) so the variable name is self-explanatory.
Preview before launching: Always preview your sequence with real lead data to catch image issues before sending to hundreds of prospects.
Combine with other variables: Use image variables alongside text variables (e.g., #{{firstName}}, #{{companyName}}) for maximum personalization impact.
Consider fallback images: If some leads don't have image URLs, use a generic fallback image or skip the image for those leads to avoid broken images.











