Manage your homepage settings

Your online store's URL is your homepage for Merchant Center. You first set or update your homepage URL. Then, to unlock various Merchant Center features and enable advertising on Google surfaces, you need to verify that you have control over the website associated with this URL. After your website is verified, you can claim the homepage in Merchant Center.

You can manage your homepage settings using Merchant API, including the following operations:

  • Set your homepage URL
  • Claim your homepage URL
  • Disclaim your homepage URL

Prerequisites

Before you can claim your store website, you need to verify it. For more information on the importance of website verification, see Understanding online store URL verification . To understand the process, see Site Verification API .

Special considerations

To update your homepage URL, claim, or disclaim your homepage using the API, you need admin access to the Merchant Center account.

Get your current homepage settings

To retrieve your store's configured homepage URL and see if it has been successfully claimed, use the accounts.homepage.getHomepage method.

Here's an example HTTPS request:

 GET https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage 

A successful request returns the Homepage resource with the current URI and claim status.

Here's an example response:

  { 
  
 "name" 
 : 
  
 "accounts/ {ACCOUNT_ID} 
/homepage" 
 , 
  
 "uri" 
 : 
  
 "https://www.example.com" 
 , 
  
 "claimed" 
 : 
  
 true 
 } 
 

If no homepage is set, it does not return a value for claimed .

  { 
  
 "name" 
 : 
  
 "accounts/ {ACCOUNT_ID} 
/homepage" 
 , 
  
 "uri" 
 : 
  
 "" 
 , 
 } 
 

Java

  import 
  
 com.google.api.gax.core.FixedCredentialsProvider 
 ; 
 import 
  
 com.google.auth.oauth2.GoogleCredentials 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.GetHomepageRequest 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.Homepage 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageName 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceClient 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceSettings 
 ; 
 import 
  
 shopping.merchant.samples.utils.Authenticator 
 ; 
 import 
  
 shopping.merchant.samples.utils.Config 
 ; 
 /** This class demonstrates how to get the homepage for a given Merchant Center account */ 
 public 
  
 class 
 GetHomepageSample 
  
 { 
  
 public 
  
 static 
  
 void 
  
 getHomepage 
 ( 
 Config 
  
 config 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 // Obtains OAuth token based on the user's configuration. 
  
 GoogleCredentials 
  
 credential 
  
 = 
  
 new 
  
 Authenticator 
 (). 
 authenticate 
 (); 
  
 // Creates service settings using the credentials retrieved above. 
  
 HomepageServiceSettings 
  
 homepageServiceSettings 
  
 = 
  
 HomepageServiceSettings 
 . 
 newBuilder 
 () 
  
 . 
 setCredentialsProvider 
 ( 
 FixedCredentialsProvider 
 . 
 create 
 ( 
 credential 
 )) 
  
 . 
 build 
 (); 
  
 // Creates Homepage name to identify Homepage. 
  
 String 
  
 name 
  
 = 
  
 HomepageName 
 . 
 newBuilder 
 (). 
 setAccount 
 ( 
 config 
 . 
 getAccountId 
 (). 
 toString 
 ()). 
 build 
 (). 
 toString 
 (); 
  
 // Calls the API and catches and prints any network failures/errors. 
  
 try 
  
 ( 
 HomepageServiceClient 
  
 homepageServiceClient 
  
 = 
  
 HomepageServiceClient 
 . 
 create 
 ( 
 homepageServiceSettings 
 )) 
  
 { 
  
 // The name has the format: accounts/{account}/homepage 
  
 GetHomepageRequest 
  
 request 
  
 = 
  
 GetHomepageRequest 
 . 
 newBuilder 
 (). 
 setName 
 ( 
 name 
 ). 
 build 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sending Get Homepage request:" 
 ); 
  
 Homepage 
  
 response 
  
 = 
  
 homepageServiceClient 
 . 
 getHomepage 
 ( 
 request 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Retrieved Homepage below" 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 ); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 e 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 e 
 ); 
  
 } 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 Config 
  
 config 
  
 = 
  
 Config 
 . 
 load 
 (); 
  
 getHomepage 
 ( 
 config 
 ); 
  
 } 
 } 
  
 

