You have a list of names, photos and dates and want to turn it into one graphic per person. This guide shows three ways to get there, with one example that runs from the spreadsheet to the person who shares their image. Each level saves a step of the one before. Read it once before you start. Every single click is in the linked how-to articles.
Six of the 17 banners in this guide, each made from one row of the speaker list.
The example: speaker banners for YLW Summit
YLW Summit is an invented conference with a trade fair, held from 2 to 4 April 2026 in Cologne. The event team wants to give all 17 speakers a banner to share on LinkedIn before the event: with photo, name, role and talk. It works the same way for exhibitors, partners or attendees.
Two things already exist. The first is the speaker list. The team keeps it in a spreadsheet and saves it as a CSV file, with one row per speaker:
| name | role | session_title | session_day | session_time |
|---|---|---|---|---|
| Maren Holtkamp | Head of Product / Nordlicht Robotics | Teaching Warehouse Robots to Say No: … | 02 April | 10:30 |
| Tobias Reinke | CEO / Nordlicht Robotics | From Pilot to Fleet: … | 03 April | 14:00 |
| Priya Raghunathan | Data Scientist / Helio Analytics | Selling to Engineers … | 03 April | 11:00 |
There are also the columns picture, session_hall and session_stage. picture holds the address of a photo that is already online, for example on the event's website: https://ylw-summit.example/speakers/maren-holtkamp.jpg. The photo itself is not in the spreadsheet. An image you paste into a cell in Excel is lost when you save the file as CSV. If the photos are only on your computer, you upload them row by row in the Batch Editor in Level 1.
The second is the template "Speaker session", with one input field for each column. Every column heading is exactly the Variable name of an input field. That is how Bluepic knows, in all three levels, which value goes into which input field. Where to find the variable names is in Input field settings.
The three levels at a glance
From level to level, steps you do by hand drop out:
Level 1: Images from the Batch Editor
In the Batch Editor you turn every row of the speaker list into an image. At the end you have 17 finished files. The Batch Editor is part of all paid plans.
- You open the template in the Batch Editor and import the speaker list with Import Data. Auto Map Fields matches every column to the input field with the same variable name. If the names match, everything fits straight away.
- You look at a few rows in the preview, especially the image crops and the longest talk titles. If a face doesn't sit well in the frame, you adjust the crop in that row with Edit Image. You fix a typo right in the table.
- You download all images at once with Download and PNG. In the File Name Convention popup you choose
{{name}}, so every file is named after its speaker. Each image costs 0.1 credit. - You unzip the ZIP file. It holds one image per speaker, from
Amara Nwosu.pngtoYuki Tanaka.png.
Now you have the images, but the speakers don't yet. You write each of them an email and attach their image. The images are final; speakers can't change anything in them. If someone sends a new photo or a changed title, you create their image again and send it again.
Every click is in Generate designs with the Batch Editor.
Level 2: Send personal links
Instead of images, you send links. Every speaker opens their link and finds their banner already filled in, in the design generator. That is the page where users fill in a template and export it. There they swap the photo if needed, fix a typo and download the banner themselves or share it on LinkedIn. You no longer create or send any images.
For this you need a campaign with the template. In the example it is called "YLW Summit 2026 – Speakers". How to set one up is in Create a campaign.
- You open the Share step of the campaign and click Generate URLs. A popup opens. Download CSV template downloads a CSV template. It shows which columns the campaign expects:
emailand one column per variable. - You add an
emailcolumn with the email addresses at the front of the speaker list from Level 1. The other columns already have the right names. - You import the file with Import data. Every row is now a speaker with their own link.
- Under Campaign Links you click Export CSV. You get a file with the columns
emailandcampaign_link. - You import this file into your mailing tool and create a new contact field for
campaign_link, for example "Banner link". The email address matches every link to the right speaker. - In your mailing you set this contact field as the target of the button. That way every speaker gets their own link.
Maren clicks the button. The design generator opens with her banner. She doesn't need to change anything and clicks Export. Only this export costs a credit. Speakers who never open their link cost nothing.
Every click is in Generate personal links: pre-fill a campaign for each recipient.
Level 3: Links straight from your mailing tool
If you already keep the speakers in your mailing tool, you don't need a CSV file any more. You write a single link into your mailing. Instead of fixed values it holds the placeholders of your mailing tool, and when sending, the tool fills in each contact's own data.
This works because every campaign link accepts data in its address. After a ?, there is one parameter data.<variable name>=<value> for each input field. You join several parameters with &:
https://template.bluepic.io/ylw-summit-2026-speakers?data.name=Maren%20Holtkamp&data.session_time=10%3A30
Some characters can't simply stand in a link, for example spaces and &. Inside a value they are written as codes instead: %20 for a space, %26 for &. This is called URL encoding. You don't need to know the codes. For a single link, a free URL encoder on the web encodes the value for you: search for "URL encoder", paste the value and copy the result. In a mailing, your mailing tool's placeholder takes care of it (step 3).
- Copy the link in the Share step of your campaign with Copy URL.
- Look up the variable names. The quickest way is the CSV template from Level 2: every column except
emailis a variable name. Upper and lower case matter: Bluepic skips a misspelled name without a message, and the input field then shows its default value. - Add one parameter per input field to the link. As the value, put in the placeholder of the matching contact field, shown here as
[Name],[Role]and so on:https://template.bluepic.io/ylw-summit-2026-speakers?data.name=[Name]&data.role=[Role]&data.session_title=[Talk]&data.session_day=[Day]&data.session_time=[Time]&data.session_hall=[Hall]&data.session_stage=[Stage]
Use the form of the placeholder with URL encoding. Then your mailing tool puts in the codes from above itself when sending. In common mailing tools it looks like this for the first name:
Placeholders for the first name, according to the vendors' help pages. As of October 2026.Mailing tool Placeholder With URL encoding Mailchimp *|FNAME|**|URL:FNAME|*Brevo {{ contact.FIRSTNAME }}{{ contact.FIRSTNAME|urlencode }}HubSpot {{ contact.firstname }}{{ contact.firstname|urlencode }}CleverReach {FIRSTNAME}no form documented
Your own contact fields, like the role, are named the way you set them up in your mailing tool. If a contact field is empty, the input field stays empty too. Unlike in Level 2, it doesn't show the default value. - Send yourself a test email for a contact whose data contains an
&or/, and open the link. Check that every input field shows the whole value.
The link only brings a photo along if your mailing tool knows an image address for each contact (data.picture=<address>, encoded like every value). Usually it doesn't. Then you leave out picture, and the speakers upload their photo themselves in the design generator.
Which level fits you?
- You need the files yourself, for your website, screens on site or the event's channels: Level 1.
- The speakers should fetch and share their banner themselves, and your data is in a spreadsheet: Level 2.
- The data is already in your mailing tool, and you don't want to import or export anything: Level 3.
The levels don't exclude each other. With the same speaker list and the same template you create images for your own channels and send the speakers their links at the same time.