Every GCP project has three distinct identifiers: a name, an ID, and a number. They look different, behave differently, and are used in different contexts. The Associate Cloud Engineer exam tests whether you can tell them apart and know which one applies when. Getting this wrong on the exam is a common mistake, and getting it wrong in practice leads to errors in gcloud commands and API calls.
The project name is a human-readable label that you assign when creating the project. It appears in the Cloud Console and in project listing outputs to help you recognize which project you are looking at.
An example project name: Analytics Production
The project name is editable. You can change it at any time without affecting any resources, API calls, or access policies. It does not have to be unique across GCP. Two different organizations can both have a project named Production. Even within the same organization, two projects could theoretically have the same name, though that would be confusing in practice.
Because it is not unique and can change, the project name is not something you use in programmatic contexts. You would not put the project name in a gcloud command or an API request body. It is purely for human identification in the console.
The project ID is a globally unique alphanumeric string that identifies the project across all of GCP. No two projects in the entire GCP ecosystem can have the same project ID.
An example project ID: analytics-prod-4912
The project ID is immutable. Once set at project creation, it cannot be changed. If you want a project with a different ID, you need to create a new project. This immutability is intentional because the project ID appears in many places: bucket names often incorporate the project ID, API endpoints may reference it, and it appears in audit logs and billing records. Allowing changes would break all of those references.
The project ID is what you use in gcloud commands. When you run gcloud config set project, you provide the project ID, not the name or number. When you run gcloud projects describe, you pass the project ID. When you construct API calls that require a project parameter, you use the project ID.
Google suggests a project ID when you create a project, usually derived from the name you enter, but you can customize it at creation time. After the project is created, the ID is locked in.
The project number is a globally unique numerical identifier assigned by Google at project creation. You do not choose it and cannot change it.
An example project number: 847193562410
The project number is used internally by GCP and appears in certain API responses and service account names. The default Compute Engine service account, for example, takes the form [PROJECT_NUMBER]-compute@developer.gserviceaccount.com. The Cloud Build service account uses the project number similarly.
For most day-to-day work, you will not use the project number directly. gcloud commands accept the project ID, and the Cloud Console displays the project name. The project number surfaces when you are reading API responses, troubleshooting service account configurations, or working with certain legacy APIs that require it rather than the project ID.
The Associate Cloud Engineer exam tests this distinction because confusing the three identifiers leads to real errors. A question might describe a developer trying to use gcloud config set project "Analytics Production" (the name, which will not work) and ask what is wrong. The answer is that gcloud requires the project ID, not the name.
Another question pattern: a developer needs to find the service account for the default Compute Engine service account in a project. The service account name includes the project number. To find the project number, they need to run gcloud projects describe [PROJECT_ID] and look at the projectNumber field in the output.
A third pattern: an organization has two projects with similar names. An administrator wants to grant access to the correct one. The safe approach is to use the project ID, not the name, because names are not unique and could match multiple projects.
In the Cloud Console, all three identifiers appear on the project dashboard. The project name is in the header. The project ID and project number appear in the project info card on the dashboard, or in the project settings.
From the command line, gcloud projects list shows the project name and project ID for all projects. gcloud projects describe [PROJECT_ID] shows the full project metadata including the project number.
Name: human-readable, editable, not unique, for display only. ID: alphanumeric, immutable, globally unique, used in gcloud and most API calls. Number: numerical, immutable, globally unique, assigned by Google, appears in service account names and some API contexts.
For the full context on how projects, project identifiers, and the resource hierarchy appear on the Associate Cloud Engineer exam, my Associate Cloud Engineer course covers this topic alongside the related concepts of folders, organizations, and IAM policy inheritance.
When you create a project in the Cloud Console, you enter a project name. Google automatically suggests a project ID based on the name, typically by lowercasing it and replacing spaces with hyphens. You can edit the suggested ID before clicking create, but after you create the project you cannot change it.
This is a detail worth remembering for the exam. A common scenario describes a team that created a project with a test ID like my-test-project-123 and now wants to rename it to something more professional for production use. The answer is that they cannot change the project ID. They would need to create a new project with the desired ID and migrate resources, or live with the original ID and rely on the editable project name for display purposes.
Choosing a good project ID at creation time matters more than it might seem. Many resources in GCP include the project ID in their names or identifiers, so a well-chosen ID makes the broader resource naming cleaner and more readable.