PHP

  use Google\ApiCore\ApiException; 
 use Google\Shopping\Merchant\Accounts\V1\GetHomepageRequest; 
 use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient; 
 /** 
 * This class demonstrates how to get the homepage for a given Merchant Center account 
 */ 
 class GetHomepage 
 { 
 /** 
 * Gets the homepage for a given Merchant Center account. 
 * 
 * @param array $config The configuration data for authentication and account ID. 
 * @return void 
 * @throws ApiException if the API call fails. 
 */ 
 public static function getHomepageSample(array $config): void 
 { 
 // Gets the OAuth credentials to make the request. 
 $credentials = Authentication::useServiceAccountOrTokenFile(); 
 // Creates options config containing credentials for the client to use. 
 $options = ['credentials' => $credentials]; 
 // Creates a client. 
 $homepageServiceClient = new HomepageServiceClient($options); 
 // Creates Homepage name to identify Homepage. 
 // The name has the format: accounts/{account}/homepage 
 $name = "accounts/" . $config['accountId'] . "/homepage"; 
 // Calls the API and catches and prints any network failures/errors. 
 try { 
 $request = new GetHomepageRequest(['name' => $name]); 
 print "Sending Get Homepage request:\n"; 
 $response = $homepageServiceClient->getHomepage($request); 
 print "Retrieved Homepage below\n"; 
 print_r($response); 
 } catch (ApiException $e) { 
 print $e->getMessage(); 
 } 
 } 
 /** 
 * Helper to execute the sample. 
 * 
 * @return void 
 */ 
 public function callSample(): void 
 { 
 $config = Config::generateConfig(); 
 // Makes the call to get the homepage. 
 self::getHomepageSample($config); 
 } 
 } 
 // Run the script 
 $sample = new GetHomepage(); 
 $sample->callSample();  
 
 

Python

  from 
  
 examples.authentication 
  
 import 
 configuration 
 from 
  
 examples.authentication 
  
 import 
 generate_user_credentials 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 GetHomepageRequest 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 HomepageServiceClient 
 _ACCOUNT 
 = 
 configuration 
 . 
 Configuration 
 () 
 . 
 read_merchant_info 
 () 
 def 
  
 get_homepage 
 (): 
  
 """Gets the homepage for a given Merchant Center account.""" 
 # Gets OAuth Credentials. 
 credentials 
 = 
 generate_user_credentials 
 . 
 main 
 () 
 # Creates a client. 
 client 
 = 
 HomepageServiceClient 
 ( 
 credentials 
 = 
 credentials 
 ) 
 # Creates Homepage name to identify Homepage. 
 name 
 = 
 "accounts/" 
 + 
 _ACCOUNT 
 + 
 "/homepage" 
 # Creates the request. 
 request 
 = 
 GetHomepageRequest 
 ( 
 name 
 = 
 name 
 ) 
 # Makes the request and catches and prints any error messages. 
 try 
 : 
 response 
 = 
 client 
 . 
 get_homepage 
 ( 
 request 
 = 
 request 
 ) 
 print 
 ( 
 "Retrieved Homepage below" 
 ) 
 print 
 ( 
 response 
 ) 
 except 
 RuntimeError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 if 
 __name__ 
 == 
 "__main__" 
 : 
 get_homepage 
 () 
  
 

cURL

  curl --location --request GET \ 
 'https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage' \ 
 --header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' 
 

Update your homepage URL

To set or change the website URL associated with your Merchant Center account, use the updateHomepage method.

You need to provide the Homepage resource in the request body, specifying the new uri , and include uri in the update_mask .

Here's an example HTTPS request:

 PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage?update_mask=uri 

Here's an example request payload:

  { 
  
 "name" 
 : 
  
 "accounts/ {ACCOUNT_ID} 
/homepage" 
 , 
  
 "uri" 
 : 
  
 "https://www.new-example.com" 
 } 
 

