You have a dozen client accounts. Each wants personalized images in their own branding. Nobody wants to design the same layout twelve times, and nobody wants a client accidentally editing a master template three days before a send.
This is a solved workflow. Here is how it fits together.
The principle: separate what's fixed from what varies
Most of the duplicated work comes from treating a design as one indivisible object. Pull it into three parts and the repetition disappears.
The layout is fixed. Where the personalized element sits, how the composition balances, what happens when a value runs long. This is the part with real craft in it, and it is not client-specific - a "name over a hero image" layout works for a law firm and a gym equally well.
The branding varies by client. Colors, fonts, logo, imagery.
The data varies by recipient. Name, company, city, whatever their list holds.
Once these are separate, a new client campaign is: take a proven layout, apply their brand, point it at their data. That is twenty minutes, not a design project.
The workflow, step by step
1. Build the master layout once.
Design it properly, because everything downstream inherits it. Two things to get right at this stage, because fixing them later means fixing them everywhere:
- Build around the longest plausible value, not a short sample. Long names are what break layouts.
- Decide what happens when a field is empty, and make the fallback look deliberate rather than broken.
2. Create a project per client.
Projects group canvases and control who can see and edit them. One project per client account is the structure that prevents the failure everyone fears - a design built for one client being reused for another under deadline pressure.
Give it the client's name and a description. This is also what makes work findable in eight months when someone asks for "the one we did in spring."
3. Duplicate the layout into the client's project and apply their branding.
Colors, fonts, logo. The layout is inherited, so you are styling rather than designing. If the client's brand changes later, you change it in their project and nothing else is affected.
4. Assign the right people to the right scope.
OKZest has four roles, and this is where the multi-client structure actually earns its keep:
| Role | What they can do |
|---|---|
| Administrator | Full access - team members, billing, account settings, every project |
| Designer | Create and edit canvases in the projects they're assigned to. No billing, no team management |
| Finance | Usage and billing, without access to creative files |
| Client | Review and approve finished designs, without being able to edit anything |
Designers see only their own projects. Finance never touches creative work. And the client gets a login that lets them look and approve but not change - which is the specific thing agencies want and rarely get.
Default permissions are a starting point and can be customized per user.
5. Point it at the client's data and send.
The image becomes a URL with their data as parameters, which your client's email platform substitutes as it sends:
https://media.okzest.com/img?c=YOUR-COMPANY-ID&i=CLIENT-DESIGN-ID&name={{first_name}}
That works in whatever platform the client happens to use, which matters when one is on Klaviyo, one is on Mailchimp, and one is on something inherited from a previous agency.
The client review step, specifically
This is the part that gets skipped in most tooling and then causes the most trouble.
Clients want to see the work. Very few of them should be able to change it. The distinction matters more than it sounds, because a well-meaning tweak to a shared master at 6pm on a Thursday propagates to everything built on it.
The Client role handles this directly: review and approve finished designs, with no ability to edit. Scoped to their own project, so they see their campaign and nothing else in your account.
Two practical points that make the review actually useful:
Show them real records, not "John Smith." Three or four genuine rows including the awkward ones. The client knows their data - if something is wrong, they will spot it immediately, and that is the entire point of the review.
Get approval on the template, not on every image. At volume, approving individual outputs is impossible, and asking for it creates a bottleneck that will be blamed on you.
"Can we white-label it?" - the honest answer
This question means two different things, and the answer differs.
Branding the output images per client: yes. Every image carries that client's colors, fonts and logo. Nothing in the finished creative identifies the tool that made it, and that is the part your client's audience sees.
Rebranding the platform interface so clients log into something carrying your agency's name: no. OKZest does not offer a white-labeled interface or custom domains. If a fully rebranded client-facing portal is a firm requirement, tools built specifically around that will serve you better and it is worth being clear about it up front.
In practice most agencies need the first and assume they need the second. The Client role covers the common case - the client logs in, sees only their own project, reviews, approves, and never encounters anyone else's work.
What to standardize, and what to let vary
Standardize: the layouts you reuse, naming conventions, fallback behavior, the pre-send data check, and the approval step. These have no upside from variation.
Let vary: anything genuinely brand-specific, and anything driven by the client's own systems. Forcing twelve clients onto one visual approach produces work that looks like your agency rather than their brand, which is not what they are buying.
A useful signal: if you are building a bespoke process for one client, that is worth a fee conversation. Bespoke process is real cost and it tends to get absorbed silently.
Frequently asked questions
How do I manage image templates across 10+ client campaigns without duplicating design work? Build the layout once, then create a project per client and apply that client's branding to a copy of it. The layout is designed a single time; each client campaign is a styling job plus a data source. Projects keep each client's work separate and control who can see it.
How do I reuse one template across clients with different branding? Separate the layout from the branding. The layout - composition, placement, how long values behave - stays constant. Colors, fonts and logo are applied per client inside that client's project, so brand changes affect only that account.
Can clients review designs without being able to edit them? Yes. OKZest's Client role allows reviewing and approving finished designs with no editing ability, scoped to the projects that client is assigned to. They see their own work and nothing else in the account.
What roles does OKZest support? Four by default: Administrator (full access including billing and team management), Designer (create and edit canvases in assigned projects), Finance (usage and billing without access to creative files), and Client (review and approve without editing). Permissions can be customized per user.
Does OKZest support white-labeling? The output images carry your client's branding entirely - nothing in the finished creative identifies the tool. The platform interface itself is not white-labeled, so there is no rebranded portal or custom domain for clients to log into.
How do I stop one client's branding appearing in another's campaign? Keep each client in their own project. Projects control which team members can see and edit which canvases, so reaching into another client's material is a deliberate act rather than an autocomplete error.
Does this work if clients use different email platforms? Yes. The image is a URL, so it works in anything that sends HTML email. Only the merge tag syntax differs between Klaviyo, Mailchimp, HubSpot and ActiveCampaign.
Who should have access to billing? The Finance role exists for this - usage and billing visibility without access to creative files, so finance and design stay separate.
Setting it up
The first client takes the longest, because that is when you build the layout. Every client after that inherits it.
OKZest includes roles, projects and permissions on every plan - so the structure described here is available from the start rather than being an upgrade you discover you need at client number four.
Create a free account, no credit card required, or see how teamwork works in more detail.
Related reading: how agencies handle image personalization across clients, personalized image software for agencies.