Personalized Images: How They Work and How to Create at Scale

A personalized image is any visual tailored to a specific person rather than produced once for everybody. That covers two very different worlds, and which one you are in changes everything about the tools you need.

Personalized images as products. A photo book, a canvas print, an AI portrait, a mug with your dog on it. One person, one keepsake, made once. If that is what brought you here, skip to the broader landscape of personalized visuals near the end - it covers the main options and where to get them.

Personalized images at scale. One design that automatically becomes thousands of different images, each carrying a specific recipient's name, company, product, or data. This is what marketers mean by personalized images: an email hero banner that greets every subscriber by name, a listing graphic generated per property, a certificate rendered per attendee.

The second is what most of this guide covers, because it is where the technique earns real money and where the tooling is least understood.

How personalized images at scale actually work

The idea sounds like it should be expensive. Producing 50,000 unique images ought to mean 50,000 pieces of design work. It does not, and the reason is worth understanding before you evaluate any tool.

You build one template containing fixed elements (your background, brand colors, logo, layout) and dynamic layers - placeholders that change per person. A dynamic text layer might be named name or company. A dynamic image layer might hold a product photo or a company logo.

That template produces a single image URL with the dynamic parts exposed as parameters:

https://media.okzest.com/img?c=YOUR-COMPANY-ID&i=YOUR-DESIGN-ID&name=Sarah&company=Acme

Two parameters are fixed: c is your company ID (the same for every design in your account) and i is the ID of the specific design. The rest are your dynamic layers.

Change those layer values in the URL, and the picture changes. Nothing is designed twice.

Merge tags: where the personalization comes from

The step that makes this practical for email is that your email platform already knows each recipient's details, and it will substitute merge tags inside a URL exactly as it does inside body text.

So instead of hard-coding a name, you drop the platform's merge tag into the URL:

<img src="https://media.okzest.com/img?c=YOUR-COMPANY-ID&i=YOUR-DESIGN-ID&name={{ first_name }}" alt="A message for {{ first_name }}" />

At send time, your platform swaps {{ first_name }} for each subscriber's actual name. Sarah receives an image that says Sarah. James receives one that says James. From one image tag in one template.

This works in any platform that lets you use a custom image URL - Mailchimp, Klaviyo, HubSpot, Campaign Monitor, ActiveCampaign, and most others. There is no platform-specific integration to install, because an <img> tag is an <img> tag everywhere.

Rendering at open time, not send time

There is a meaningful architectural detail here that affects both cost and capability.

Some tools pre-generate a finished image file for every recipient before you send. That means one API call and one stored file per person, and a batch job that has to finish before your campaign can go out.

Others render the image when it is requested - the moment the recipient opens the email. Nothing is generated in advance and nothing is stored. One template, one URL, any number of recipients.

Open-time rendering has two consequences worth knowing. Cost stops scaling with list size, because you are not paying per rendered file. And the image can reflect reality at the moment someone looks at it rather than the moment you hit send - current pricing, live inventory, an accurate countdown, an updated leaderboard position. A pre-rendered image is frozen at generation time; an open-time image is not.

If you need the image files themselves - to post to social, attach to something, or host yourself - pre-generation via a REST API is the right approach. For email, open-time rendering is almost always less work.

What data can drive the image

Anything your platform stores about the contact:

  • Identity: first name, last name, company, job title
  • Behavior: last product viewed, items left in cart, pages visited
  • Account data: subscription tier, points balance, renewal date, usage stats
  • Context: city, timezone, language, weather
  • Assets: the contact's company logo, profile photo, or a product image pulled by URL

A good template also needs sensible fallbacks. If a contact has no first name on file, the image should read something friendly rather than showing a blank space. Most email platforms support a default value in the merge tag itself, and you should always set one.

Where personalized images at scale deliver

Email marketing

The highest-return application, because inbox competition is brutal and a genuinely personalized visual is still rare enough to stand out. Subscribers have been reading "Hi [First Name]" for fifteen years; it no longer registers. A designed graphic carrying their name reads as effort.

The flows that benefit most are welcome sequences (a greeting banner sets the tone immediately), abandoned cart emails (show the actual item left behind, not a generic reminder), win-back campaigns, and renewal or milestone notices where the recipient's own data is the message. See our guide to personalized images in email for the full breakdown, or the step-by-step walkthrough for Klaviyo.

Sales and cold outreach