A successful request returns the updated Homepage resource.

Here's an example response:

  { 
  
 "name" 
 : 
  
 "accounts/ {ACCOUNT_ID} 
/homepage" 
 , 
  
 "uri" 
 : 
  
 "https://www.new-example.com" 
 , 
  
 "claimed" 
 : 
  
 true 
 } 
 

Java

  import 
  
 com.google.api.gax.core.FixedCredentialsProvider 
 ; 
 import 
  
 com.google.auth.oauth2.GoogleCredentials 
 ; 
 import 
  
 com.google.protobuf.FieldMask 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.Homepage 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageName 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceClient 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceSettings 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.UpdateHomepageRequest 
 ; 
 import 
  
 shopping.merchant.samples.utils.Authenticator 
 ; 
 import 
  
 shopping.merchant.samples.utils.Config 
 ; 
 /** This class demonstrates how to update a homepage to a new URL. */ 
 public 
  
 class 
 UpdateHomepageSample 
  
 { 
  
 public 
  
 static 
  
 void 
  
 updateHomepage 
 ( 
 Config 
  
 config 
 , 
  
 String 
  
 uri 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 GoogleCredentials 
  
 credential 
  
 = 
  
 new 
  
 Authenticator 
 (). 
 authenticate 
 (); 
  
 HomepageServiceSettings 
  
 homepageServiceSettings 
  
 = 
  
 HomepageServiceSettings 
 . 
 newBuilder 
 () 
  
 . 
 setCredentialsProvider 
 ( 
 FixedCredentialsProvider 
 . 
 create 
 ( 
 credential 
 )) 
  
 . 
 build 
 (); 
  
 // Creates homepage name to identify homepage. 
  
 String 
  
 name 
  
 = 
  
 HomepageName 
 . 
 newBuilder 
 (). 
 setAccount 
 ( 
 config 
 . 
 getAccountId 
 (). 
 toString 
 ()). 
 build 
 (). 
 toString 
 (); 
  
 // Create a homepage with the updated fields. 
  
 Homepage 
  
 homepage 
  
 = 
  
 Homepage 
 . 
 newBuilder 
 (). 
 setName 
 ( 
 name 
 ). 
 setUri 
 ( 
 uri 
 ). 
 build 
 (); 
  
 FieldMask 
  
 fieldMask 
  
 = 
  
 FieldMask 
 . 
 newBuilder 
 (). 
 addPaths 
 ( 
 "uri" 
 ). 
 build 
 (); 
  
 try 
  
 ( 
 HomepageServiceClient 
  
 homepageServiceClient 
  
 = 
  
 HomepageServiceClient 
 . 
 create 
 ( 
 homepageServiceSettings 
 )) 
  
 { 
  
 UpdateHomepageRequest 
  
 request 
  
 = 
  
 UpdateHomepageRequest 
 . 
 newBuilder 
 (). 
 setHomepage 
 ( 
 homepage 
 ). 
 setUpdateMask 
 ( 
 fieldMask 
 ). 
 build 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sending Update Homepage request" 
 ); 
  
 Homepage 
  
 response 
  
 = 
  
 homepageServiceClient 
 . 
 updateHomepage 
 ( 
 request 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Updated Homepage Name below" 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 . 
 getName 
 ()); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 e 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 e 
 ); 
  
 } 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 Config 
  
 config 
  
 = 
  
 Config 
 . 
 load 
 (); 
  
 // The URI (a URL) of the store's homepage. 
  
 String 
  
 uri 
  
 = 
  
 "https://example.com" 
 ; 
  
 updateHomepage 
 ( 
 config 
 , 
  
 uri 
 ); 
  
 } 
 } 
  
 

