# A browser profile naming convention for 300 profiles

> Name each profile client code, platform, role, in that order, so one search finds a client and one sort groups them. Status goes in a tag, not the name.

Source: https://mosaicbrowser.com/blog/naming-hundreds-of-profiles

## Naming 300 browser profiles so you can still find one

Name each profile client code, platform, role, in that order, so one search finds a client and one sort groups them. Status goes in a tag, not the name.

![Client, platform, role. Then tags., beside a screenshot: filtering Mosaic profiles by tag: only the profiles tagged "shop" are listed](https://mosaicbrowser.com/covers/naming-hundreds-of-profiles.webp)

A browser profile naming convention works when every name is built from the same parts in the same order, and none of the parts ever changes. Ours is client code, platform, role: `ACME-IG-Main`, `ACME-IG-Support`, `NORD-FB-Ads`. Type `ACME-` into the search box and you get one client. Click the Name column and that client's profiles sit in one run. Status, owner and campaign go in tags, because those change.

## Why order matters in a browser profile naming convention

Nobody reads a list of 300 profiles top to bottom. You type into the box, you click a column header, you page through 50 at a time. Both of those act on the name, so the name decides what you find.

Put the client first and a client's twelve profiles come out as twelve consecutive rows. Put the platform first and you get every Instagram profile in a run, with ACME scattered over five pages. Either can work. Mixing them can't: if `ACME-IG-Main` lives next to `IG-ACME-Ads`, the client now has two runs, one near the top and one in the I's, and a new hire will find only the first.

Agencies should lead with the client. Clients sign and leave as a unit, and "show me everything for NORD" is the question you get asked on a Monday. When NORD's contract ends, the profiles to retire are one run of rows. (What to do with them is in [what to do with a client's profile when the work ends](https://mosaicbrowser.com/blog/client-offboarding-browser-profiles).)

Mosaic is a desktop app

Email yourself the link and open it on your computer.

[How it works: The profile manager](https://mosaicbrowser.com/features/profile-manager)

## How search and sort read a name in Mosaic

Know these before you pick a scheme.

The search box says it on the tin: "Search name, note or tag". Capitals don't matter, and it matches in the middle of a word. So `acme` finds `ACME-IG-Main`, and it also finds `Placme-Shop`, which is not your client. Choose codes that don't hide inside each other or inside ordinary words, and type the hyphen: `ACME-` won't catch Placme.

Sorting by name ignores capitals and reads digits as numbers. `Shop 9` lands before `Shop 10`, where a plain text sort would put it after `Shop 1`. You can also sort by date created, last run, platform and proxy. When two profiles share a name they come back in the same order every time, because the tie goes to the profile's id, not to the order the file happened to store them in.

The sort is decided over the whole library before the table cuts it into pages of 25, 50, 100 or 200. That sounds like a detail, and it is one we got wrong first. The Profiles screen had no sort at all, and `GET /profiles` in the REST API had grown its own, defaulting to name while the screen showed most recently used. The same library came back in two different orders depending on where you asked. Worse, sorting only the fifty rows a page already holds would give "the second fifty by recency, arranged by name", which looks exactly like a working sort and is a different set of rows. There is one implementation now, and the window, REST and MCP all go through it.

## What goes in the name and what goes in a tag

The test for the name is: will this ever change? If yes, it is not part of the name.

These belong in the name:

- the client code, three or four letters, unique as a string
- the platform, as a fixed abbreviation you write down once (`IG`, `FB`, `TT`, `LI`, `AMZ`)
- the role or a number, when a client has more than one profile on one platform

These belong in tags:

- status: `warming`, `live`, `paused`
- who on your team looks after it
- a campaign or season
- anything you'll filter on for a week and then forget about

A tag in Mosaic gets a colour, and the colour belongs to the project. Select forty rows, add `paused`, done; select them again in March and take it off. Compare that with renaming. Rename three hundred profiles because the spring campaign ended and you lose an afternoon, and somewhere around row 140 somebody types `ACME_IG_main` and the convention has a hole in it.

Notes are the third place, and they take sentences: what this profile is for, who at the client owns the login, the thing a colleague will need to know next October. Search reads notes as well, so a word in the note can be found without being in the name.

![Filtering the profile list by tag in Mosaic](https://mosaicbrowser.com/shots/tags-filter.png)
*A tag filter over the profile list*

## Projects take the client out of the name, if you want

A project is a folder of profiles with its own colour and icon. Give each client a project and the client code inside it says the same thing twice, so some people drop it.

We'd keep it. Names leave the project: they turn up in an export archive, in the JSON from `GET /profiles`, in a screenshot pasted into Slack. Inside NORD's project, `NORD-FB-Ads` is redundant. Out in Slack, `FB-Ads` could belong to any of your clients. Setting up the project, the profiles and their tags on the first day with a client is in [the first hour in the browser with a new client](https://mosaicbrowser.com/blog/client-onboarding-first-hour).

## The convention, written down once

Write the scheme in one place the whole team reads, with the platform abbreviations listed, and stick to it on profile 301 as you did on profile 1. A convention that lives in one person's head lasts until that person is on holiday. The table, search and sort it is built for are on the [profile manager page](https://mosaicbrowser.com/features/profile-manager). Mosaic is for accounts you are entitled to run, such as client access an agency has been given, and a tidy list does not change what a platform allows.

## Questions

### What is a good naming convention for browser profiles?

A fixed order of parts that never change: a short client code, the platform, then the role or a number, joined by one separator, such as ACME-IG-Main. Anything that changes from week to week goes in a tag.

### Should the profile name include its status?

No. A status like warming or paused changes, and renaming hundreds of profiles every time it does is how names drift out of the convention. A tag can be added or removed in bulk and filtered on.

### Do I need to zero-pad numbers in profile names?

Mosaic's sort doesn't need it: it reads digits as numbers, so Shop 9 comes before Shop 10. If the names also end up in a spreadsheet or in file names, pad them anyway (Shop 09), since those often sort as plain text.

### What does Mosaic's profile search match?

The profile's name, its note and its tags, without caring about capital letters, and anywhere inside the text. That is why a client code has to be unique as a string of letters wherever it appears.

## Related

[The first hour in the browser with a new client](https://mosaicbrowser.com/blog/client-onboarding-first-hour): A social media client onboarding checklist for the browser: ask for partner access, not passwords, then a project, a proxy in their market and their 2FA.

[What to do with a client's browser profile when the contract ends](https://mosaicbrowser.com/blog/client-offboarding-browser-profiles): Agency client offboarding goes wrong when access is revoked before the client can sign in. Confirm the handover, export, then trash the profile by id.







[Posting to the wrong client's account, and how it happens](https://mosaicbrowser.com/blog/wrong-client-account-post): A post lands on the wrong client's account because two clients share one browser and every window looks the same. Delete it, tell both, then label windows.

[Projects say who owns it, tags say what state it's in](https://mosaicbrowser.com/blog/projects-owners-tags-state): How to organize client accounts with tags: the client goes in a project, the state in a tag. Owners rarely change; states change weekly.



## Mosaic, on your own computer

The browser this blog is about: its own Chromium, fingerprints from real machines and a proxy exit per profile. Free holds 3 profiles. Pro is $49 a month for any number.

Mosaic is a desktop app

Email yourself the link and open it on your computer.
