GSIN, UNSPSC and NAICS: Canadian procurement codes explained
Government tenders are classified by code, not keyword. Understanding GSIN, UNSPSC and NAICS is how you make sure the right opportunities actually reach you.
Photo by Reproductive Health Supplies Coalition on UnsplashSearch for "IT services" across government tender portals and you'll miss most of the opportunities that fit you — because public procurement doesn't run on keywords, it runs on classification codes. Every good or service the government buys is tagged with a standardized code, and those codes determine which notices a buyer publishes you under and which ones a matching system surfaces to you. If you don't understand the codes, you're searching blind. This is the plain-language reference.

Why codes exist at all
Governments buy an enormous range of things, from bridge construction to translation services to laptops. To manage that consistently — for reporting, for trade-agreement obligations, and for matching suppliers to opportunities — every item is classified against a controlled taxonomy. A buyer tags a tender with a code; a supplier registers under the codes they serve; matching systems connect the two. Get your codes right and relevant tenders find you. Get them wrong or too narrow, and you simply never see work you could have won.
GSIN — the federal classification you must know
The Goods and Services Identification Number (GSIN) is the Government of Canada's own coding system for classifying what it procures. Every federal tender on CanadaBuys carries one or more GSIN codes, and when you register as a supplier you select the GSINs that describe what you sell.
- Structure: a GSIN is an alphanumeric code. The leading character signals the broad family — for example, codes are grouped into goods, services, and construction — and the following digits narrow it to a specific category.
- Why it matters: GSIN is how the federal system decides whether to notify you about an opportunity. Register under too few codes and you'll miss relevant notices; the most common self-inflicted wound in federal procurement is a thin supplier registration profile.
- Practical tip: register under every GSIN you can genuinely deliver, including adjacent ones as part of your CanadaBuys registration. Review the list annually as your capabilities grow. Breadth here is free visibility.
UNSPSC — the international standard
The United Nations Standard Products and Services Code (UNSPSC) is a global taxonomy used well beyond Canada, including by many provincial and municipal buyers and by private-sector procurement systems. If GSIN is the federal dialect, UNSPSC is the international language.
UNSPSC is strictly hierarchical, with four levels that get more specific as you go:
| Level | Name | Example (illustrative) |
|---|---|---|
| 1 | Segment | Information Technology Broadcasting and Telecommunications |
| 2 | Family | Software |
| 3 | Class | Business function specific software |
| 4 | Commodity | Project management software |
Each level is a two-digit pair, so a full UNSPSC code is eight digits. The power of the hierarchy is that you can position yourself broadly (at the family level, to catch everything) or precisely (at the commodity level, to signal specialization). Provincial portals like Québec's SEAO and many municipal systems lean on UNSPSC, so if you sell outside the federal space, this is the taxonomy to master.
NAICS — industry classification, not procurement
The North American Industry Classification System (NAICS) is often confused with the codes above, but it answers a different question. GSIN and UNSPSC classify what is being bought; NAICS classifies what kind of business you are. It's used for statistics, for some set-aside and small-business programs, and occasionally as an eligibility filter.
You'll typically encounter NAICS when registering your business or when a program restricts eligibility to certain industries. It's worth knowing your primary NAICS code, but it isn't the code that drives day-to-day tender matching — that's GSIN and UNSPSC.

How the codes work together
In practice you'll live in more than one system at once:
- Bidding federally? Your GSIN registration on CanadaBuys drives which notices reach you.
- Bidding provincially or municipally? UNSPSC is more likely to be the classification in play.
- Registering your business or checking program eligibility? That's where NAICS shows up.
A supplier serving all three levels of government should maintain an accurate profile in each taxonomy — our guide to federal vs provincial vs municipal procurement covers how the three levels differ more broadly. The codes are the plumbing behind every "matching" and "alert" feature you'll use — including Tendarix, which maps opportunities across federal GSIN and provincial/municipal UNSPSC into one feed so you don't have to reconcile the taxonomies by hand.
Getting your codes right — a short checklist
- List everything you actually deliver, including services adjacent to your core offering.
- Map each to GSIN and register under all of them on CanadaBuys — err toward breadth.
- Map each to UNSPSC, deciding at which level to sit: family level for reach, commodity level for specialization.
- Know your primary NAICS code for registration and program eligibility.
- Review annually. As your capabilities expand, your codes should too — stale codes mean missed tenders.
The takeaway
Classification codes are invisible until you realize how much they control. They decide which opportunities you ever hear about, and a narrow or inaccurate code profile quietly filters out winnable work before you get the chance to bid. Spend an afternoon getting your GSIN and UNSPSC profiles right, review them once a year, and you'll have removed one of the most common — and most avoidable — reasons good suppliers miss out on public contracts.