PHP

  use Google\ApiCore\ApiException; 
 use Google\Protobuf\FieldMask; 
 use Google\Shopping\Merchant\Accounts\V1\Homepage; 
 use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient; 
 use Google\Shopping\Merchant\Accounts\V1\UpdateHomepageRequest; 
 /** 
 * This class demonstrates how to update a homepage to a new URL. 
 */ 
 class UpdateHomepage 
 { 
 /** 
 * Updates a homepage to a new URL. 
 * 
 * @param array $config The configuration data for authentication and account ID. 
 * @param string $uri The new URI for the homepage. 
 * @return void 
 * @throws ApiException if the API call fails. 
 */ 
 public static function updateHomepageSample(array $config, string $uri): void 
 { 
 // Gets the OAuth credentials to make the request. 
 $credentials = Authentication::useServiceAccountOrTokenFile(); 
 // Creates options config containing credentials for the client to use. 
 $options = ['credentials' => $credentials]; 
 // Creates a client. 
 $homepageServiceClient = new HomepageServiceClient($options); 
 // Creates Homepage name to identify Homepage. 
 // The name has the format: accounts/{account}/homepage 
 $name = "accounts/" . $config['accountId'] . "/homepage"; 
 // Create a homepage with the updated fields. 
 $homepage = new Homepage(['name' => $name, 'uri' => $uri]); 
 // Create field mask to specify which fields to update. 
 $fieldMask = new FieldMask(['paths' => ['uri']]); 
 try { 
 $request = new UpdateHomepageRequest([ 
 'homepage' => $homepage, 
 'update_mask' => $fieldMask 
 ]); 
 print "Sending Update Homepage request\n"; 
 $response = $homepageServiceClient->updateHomepage($request); 
 print "Updated Homepage Name below\n"; 
 print $response->getName() . "\n"; 
 } catch (ApiException $e) { 
 print $e->getMessage(); 
 } 
 } 
 /** 
 * Helper to execute the sample. 
 * 
 * @return void 
 */ 
 public function callSample(): void 
 { 
 $config = Config::generateConfig(); 
 // The URI (a URL) of the store's homepage. 
 $uri = "https://example.com"; 
 // Makes the call to update the homepage. 
 self::updateHomepageSample($config, $uri); 
 } 
 } 
 // Run the script 
 $sample = new UpdateHomepage(); 
 $sample->callSample();  
 
 

Python

  from 
  
 examples.authentication 
  
 import 
 configuration 
 from 
  
 examples.authentication 
  
 import 
 generate_user_credentials 
 from 
  
 google.protobuf 
  
 import 
 field_mask_pb2 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 Homepage 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 HomepageServiceClient 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 UpdateHomepageRequest 
 _ACCOUNT 
 = 
 configuration 
 . 
 Configuration 
 () 
 . 
 read_merchant_info 
 () 
 def 
  
 update_homepage 
 ( 
 new_uri 
 ): 
  
 """Updates a homepage to a new URL.""" 
 # Gets OAuth Credentials. 
 credentials 
 = 
 generate_user_credentials 
 . 
 main 
 () 
 # Creates a client. 
 client 
 = 
 HomepageServiceClient 
 ( 
 credentials 
 = 
 credentials 
 ) 
 # Creates Homepage name to identify Homepage. 
 name 
 = 
 "accounts/" 
 + 
 _ACCOUNT 
 + 
 "/homepage" 
 # Create a homepage with the updated fields. 
 homepage 
 = 
 Homepage 
 ( 
 name 
 = 
 name 
 , 
 uri 
 = 
 new_uri 
 ) 
 # Create a FieldMask for the "uri" field. 
 field_mask 
 = 
 field_mask_pb2 
 . 
 FieldMask 
 ( 
 paths 
 = 
 [ 
 "uri" 
 ]) 
 # Creates the request. 
 request 
 = 
 UpdateHomepageRequest 
 ( 
 homepage 
 = 
 homepage 
 , 
 update_mask 
 = 
 field_mask 
 ) 
 # Makes the request and catches and prints any error messages. 
 try 
 : 
 response 
 = 
 client 
 . 
 update_homepage 
 ( 
 request 
 = 
 request 
 ) 
 print 
 ( 
 "Updated Homepage Name below" 
 ) 
 print 
 ( 
 response 
 . 
 name 
 ) 
 except 
 RuntimeError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 if 
 __name__ 
 == 
 "__main__" 
 : 
 # The URI (a URL) of the store's homepage. 
 uri 
 = 
 "https://example.com" 
 update_homepage 
 ( 
 uri 
 ) 
  
 

