A naming convention for client ad accounts should begin with a short client code, because every list that runs out of room cuts a name from the end, and the start is what survives. Agencies already do this for campaign names. Give the browser profile you work that client from the same code, and the window, the ad account and the export all name the same client.

A naming convention for client ad accounts: client code first

Most agency naming guides are about campaigns, ad sets and ads, and they agree on one thing: the client code goes first. A campaign called ACME_CONV_DE_Q4 sorts with the rest of ACME's campaigns, survives being shortened to ACME_CONV… in a narrow column, and is the first filter anyone applies to a combined export.

The ad account itself gets less attention, and it is the name you see most. It is what the account switcher lists, what a report file is labelled with and what a colleague types when they ask which one you mean. The same rule works there. Put the code first, then whatever separates one of the client's ad accounts from another:

  • ACME-DE-EUR and ACME-UK-GBP, when a client runs one account per market
  • ACME-Brand and ACME-Perf, when the split is by budget owner
  • NORD-Main, when there is only one

Keep the code three or four letters and unique as a string. ACME should not hide inside another client's code or inside an ordinary word, because Mosaic's search box, for one, matches in the middle of a word.

Each profile keeps its own passwords and its own 2FA codesIn Mosaic: Logins and 2FA codes. A password vault and TOTP codes for each profile. Free holds 3 profiles. Pro is $49 a month for any number.

How it works: Logins and 2FA codes

Why the browser profile should carry the same code

If you keep each client's work in its own browser profile, that profile has a name too, and it is the one on screen while you work. In Mosaic the profile's name is drawn on its browser window, so with six windows arranged side by side each one says whose it is. That is only useful if it says the same thing the ad account says.

Take an agency that names its ad accounts ACME-DE-EUR and its profiles "Client 3 – Berlin". Both are fine on their own. Together they mean somebody has to remember that Client 3 is ACME, and that memory is the thing a busy Monday drops. Name the profile ACME-FB-Ads instead and you type the same four letters into Mosaic and into the ad account switcher.

Profile names and ad account names need not be identical. A profile is a browser, so it carries the platform and a role (ACME-FB-Ads, ACME-IG-Main), while the ad account carries market or budget. What they share is the first part, and the first part is what you search for. The full order we use for profile names, and why status belongs in a tag rather than in the name, is in naming 300 browser profiles so you can still find one.

Where the name goes after it leaves the app

Names leave both tools, and the places they land are where a mismatch hurts.

A single-profile export from Mosaic is offered as a zip file named after the profile, so ACME-FB-Ads.zip is findable in a folder months later, and Client-3-Berlin.zip is not. The local API returns profile names in its JSON, which is where a script that joins your profiles to an ad-platform export will match them.

In each of those places the client code is the join. When the profile and the ad account start with the same code, a person or a script can line them up without a lookup table. When they don't, someone writes the lookup table, and it goes stale.

Ownership is not part of the name

Leave your agency's name out of the ad account. The arrangement that holds up when a contract ends is that the client's business portfolio owns the client's ad accounts, and your portfolio gets partner access to them. An account named AgencyX – ACME is a label that becomes false the day the client takes it back. Who owns what, and why that is the column to check, is in Business Manager is now a business portfolio.

The same split works inside Mosaic. A project holds one client's profiles and says who they belong to, and tags carry the state that changes week to week, as in projects say who owns it, tags say what state it's in. Mosaic keeps client accounts you are entitled to run apart, each with its own cookies, fingerprint and proxy. It does not change what Meta or any other platform allows, so the access itself comes from the platform's own partner tools, set up as in the first hour in the browser with a new client.