Cold email lives or dies on whether it looks like effort. An image showing the prospect's own company name or logo signals that the message was not blasted to ten thousand people, which lifts reply rates. The mechanics are identical to marketing email; the data usually comes from your CRM instead of your ESP.

E-commerce

Product recommendation blocks, price-drop alerts, back-in-stock notices, and post-purchase emails all improve when the image shows the actual product rather than a generic banner. Because open-time rendering pulls live values, a price shown inside the image can be correct at the moment of opening rather than at the moment of sending.

Certificates, tickets, and badges

Course completions, event tickets, award certificates, and attendee badges are all one-template-many-outputs problems. Wire a form or spreadsheet to the template and each submission produces its own finished document, as an image or a PDF.

Real estate and listings

Property listing graphics carrying address, price, bedroom count, and the property photo, generated per listing from your data rather than rebuilt by hand in a design tool each time.

Recruitment and internal communications

Job posting graphics per role, offer letters, onboarding welcome images, work anniversary and milestone cards. Any place where the same layout repeats with different details.

Social media at scale

Quote cards, new-post announcements, and product graphics generated programmatically from a content feed rather than designed individually. The template guarantees brand consistency; the automation removes the production time. This is the one application where you generally do want pre-generated image files, since you are uploading them to a platform.

Dynamic website imagery

Closely related, and worth understanding as a distinct discipline: adjusting the visuals a visitor sees based on demographics, past behavior, location, or stated preferences.

Amazon pioneered the pattern with product recommendations driven by browsing history. Netflix selects different thumbnail artwork for the same title depending on what a viewer has watched before. Travel sites show mountains to people who have searched for ski trips and cityscapes to people who have not.

The same image-template approach applies - you can serve a personalized image URL on a web page exactly as you would in an email, passing values from your own application. Full behavioral personalization platforms such as Dynamic Yield or Adobe Experience Manager go further, handling segmentation and algorithmic selection, at correspondingly higher complexity and cost.

Worth knowing: website personalization needs a broad image library or a template system to draw on, and it raises genuine privacy considerations. Be transparent about data collection, offer opt-outs, and avoid personalization so aggressive it feels like surveillance. Start with broad segments before attempting individual-level targeting.

Data-driven infographics and reports

Personalized data visualization is a specific, high-impact case. Year-in-review summaries, usage reports, performance dashboards sent as images, and progress-toward-goal graphics all take the same shape: one template, per-recipient numbers.

These work because the reader is looking at their own data, which is inherently more interesting than anybody else's. Keep the design simple - one clear message per graphic - and make sure the numbers are correct at render time, which again favors open-time rendering over pre-generation.

The broader landscape of personalized visuals

Personalized imagery extends well beyond marketing automation. These are the main consumer and creative applications, briefly.

AI-generated portraits

Neural networks trained on large image datasets apply style transfer to turn a photo into stylized art - anime, pop art, fantasy, historical. Tools such as Lensa AI, Prisma, DALL-E, and Midjourney popularized the format.

Fast, cheap, and requires no artistic skill. Quality varies between systems, results can lack the nuance of human work, and there are real questions about facial data privacy and training-set bias. Supply several reference photos for better likeness, and check the terms of service on image rights before using output commercially.

Custom photo books

Professionally bound and printed books turning a photo collection into a physical keepsake. Shutterfly, Artifact Uprising, Mixbook, and Chatbooks (which automates books from an Instagram feed) are the established options.

Businesses use them too - property showcases, event documentation, product catalogs, client gifts. Archival-quality printing means they last; the tradeoff is cost per unit and turnaround time compared to anything digital.

Personalized photo merchandise

Mugs, phone cases, apparel, wall art, and prints carrying a customer's own images. Casetify, Zazzle, and similar print-on-demand services handle production and fulfillment.

For businesses, this is mostly a gifting and loyalty play - a physical object with the customer's photo on it has an emotional weight a digital asset does not. Watch print quality and lead times, and be realistic about margins.

Personalized product visualization

Letting shoppers see a product configured to their choices - custom sneakers, configured cars, eyewear on their own face, furniture in their own room. Reduces purchase uncertainty and demonstrably lifts conversion, but it is the most technically demanding option here, usually requiring 3D assets or AR and significant engineering investment.

Personalized video messages

Video greetings and messages customized per recipient. Genuinely memorable and highly shareable, but production cost per video is far higher than for images, and it scales poorly unless heavily templated. Best reserved for high-value moments - key accounts, major milestones - rather than routine campaigns.