cURL

  curl --location --request PATCH \ 
 'https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage?update_mask=uri' \ 
 --header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \ 
 --header 'Content-Type: application/json' \ 
 --data '{ 
 "name": "accounts/ {ACCOUNT_ID} 
/homepage", 
 "uri": "https://www.new-example.com" 
 }' 
 

Claim your homepage

To claim your online store's homepage, use the claim method. But before you can claim your homepage, you must complete verification, which is the process that proves you own the website.

Here's an example HTTPS request:

 POST https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage:claim 

Here's an example request payload if you want to overwrite an existing claim from another account:

  { 
  
 "overwrite" 
 : 
  
 true 
 } 
 

A successful request returns the Homepage resource. If the claim is successful, the claimed field will be true .

Here's an example response:

  { 
  
 "name" 
 : 
  
 "accounts/ {ACCOUNT_ID} 
/homepage" 
 , 
  
 "uri" 
 : 
  
 "https://www.new-example.com" 
 , 
  
 "claimed" 
 : 
  
 true 
 } 
 

Java

  import 
  
 com.google.api.gax.core.FixedCredentialsProvider 
 ; 
 import 
  
 com.google.auth.oauth2.GoogleCredentials 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.ClaimHomepageRequest 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.Homepage 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageName 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceClient 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceSettings 
 ; 
 import 
  
 shopping.merchant.samples.utils.Authenticator 
 ; 
 import 
  
 shopping.merchant.samples.utils.Config 
 ; 
 /** This class demonstrates how to claim the homepage for a given Merchant Center account. */ 
 public 
  
 class 
 ClaimHomepageSample 
  
 { 
  
 // Executing this method requires admin access. 
  
 public 
  
 static 
  
 void 
  
 claimHomepage 
 ( 
 Config 
  
 config 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 // Obtains OAuth token based on the user's configuration. 
  
 GoogleCredentials 
  
 credential 
  
 = 
  
 new 
  
 Authenticator 
 (). 
 authenticate 
 (); 
  
 // Creates service settings using the credentials retrieved above. 
  
 HomepageServiceSettings 
  
 homepageServiceSettings 
  
 = 
  
 HomepageServiceSettings 
 . 
 newBuilder 
 () 
  
 . 
 setCredentialsProvider 
 ( 
 FixedCredentialsProvider 
 . 
 create 
 ( 
 credential 
 )) 
  
 . 
 build 
 (); 
  
 // Creates Homepage name to identify Homepage. 
  
 // The name has the format: accounts/{account}/homepage 
  
 String 
  
 name 
  
 = 
  
 HomepageName 
 . 
 newBuilder 
 (). 
 setAccount 
 ( 
 config 
 . 
 getAccountId 
 (). 
 toString 
 ()). 
 build 
 (). 
 toString 
 (); 
  
 // Calls the API and catches and prints any network failures/errors. 
  
 try 
  
 ( 
 HomepageServiceClient 
  
 homepageServiceClient 
  
 = 
  
 HomepageServiceClient 
 . 
 create 
 ( 
 homepageServiceSettings 
 )) 
  
 { 
  
 ClaimHomepageRequest 
  
 request 
  
 = 
  
 ClaimHomepageRequest 
 . 
 newBuilder 
 (). 
 setName 
 ( 
 name 
 ). 
 build 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sending Claim Homepage request:" 
 ); 
  
 // If the homepage is already claimed, this will recheck the 
  
 // verification (unless the merchant is exempt from claiming, which also 
  
 // exempts from verification) and return a successful response. If ownership 
  
 // can no longer be verified, it will return an error, but it won't lose an existing 
  
 // claim. In case of failure, a canonical error message will be returned: 
  
 //    * PERMISSION_DENIED: user doesn't have the necessary permissions on this 
  
 //    MC account; 
  
 //    * FAILED_PRECONDITION: 
  
 //      - The account is not a Merchant Center account; 
  
 //      - MC account doesn't have a homepage; 
  
 //      - claiming failed (in this case the error message will contain more 
  
 //      details). 
  
 Homepage 
  
 response 
  
 = 
  
 homepageServiceClient 
 . 
 claimHomepage 
 ( 
 request 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Retrieved Homepage below" 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 ); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 e 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 e 
 ); 
  
 } 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 Config 
  
 config 
  
 = 
  
 Config 
 . 
 load 
 (); 
  
 claimHomepage 
 ( 
 config 
 ); 
  
 } 
 } 
  
 

