Ask ten people who have registered in SAM.gov what their UEI is and most of them can read it off a screenshot. Ask what it is for and the answers get vague.
That matters, because a SAM entity record is not one number. It is four identifiers. Each one is assigned by a different organization, and each one answers a different question. Confuse them and you get real problems: a bid carrying the wrong code, a size representation you cannot support, a payment that stalls because a legal name does not match.
This is the map. It is the same read we do at the start of a Federal Activation Audit, pointed at your record instead of ours.
Four identifiers, four different questions
| Identifier | The question it answers | Who assigns it |
|---|---|---|
| UEI | Who is this entity? | SAM.gov |
| CAGE | Which location of this entity is this? | DLA |
| NAICS | What industry is this entity in? | You, in SAM |
| PSC | What is being bought? | The contracting officer |
Everything below is a detail on that table.
UEI: who you are
The Unique Entity ID is a 12-character alphanumeric identifier. SAM.gov assigns it when you create your entity record, and it is the identifier every federal system uses to point at your company.
It replaced the DUNS number. The government finished that switch in 2022, so a DUNS number on a form today is either a legacy field nobody has cleaned up or a sign that the form is stale. Neither is worth your time.
The UEI belongs to the entity, not to a location. One company, one UEI, no matter how many offices it has.
Two things follow from that. Your UEI is public, and it is meant to be. And it is the number that ties your registration to your awards, your subawards and your past performance, so when a federal system cannot find you, the UEI is usually the reason.
CAGE: which location you are
The CAGE code is five characters, and the Defense Logistics Agency assigns it. The FAR definition is precise about what it identifies. A CAGE code identifies a commercial or government entity by unique location.
That phrase is the whole difference from the UEI. A company with two facilities can hold two CAGE codes and one UEI.
If your entity is in the United States, and you register in SAM, and you do not already have a CAGE code, DLA assigns one as part of the registration. You do not apply for it separately. It is required before award, and it is the code that appears on a DD Form 254 when a subcontractor needs access to classified information.
So when you cannot tell which of the two numbers a form wants, the CAGE code is the one that travels with a specific address.
NAICS: what industry you are in
The North American Industry Classification System code is six digits. It classifies an industry, not a company. You choose your codes in SAM: one primary, plus as many secondaries as honestly describe what you do.
Here is the part that surprises people. Your primary NAICS code does not decide whether a set-aside solicitation is open to you. The contracting officer assigns one NAICS code to each solicitation by classifying what is being bought, and size is then determined against that code as of the date of your initial offer. FAR 19.102 is the rule, and it is worth reading once.
Two consequences:
- Your primary NAICS is mostly a display and discoverability choice. It shapes how you show up in searches and it matters for some program eligibility tests. It does not decide what you are allowed to bid on.
- The NAICS set on your record is the surface you can be found through. A firm with one code is visible in one industry. That is a business decision, not a compliance one.
Secondary codes cost nothing. There is no penalty for listing every code that describes work you actually do.
PSC: what is being bought
The Product Service Code is four characters, and it classifies the thing being purchased rather than the company selling it.
Product codes are numeric. Service codes start with a letter, which is why you see codes like R408 for program management support or DA01 for IT services.
This is the identifier you control least. PSC is a contracting officer's data element on the opportunity and the award, and SAM does not require it for registration. If you list PSC codes in your entity profile, you are doing it so that buyers searching by code can find you. That is a discoverability move, and it is worth doing once you know which codes your work actually lands under.
Where each one comes from
Read the chain in order and the record makes sense:
- You form the entity with a state. That produces a legal name and a formation date.
- You create an entity record in SAM.gov. SAM validates it and assigns a UEI.
- You get an EIN from the IRS, and SAM matches your legal name and your TIN against IRS records.
- DLA assigns a CAGE code for your location, as part of the registration.
- You choose your NAICS codes and, optionally, your PSC codes.
Notice that only step 5 is yours to decide on the spot. The rest are assigned, validated or matched, which is exactly why a mismatch in step 3 stalls everything downstream of it.
Three mistakes that cost money
Using a DUNS number. It is retired. If a form still asks for one, the form is the problem.
Assuming the CAGE code follows you around. It is tied to a location. Add a facility, move, or change the legal name on the registration, and the CAGE side needs attention.
Treating the primary NAICS as permission. It is not. Read the solicitation's NAICS and its size standard, not your own profile, when you decide whether a set-aside applies to you. Getting this backwards is how firms talk themselves out of work they qualify for.
How this reads on a real record
Here is ours, as the registration stands today:
| Field | Value |
|---|---|
| Legal name, registry form | HARBOR INITIATIVE LLC |
| UEI | K4CVRY71WQZ8 |
| CAGE | 260D0 |
| Primary NAICS | 541512, Computer Systems Design Services |
| Registration status | Active since 2026-10-15 |
| Renewal date | 2027-10-01 |
The record also carries eight secondary NAICS codes and 21 PSC codes. Those are the breadth codes. The primary is the one that describes what we sell.
That last line is worth pausing on. Our primary NAICS is 541512. The HARBOR Port demo prompt asks the question we watch that market with: in NAICS 541512, who won the most federal contract dollars in fiscal year 2026, is that market concentrated or fragmented, and how big is that federal market next to the industry as a whole? Port answers it from live federal data rather than a web search.
That is the real use of knowing your codes. A code is a lens on a market, and you cannot aim at a market you have not named.
Two clocks, and they are not the same clock
The registration itself expires. Ours renews on 2027-10-01, which is 365 days from the date we submitted, not from the date it activated. Read your own expiration date off the record and calendar that date, not the anniversary of the day you went active.
Separately, you must certify your size at least annually. Under 13 CFR 121.110, a firm that fails to certify its size within one year of its last certification is not listed as a small business in SAM until it recertifies. Your representations are incorporated into every offer you make, so a stale representation is not a filing problem. It is a bid problem.
What to do with this
Open your own entity record and read it as four identifiers instead of one. Check three things:
- The legal name matches your IRS records exactly, character for character.
- The CAGE code still points at a location you actually use.
- The NAICS set covers the work you want to be found for.
If the record is thin, that is fixable. If it is wrong, it is fixable now and expensive later.
We start every Federal Activation Audit with this read, because every other federal move sits on top of the registration. If you would rather start by finding out where you stand, run the free Signal diagnostic first.
Once the record is right, the next question is where a product can be sold. Federal software contract vehicles compares the routes, including the ones that changed in 2026.