Custom brand photography

Commissioned photography built around a brand's specific visual identity rather than licensed stock. Creates strong, cohesive recognition and avoids the generic feel of stock imagery. Expensive and slow to produce, and needs refreshing periodically, but it provides the raw material that everything else - including your image templates - is built from.

Face-swapping and digital avatars

Apps that map a face onto other images or generate stylized avatars. Fun and shareable, with limited business application beyond novelty campaigns. Ethical caution is warranted: never use somebody's likeness without clear consent, and be aware of the deepfake concerns attached to the underlying technology.

Comparing the approaches

Technique Complexity Resources Scales to thousands? Best for
Dynamic image personalization (email/web) Low Low Yes Marketing at scale, per-recipient visuals
Automated social media content Medium Low-Medium Yes Consistent branded output, time saving
Personalized infographics and reports Medium Medium Yes Making data personally relevant
Dynamic website imagery High High Yes On-site engagement and conversion
Personalized product visualization High High Partly Reducing purchase uncertainty
AI-generated portraits Medium Medium No Personal branding, novelty
Personalized video messages Medium-High Medium No High-value individual moments
Custom brand photography High High No Foundational brand identity
Custom photo books Low-Medium Medium No Physical keepsakes and gifts
Personalized photo merchandise Low-Medium Medium No Loyalty gifts, emotional value
Face-swapping and avatars High Medium-High No Novelty and social sharing

The first five scale; the rest are made one at a time. If your goal is reaching an audience rather than delighting an individual, stay in the top half of that table.

What Tools Can I Use to Personalize Images in Emails?

The right tool depends on your technical comfort level, your ESP stack, and how much design control you need. Most marketers should prioritize no-code editors with ESP-agnostic <img> tag delivery.

Here's a comparison of the main options:

Tool Best For No-Code Editor ESP Compatibility Pricing
OKZest Marketers & agencies at scale ✅ Yes 99% of ESPs (img tag) $12–$480/mo
Mailchimp Dynamic Content Mailchimp-only users ✅ Limited Mailchimp only Included in plan
Campaign Monitor Campaign Monitor users ✅ Limited Campaign Monitor only Included in plan
Dynamic Yield Enterprise personalization ❌ Dev-heavy Varies Enterprise pricing
Adobe Creative Cloud Manual, high-quality design ❌ Manual Any (manual export) $55+/mo

How to Choose the Right Tool

When evaluating tools, ask these four questions:

  1. Does it work with my ESP? If you manage campaigns across Mailchimp, Klaviyo, ActiveCampaign, or any other platform, you need a tool that delivers images via a universal <img> tag - not a proprietary plugin. OKZest, for example, works with 99% of email service providers this way.
  2. Can a non-developer use it? If every template change requires a developer, personalization becomes a bottleneck. Look for a visual, no-code editor.
  3. Does it scale? Generating 50 personalized images manually is feasible. Generating 50,000 is not - you need automation.
  4. Does it support team/client collaboration? Agencies managing multiple client campaigns need role-based access so clients can review without accidentally breaking templates.

How Do I Implement Personalized Images in My Email Campaigns?

Follow these six steps to go from zero to a live personalized image campaign - no design or developer background required.

  1. Collect and clean your recipient data. Before anything else, confirm your email list includes the data fields you want to embed (first name, company name, etc.). Dirty data - misspellings, ALL CAPS entries, missing values - will show up embarrassingly inside your images. Deduplicate and normalize your list first.

  2. Choose a dynamic image generation tool. Select a platform that fits your ESP and skill level (see the comparison table above). For most email marketers, a no-code tool with <img> tag delivery is the fastest path to production.

  3. Design your base image template. Create a branded image (banner, hero, certificate, product card - whatever fits your campaign) with a clearly defined text zone where the recipient's name will appear. In OKZest's visual editor, you drag a text layer onto the canvas, mark it as a dynamic field, and style it to match your brand.

  4. Map dynamic fields to your merge tags. In your tool, connect the dynamic text layer to the merge tag your ESP uses for first name (e.g., {{first_name}} in Klaviyo, *|FNAME|* in Mailchimp). The tool will substitute the real value at render time.

  5. Insert the dynamic image URL into your email template. Copy the parameterized image URL from your tool and paste it into your email's <img src=""> attribute. It will look something like:

    <img src="https://img.okzest.com/template/abc123?name={{first_name}}" />
    

    Your ESP will inject the merge tag value when it sends each individual email.

  6. Test thoroughly before launch. Send test emails to at least 3–5 real addresses with different name formats (short names, long names, names with accents). Check rendering on desktop, mobile, and dark mode. Confirm fallback behavior if a name field is empty.