PHP

  use Google\ApiCore\ApiException; 
 use Google\Shopping\Merchant\Accounts\V1\ClaimHomepageRequest; 
 use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient; 
 /** 
 * This class demonstrates how to claim the homepage for a given Merchant Center account. 
 */ 
 class ClaimHomepage 
 { 
 /** 
 * Claims the homepage for a given Merchant Center account. 
 * 
 * @param array $config The configuration data for authentication and account ID. 
 * @return void 
 * @throws ApiException if the API call fails. 
 */ 
 public static function claimHomepageSample(array $config): void 
 { 
 // Gets the OAuth credentials to make the request. 
 $credentials = Authentication::useServiceAccountOrTokenFile(); 
 // Creates options config containing credentials for the client to use. 
 $options = ['credentials' => $credentials]; 
 // Creates a client. 
 $homepageServiceClient = new HomepageServiceClient($options); 
 // Creates Homepage name to identify Homepage. 
 // The name has the format: accounts/{account}/homepage 
 $name = "accounts/" . $config['accountId'] . "/homepage"; 
 // Calls the API and catches and prints any network failures/errors. 
 try { 
 $request = new ClaimHomepageRequest(['name' => $name]); 
 print "Sending Claim Homepage request:\n"; 
 $response = $homepageServiceClient->claimHomepage($request); 
 print "Retrieved Homepage below\n"; 
 print_r($response); 
 } catch (ApiException $e) { 
 print $e->getMessage(); 
 } 
 } 
 /** 
 * Helper to execute the sample. 
 * 
 * @return void 
 */ 
 public function callSample(): void 
 { 
 $config = Config::generateConfig(); 
 // Makes the call to claim the homepage. 
 self::claimHomepageSample($config); 
 } 
 } 
 // Run the script 
 $sample = new ClaimHomepage(); 
 $sample->callSample();  
 
 

Python

  from 
  
 examples.authentication 
  
 import 
 configuration 
 from 
  
 examples.authentication 
  
 import 
 generate_user_credentials 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 ClaimHomepageRequest 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 HomepageServiceClient 
 _ACCOUNT 
 = 
 configuration 
 . 
 Configuration 
 () 
 . 
 read_merchant_info 
 () 
 def 
  
 claim_homepage 
 (): 
  
 """Claims the homepage for a given Merchant Center account.""" 
 # Gets OAuth Credentials. 
 credentials 
 = 
 generate_user_credentials 
 . 
 main 
 () 
 # Creates a client. 
 client 
 = 
 HomepageServiceClient 
 ( 
 credentials 
 = 
 credentials 
 ) 
 # Creates Homepage name to identify Homepage. 
 name 
 = 
 "accounts/" 
 + 
 _ACCOUNT 
 + 
 "/homepage" 
 # Creates the request. 
 request 
 = 
 ClaimHomepageRequest 
 ( 
 name 
 = 
 name 
 ) 
 # Makes the request and catches and prints any error messages. 
 try 
 : 
 response 
 = 
 client 
 . 
 claim_homepage 
 ( 
 request 
 = 
 request 
 ) 
 print 
 ( 
 "Retrieved Homepage below" 
 ) 
 print 
 ( 
 response 
 ) 
 except 
 RuntimeError 
 as 
 e 
 : 
 print 
 ( 
 e 
 ) 
 if 
 __name__ 
 == 
 "__main__" 
 : 
 claim_homepage 
 () 
  
 

