How Agencies Manage Personalized Image Templates Across Multiple Clients

Running personalized image campaigns for one brand is straightforward. Running them for fifteen is a different job, and it fails in three specific ways: client work bleeds into other client work, someone edits a template they should not have touched, and your designers rebuild the same layout from scratch for every account.

All three are solvable with the same two concepts - projects and roles. Here is how to structure an agency account so none of them happen.

The three problems, precisely

Client separation. Every client needs their own branded templates, and nobody should ever be one wrong click away from sending Client A's design to Client B's list. Separation has to be structural, not a naming convention you hope everyone follows.

Accidental edits. Clients reasonably want to see and approve work before it goes out. Giving them a login that can also modify a finished template is how a campaign goes out with the wrong logo at 9am on launch day. Review access and edit access must be different things.

Duplicated design work. Fifteen clients wanting a welcome banner does not mean fifteen designs from scratch. If your team is rebuilding the same layout with different colors each time, you are paying for the same work repeatedly and your margin on each account is worse than it needs to be.

Projects: structural separation per client

A project is a container. It groups templates together and controls who can see and edit what is inside it.

For an agency, the useful mapping is one project per client. Everything for that client lives in their project: their welcome banner, their abandoned cart card, their event graphics. Team members are assigned to the projects they work on, which means a designer working on Client A's campaign sees Client A's templates and nothing else.

This matters more than it sounds. The failure mode you are designing against is not malice, it is a tired account manager at 5pm on a Friday picking the wrong item from a list of two hundred. If the list only contains the client they are working on, the mistake becomes impossible rather than unlikely.

Projects also give you reporting per client. Because usage is tracked per project, you can tell a client exactly how many times their images were served - useful for retainer conversations and for spotting which campaigns are actually being opened.

Roles: who can do what

Separation by project answers which templates someone can reach. Roles answer what they can do when they get there.

OKZest ships with four roles, and the mapping to agency reality is direct:

Role Can do Typical agency use
Administrator Everything - team, billing, all projects Agency owner or ops lead
Designer Create and edit templates in assigned projects only. No billing, no team management Your creative team
Finance View usage and manage billing. No access to creative files Your bookkeeper or finance contact
Client Review and approve finished designs. Cannot edit anything External client stakeholders

The default permissions are a starting point rather than a straitjacket - access can be customized per individual where a person does not fit neatly into one role.

Two things are worth calling out.

The Finance role solves a problem agencies feel acutely. Whoever handles your invoicing needs to see usage numbers and manage billing, and has no business inside client creative files. Separating those is good hygiene and, for agencies with any kind of client data commitment, sometimes contractual.

The Designer role is scoped to assigned projects. A freelancer brought in for one client's campaign gets access to that campaign. Not to your other fourteen clients.

Giving clients review access without edit access

This is the specific question most agencies ask, and it deserves its own answer.

The Client role exists precisely for this. A client stakeholder can be invited to a project, see the finished designs, and approve them - without the ability to change anything. No moved logos, no swapped fonts, no accidentally deleted layer discovered the morning of a send.

The workflow in practice:

  1. Your designer builds the template inside that client's project.
  2. Invite the client contact to the project with the Client role.
  3. They review the finished design and confirm it is right.
  4. Your team makes any changes - because edits stay with people who are trained to make them.
  5. The campaign goes out, with the approval on record.

The benefit is not only safety. It is speed. The old alternative - exporting a flat PNG, emailing it, collecting feedback in a reply chain, re-exporting - adds a day to every approval cycle. Letting the client look at the real thing in place removes the round trip while keeping the file safe.

For clients who want to see the personalization actually working rather than a static mockup, remember that a personalized image is just a URL. You can send them a live example with real values filled in and they will see exactly what their subscriber will see.

Avoiding duplicated design work across clients

The third problem is the one that quietly costs the most.

Personalized image templates are highly reusable, because the structure of a welcome banner is the same regardless of whose brand is on it: a background, a logo position, a headline with a dynamic name, a supporting line, maybe a call to action. What changes between clients is colors, fonts, logo, and copy - not layout.

So build a layout once and re-skin it. A duplicated template with the client's brand applied takes minutes; an original design takes hours. Across fifteen clients and four campaign types, that difference is the whole margin on the account.

A practical approach:

Keep a set of base layouts. Welcome banner, abandoned cart card, event graphic, certificate, offer banner. These are yours, not any client's - a starting library your team duplicates from.

Standardize your dynamic layer names. If every welcome banner across every client uses a layer called name and one called company, then the merge tag setup is identical everywhere. Your account managers learn one pattern instead of fifteen. This also makes automation far simpler, because a Zapier workflow or API call built for one client works for the next with only the design ID changed.

Duplicate, then re-skin. Copy the base layout into the client project, apply their brand, adjust copy. The layout logic - text fitting, positioning, fallback behavior - is already solved and tested.

Do not over-standardize the creative. Clients are paying for work that looks like theirs. Reuse the skeleton, not the personality.

Setting up a ten-client agency account

Putting it together, a structure that works:

  • One project per client, named so it is unmistakable
  • A separate internal project holding your base layouts, with only your team assigned
  • Designers assigned per client, not to everything
  • One Finance user with no creative access
  • Client stakeholders invited as Client role to their own project only
  • Consistent layer naming across all base layouts so automation and merge tags stay uniform

The setup cost is an afternoon. It removes an entire class of mistake permanently, and it makes onboarding the eleventh client a duplication job rather than a project.

Frequently asked questions

Can I stop a client from editing a design while still letting them see it? Yes. The Client role grants review and approval rights without edit rights. They can see the finished design and confirm it; they cannot modify it.

How do I keep one client's templates separate from another's? Put each client in their own project and assign team members only to the projects they work on. People see the projects they are assigned to, so the separation is structural rather than a naming convention.

Can a freelancer be given access to just one client's work? Yes. Assign them the Designer role on that single project. They can create and edit within it and have no visibility into other projects, billing, or team settings.

Can my bookkeeper see usage without seeing client files? Yes - that is what the Finance role does. It grants usage and billing visibility with no access to creative files.

Do I have to rebuild the same template for every client? No. Keep a library of base layouts, duplicate one into the client's project, and re-skin it with their brand. Layout logic is solved once and reused, which is where most of the time saving in multi-client work comes from.

How do I report usage to individual clients? Usage is tracked per project, so with one project per client you can report their numbers directly without disentangling them from everyone else's.

Does role-based access cost extra? No. Roles, projects, and permissions are included on every plan, including the free one.

What happens when a client relationship ends? Remove their user access and the project remains intact with your team. Because personalized images render from a URL, be aware that already-sent emails will continue to request those images - worth agreeing with the client what happens to live campaigns at the end of an engagement.

Set your agency account up properly

The structure above takes an afternoon and prevents a category of mistake that is genuinely expensive when it happens - wrong branding on a live send, a client editing a template the night before launch, or your team rebuilding the same banner for the fifteenth time.

OKZest includes projects, roles, and per-user permissions on every plan, with a Client role built specifically for review without edit access.

Create a free account, no credit card required - or book a call and we will walk through structuring your client accounts.


Related reading: teamwork, roles and projects, OKZest for marketing agencies, choosing personalized image software for agencies.