Frequently Asked Questions

Can I personalize images without advanced design skills?

Yes. Modern no-code tools like OKZest provide drag-and-drop visual editors where you place a text layer, mark it as dynamic, and style it with font and color controls - no Photoshop or coding knowledge needed. Most marketers are up and running with their first personalized template in under 30 minutes.

What if I don't have recipients' names in my list?

You can personalize on other data points you do have - company name, city, job title, a recent purchase, or even a dynamic background image matched to their industry. If you have no personalization data at all, prioritize a list-enrichment step (e.g., a preference center or onboarding survey) before your next campaign.

How can I make sure personalized images display correctly on mobile?

Design your base image template with mobile in mind: use large, legible fonts (minimum 24px for overlaid text), keep the personalized name in the upper-center of the image so it isn't cropped on small screens, and always test on real iOS and Android devices before sending.

Is there a risk of data privacy issues with image personalization?

Yes - and it's worth taking seriously. Any recipient data you pass into a dynamic image URL (name, company, etc.) should be handled in compliance with GDPR, CAN-SPAM, and any other applicable regulations. Use HTTPS for all image URLs, avoid passing sensitive data (email addresses, purchase history) as URL parameters, and confirm your image generation vendor's data processing practices before signing up.

Does image personalization work with all email service providers?

It works with virtually any ESP that supports standard HTML <img> tags - which is nearly all of them, including Mailchimp, Klaviyo, HubSpot, ActiveCampaign, Brevo, and more. The key is choosing a tool that delivers personalized images via a parameterized URL rather than a proprietary plugin. OKZest is specifically designed this way, making it ESP-agnostic by default.

How do I put a customer's name inside an email image? Build a template with a dynamic text layer, then use the resulting image URL with your email platform's merge tag as the value - for example ?name={{ first_name }}. Your platform substitutes each recipient's name at send time and the image renders with it. No design work per recipient and no developer required.

Can I generate a different image for every recipient on a large list? Yes. One template serves any number of recipients. With open-time rendering there is no per-recipient generation step at all, so list size does not change the work involved.

Do personalized images affect email deliverability? No. They are standard image URLs in standard <img> tags, and mailbox providers treat them like any other image. Normal best practice still applies: keep a reasonable text-to-image ratio, authenticate your sending domain, and always set alt text.

Will they display in Outlook and Gmail? Yes, provided the tool outputs a standard image format via a plain image tag - which is the whole point of the URL-based approach. Avoid anything requiring scripts or custom code in the email body, since most clients strip those. Set an explicit width and meaningful alt text so the email still works when images are blocked by default.

Do I need a developer? Not for the common cases. Building the template is a no-code editing task, and adding the image to an email is pasting a URL. A developer is only needed if you want to generate images programmatically from your own application or in bulk from a database.

What happens if a contact is missing data? Use your email platform's default-value syntax in the merge tag so an empty field falls back to friendly wording rather than rendering a blank space. Always test with a contact who has incomplete data before sending.

Can the image show live information? With open-time rendering, yes - the image is generated when it is opened, so it can reflect current pricing, stock levels, countdown timers, or updated figures rather than values frozen at send time.

How is this different from Canva bulk create? Bulk-create tools produce a batch of static files that you then have to store, host, and attach to the right recipients. Dynamic personalization produces one URL that resolves to the right image per person automatically, with no files to manage and no regeneration when the design changes.

Getting started

If you are personalizing images for a marketing audience, the practical starting point is small: build one template with a single dynamic text layer, drop the URL into your next welcome or abandoned-cart email with your platform's merge tag, and compare the click-through rate against your previous generic send. That test takes about ten minutes and tells you whether the technique works for your audience before you invest in anything more elaborate.

OKZest generates personalized images this way - one template, one URL, a different image for every recipient, rendered when they open it. It works with any email platform that accepts a custom image URL, connects through Zapier or the REST API for automation, and requires no design software or developer time to run.

Create a free account, no credit card required.


Further reading: dynamic image personalization for email, personalized images for marketing agencies, how personalized image software can revolutionize your marketing strategy.