cURL

  curl --location --request POST \ 
 'https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage:claim' \ 
 --header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \ 
 --header 'Content-Type: application/json' \ 
 --data '{ 
 "overwrite": true 
 }' 
 

Disclaim your homepage

To remove the claimed status from your store's homepage, use the unclaim method. You might do this if you've changed your website or no longer want to have the current URL associated with your account in a claimed state.

Here's an example HTTPS request:

 POST https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage:unclaim 

Here's an example request payload:

  {} 
 

Here's an example response:

  { 
  
 "name" 
 : 
  
 "accounts/ {ACCOUNT_ID} 
/homepage" 
 , 
  
 "uri" 
 : 
  
 "https://www.new-example.com" 
 , 
 } 
 

Java

  import 
  
 com.google.api.gax.core.FixedCredentialsProvider 
 ; 
 import 
  
 com.google.auth.oauth2.GoogleCredentials 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.Homepage 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageName 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceClient 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.HomepageServiceSettings 
 ; 
 import 
  
 com.google.shopping.merchant.accounts.v1.UnclaimHomepageRequest 
 ; 
 import 
  
 shopping.merchant.samples.utils.Authenticator 
 ; 
 import 
  
 shopping.merchant.samples.utils.Config 
 ; 
 /** This class demonstrates how to unclaim the homepage for a given Merchant Center account. */ 
 public 
  
 class 
 UnclaimHomepageSample 
  
 { 
  
 // Executing this method requires admin access. 
  
 public 
  
 static 
  
 void 
  
 unclaimHomepage 
 ( 
 Config 
  
 config 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 // Obtains OAuth token based on the user's configuration. 
  
 GoogleCredentials 
  
 credential 
  
 = 
  
 new 
  
 Authenticator 
 (). 
 authenticate 
 (); 
  
 // Creates service settings using the credentials retrieved above. 
  
 HomepageServiceSettings 
  
 homepageServiceSettings 
  
 = 
  
 HomepageServiceSettings 
 . 
 newBuilder 
 () 
  
 . 
 setCredentialsProvider 
 ( 
 FixedCredentialsProvider 
 . 
 create 
 ( 
 credential 
 )) 
  
 . 
 build 
 (); 
  
 // Creates Homepage name to identify Homepage. 
  
 // The name has the format: accounts/{account}/homepage 
  
 String 
  
 name 
  
 = 
  
 HomepageName 
 . 
 newBuilder 
 (). 
 setAccount 
 ( 
 config 
 . 
 getAccountId 
 (). 
 toString 
 ()). 
 build 
 (). 
 toString 
 (); 
  
 // Calls the API and catches and prints any network failures/errors. 
  
 try 
  
 ( 
 HomepageServiceClient 
  
 homepageServiceClient 
  
 = 
  
 HomepageServiceClient 
 . 
 create 
 ( 
 homepageServiceSettings 
 )) 
  
 { 
  
 UnclaimHomepageRequest 
  
 request 
  
 = 
  
 UnclaimHomepageRequest 
 . 
 newBuilder 
 (). 
 setName 
 ( 
 name 
 ). 
 build 
 (); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Sending Unclaim Homepage request:" 
 ); 
  
 Homepage 
  
 response 
  
 = 
  
 homepageServiceClient 
 . 
 unclaimHomepage 
 ( 
 request 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Retrieved Homepage below" 
 ); 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 ); 
  
 } 
  
 catch 
  
 ( 
 Exception 
  
 e 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 e 
 ); 
  
 } 
  
 } 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 Exception 
  
 { 
  
 Config 
  
 config 
  
 = 
  
 Config 
 . 
 load 
 (); 
  
 unclaimHomepage 
 ( 
 config 
 ); 
  
 } 
 } 
  
 

