Before you can offer Merchant Center services to merchants, you must
complete these setup steps:

- Establish your organization's Google Cloud project.
- Create your Merchant Center service provider account.
- Install the Merchant API client library or manually integrate with the Merchant API.
- Connect to the Merchant API and register as a developer.

## Create your Cloud project

To interact programmatically with Google Merchant Center,
set up a **Google Cloud project** , enable the **Merchant API** , configure a
**service account** , and generate a **JSON key** for automated server-to-server
authentication.

### Google Cloud console

1. In the Google Cloud console, go to Menu \> **IAM \& Admin** \> **Create a Project** .

   [Go to Create a Project](https://console.cloud.google.com/projectcreate)
2. In the **Project Name** field, enter a descriptive name for your project.


   Optional: To edit the **Project ID** , click **Edit**. The project ID can't be changed
   after the project is created, so choose an ID that meets your needs for the lifetime of the
   project.
3. In the **Location** field, click **Browse** to display potential locations for your project. Then, click **Select**.
4. Click **Create**. The Google Cloud console navigates to the Dashboard page and your project is created within a few minutes.

### gcloud command

In one of the following development environments, access the Google Cloud
command-line tool (`gcloud`):

- **Cloud Shell** : To use an online terminal with the gcloud command-line tool already set up, activate Cloud Shell.   
  [Activate Cloud Shell](https://console.cloud.google.com/?cloudshell=true)
- **Local Shell** : To use a local development environment, [install](https://cloud.google.com/sdk/docs/install) and [initialize](https://cloud.google.com/sdk/docs/initializing) the gcloud command-line tool.   
  To create a Cloud project, use the `gcloud projects create` command:

      gcloud projects create PROJECT_ID

  Replace <var translate="no">PROJECT_ID</var> by setting the ID for the project you want to create.

For further information on Cloud projects, refer to
[Creating and managing projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects)
in the Google Cloud documentation.

## Enable the Merchant API

You must activate Merchant API within your project before you can make calls to
it.

### Google Cloud console

- In the [Google Cloud console](https://console.cloud.google.com/), open the left side menu and select **APIs \& services** \> **Library**.
- Search for **Merchant API** and click the result.
- Click **ENABLE**.

  [Enable the Merchant API](https://console.cloud.google.com/apis/library/merchantapi.googleapis.com)

### gcloud command

    gcloud services enable merchantapi.googleapis.com

For more information, see
[Enable and disable APIs](https://support.google.com/googleapi/answer/6158841).

## Create a service account

1. In the Google Cloud console, go to **IAM \& Admin \> Service Accounts**.
2. Click **Create service account**.
3. Enter a name and description for your service account and click **Create
   and Continue**.

> [!NOTE]
> **Note:** The Google Cloud console wizard includes optional steps to "Grant this service account access to project" and "Grant users access to this service account". Service providers don't need project-level Google Cloud IAM roles for Merchant Center operations. You can skip these optional sections and click **Done**, because permissions are granted directly inside Merchant Center.

## Generate and download a private JSON key

1. Click your newly created service account email address in the list.
2. Go to the **Keys** tab.
3. Click **Add Key \> Create new key** , select **JSON**, and download the key file securely to your backend application server.

> [!IMPORTANT]
> **Important:** Your backend application uses this private key file with the Google Client Library to authenticate with Google's APIs automatically.

## Create and configure your Merchant Center service provider account

Establish your organization's legal identity in Google Merchant Center. This account acts as the parent container that manages
service links and credentials for your merchant base.

> [!CAUTION]
> **Caution:** If you are creating a new Merchant Center account, **don't request
> conversion to an advanced account** . Our support team will convert your account to an advanced account when you [request to be enabled as a UCP checkout service provider](https://developers.google.com/merchant/3p/guides/ucp/checkout/request-testing).

> [!NOTE]
> **Note:** If you already have an existing advanced Merchant Center account that you use for your existing Merchant Center integrations, you can reuse that same account and skip to step 4 to add your service account to your existing advanced account.

1. **Register your business organization account:**
   - Open [Google Merchant Center](https://merchants.google.com/).
   - Sign in with a Google Account that has administrative access for your business.
   - Enter your legal business name, country, and website URL.
2. **Verify and claim your website:**
   - In Merchant Center, navigate to your business information settings to verify and claim your primary website URL to confirm domain ownership. For step-by-step instructions, see the Merchant Center Help Center guide to [verify and claim your store's website](https://support.google.com/merchants/answer/176793).
3. **Record your Merchant Center service provider account ID (<var translate="no">{PROVIDER_ID}</var>):**
   - Record this numeric ID (<var translate="no">{PROVIDER_ID}</var>). Use this ID as your platform's provider ID across all Merchant API operations and account linking URLs.
4. **Grant your service account permissions in your Merchant Center service provider account:**
   - Open your Merchant Center service provider account.
   - In the left navigation, go to **Settings \> Access and services**.
   - Click **Add person** and enter your service account email address (<var translate="no">{SERVICE_ACCOUNT_EMAIL}</var>).
   - Assign the **Admin** role so the service account has permissions to manage service proposals and links under your service provider account.

## Configure Google client library authentication (optional)

Because your backend communicates with Google server-to-server without
interactive user login, we recommend authenticating your Merchant API operations
using Google's official client libraries with your service account credentials
and the scope `https://www.googleapis.com/auth/content`.

Google Client Libraries manage the entire token lifecycle automatically,
including signed JWT assertions, token retrieval, caching, and seamless
background token refreshes.

To install and configure the client library for your programming language
(Python, Node.js, Java, Go, PHP, or .NET), see the
[Merchant API client libraries](https://developers.google.com/merchant/api/client-libraries)
documentation.

## Complete developer registration using the Merchant API

Developer registration is a mandatory, one-time setup process that links your
Google Cloud project (where your service account resides) to your Merchant Center
service provider account ID (<var translate="no">{PROVIDER_ID}</var>), authorizing API
operations on behalf of your platform. You must complete developer registration
programmatically using the Merchant API. To learn more, see the
[Developer registration guide](https://developers.google.com/merchant/api/guides/quickstart/registration).

Key considerations for service accounts completing developer registration:

- **Authorization:** Authorize the [`registerGcp`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.developerRegistration/registerGcp) API call as an **admin of
  your Merchant Center service provider account** , and the **Google Cloud
  project which owns your service account**. Ensure your service account is an administrator of your Merchant Center service provider account if you use it to make the call.
- **Registration:** Provide a **valid human email address** as the developer email. The developer email cannot be a service account.
- **Post-Registration:** After you successfully register your Google Cloud project to your service provider account, you gain access to the **API developer** role. Log into your service provider account in Merchant Center, navigate to **Settings \> Access and services** and grant any additional developer contacts the **API developer** role. This ensures your organization receives all important API-related emails.