PHP

  use Google\ApiCore\ApiException; 
 use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient; 
 use Google\Shopping\Merchant\Accounts\V1\UnclaimHomepageRequest; 
 /** 
 * This class demonstrates how to unclaim the homepage for a given Merchant Center account. 
 */ 
 class UnclaimHomepage 
 { 
 /** 
 * Unclaims the homepage for a given Merchant Center account. 
 * 
 * @param array $config The configuration data for authentication and account ID. 
 * @return void 
 * @throws ApiException if the API call fails. 
 */ 
 public static function unclaimHomepageSample(array $config): void 
 { 
 // Gets the OAuth credentials to make the request. 
 $credentials = Authentication::useServiceAccountOrTokenFile(); 
 // Creates options config containing credentials for the client to use. 
 $options = ['credentials' => $credentials]; 
 // Creates a client. 
 $homepageServiceClient = new HomepageServiceClient($options); 
 // Creates Homepage name to identify Homepage. 
 // The name has the format: accounts/{account}/homepage 
 $name = "accounts/" . $config['accountId'] . "/homepage"; 
 // Calls the API and catches and prints any network failures/errors. 
 try { 
 $request = new UnclaimHomepageRequest(['name' => $name]); 
 print "Sending Unclaim Homepage request:\n"; 
 $response = $homepageServiceClient->unclaimHomepage($request); 
 print "Retrieved Homepage below\n"; 
 print_r($response); 
 } catch (ApiException $e) { 
 print $e->getMessage(); 
 } 
 } 
 /** 
 * Helper to execute the sample. 
 * 
 * @return void 
 */ 
 public function callSample(): void 
 { 
 $config = Config::generateConfig(); 
 // Makes the call to unclaim the homepage. 
 self::unclaimHomepageSample($config); 
 } 
 } 
 // Run the script 
 $sample = new UnclaimHomepage(); 
 $sample->callSample();  
 
 

Python

  from 
  
 examples.authentication 
  
 import 
 configuration 
 from 
  
 examples.authentication 
  
 import 
 generate_user_credentials 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 HomepageServiceClient 
 from 
  
 google.shopping.merchant_accounts_v1 
  
 import 
 UnclaimHomepageRequest 
 _ACCOUNT 
 = 
 configuration 
 . 
 Configuration 
 () 
 . 
 read_merchant_info 
 () 
 def 
  
 unclaim_homepage 
 (): 
  
 """Unclaims the homepage for a given Merchant Center account.""" 
 # Gets OAuth Credentials. 
 credentials 
 = 
 generate_user_credentials 
 . 
 main 
 () 
 # Creates a client. 
 client 
 = 
 HomepageServiceClient 
 ( 
 credentials 
 = 
 credentials 
 ) 
 # Creates Homepage name to identify Homepage. 
 # The name has the format: accounts/{account}/homepage 
 name 
 = 
 "accounts/" 
 + 
 _ACCOUNT 
 + 
 "/homepage" 
 # Creates the request. 
 request 
 = 
 UnclaimHomepageRequest 
 ( 
 name 
 = 
 name 
 ) 
 # Makes the request and catches and prints any error messages. 
 try 
 : 
 response 
 = 
 client 
 . 
 unclaim_homepage 
 ( 
 request 
 = 
 request 
 ) 
 print 
 ( 
 f 
 "Unclaimed Homepage: 
 { 
 response 
 } 
 " 
 ) 
 except 
 RuntimeError 
 as 
 e 
 : 
 print 
 ( 
 f 
 "Failed to unclaim homepage: 
 { 
 e 
 } 
 " 
 ) 
 if 
 __name__ 
 == 
 "__main__" 
 : 
 unclaim_homepage 
 () 
  
 

cURL

  curl --location --request POST \ 
 'https://merchantapi.googleapis.com/accounts/v1/accounts/ {ACCOUNT_ID} 
/homepage:unclaim' \ 
 --header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \ 
 --header 'Content-Type: application/json' \ 
 --data '{}' 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: