Google Ads API: The customer is not in the allow-list for this asset type

200 views
Skip to first unread message

ArdaGnsrn

unread,
Nov 20, 2021, 7:55:11 AM11/20/21
to AdWords API and Google Ads API Forum
I'm trying to create Call Asset on google ads with API. But I'm getting error.

Error: The customer is not in the allow-list for this asset type. * CALL

Google Ads API Forum Advisor

unread,
Nov 21, 2021, 11:30:58 PM11/21/21
to arda...@gmail.com, adwor...@googlegroups.com

Hello,

Thank you for reaching out to us.

Can you further elaborate on your concern so we can better assist you? Can you also share to us the complete API logs (request and response with request-id)?

Please send the requested details via the Reply privately to author option. If this option is not available, you may send the details directly to our googleadsa...@google.com alias instead.

Regards,

Reminder: Share your feedback about the Google Ads (AdWords) API! Take the 2021 Google Ads API and AdWords API Annual Survey
 

Google Logo
Mark Kevin Albios
Google Ads API Team
 

 

ref:_00D1U1174p._5004Q2Ruvb2:ref

Shirly J

unread,
Dec 1, 2021, 4:14:48 AM12/1/21
to AdWords API and Google Ads API Forum

Hi GoogleTeam,

Geting Google Ads API: The customer is not in the allow-list for this asset type error.

public function createCallForAsset()
{
$callAsset = new Asset([
'type' => AssetType::CALL,
'call_asset' => new CallAsset(['country_code' => $this->countryCode, 'phone_number' => $this->phoneNumber])
]);

$assetOperation = new AssetOperation();
$assetOperation->setCreate($callAsset);
$assetServiceClient = $this->googleAdsClient->getAssetServiceClient();
$response = $assetServiceClient->mutateAssets($this->clientId, [$assetOperation]);
$assetResourceName = $response->getResults()[0]->getResourceName();
printf("Created an asset with resource name: '%s'.%s", $assetResourceName, PHP_EOL);
return $assetResourceName;
}
Could you please let me know what is missing?

Thanks,
Shirly
On Monday, 22 November 2021 at 04:30:58 UTC adsapi wrote:

Hello,

Thank you for reaching out to us.

Can you further elaborate on your concern so we can better assist you? Can you also share to us the complete API logs (request and response with request-id)?

Please send the requested details via the Reply privately to author option. If this option is not available, you may send the details directly to our googleadsapi-support@google.com alias instead.



Regards,

Reminder: Share your feedback about the Google Ads (AdWords) API! Take the 2021 Google Ads API and AdWords API Annual Survey
 

Google Ads API Forum Advisor

unread,
Dec 2, 2021, 12:39:08 AM12/2/21
to pons...@gmail.com, adwor...@googlegroups.com

Hello Shirly,



Thank you for reaching out to us.

Can you also share to us the complete API logs (request and response with request-id) generated when the error was encountered? Since you're using PHP, you can enable logging via this guide.

You can then send those requested details via the Reply privately to author option. If this option is not available, you may send the details directly to our googleadsa...@google.com alias instead.

Regards,

j...@eulerity.com

unread,
Dec 6, 2021, 8:32:46 PM12/6/21
to AdWords API and Google Ads API Forum
Hi Google Ads Team,

I'm also trying to migrate my feed based call extensions to asset based extensions and am getting this error when attempting to create the CallAsset.

Here's the java code I'm using, followed by the error code with request id and a stack trace:

AssetOperation operation = AssetOperation.newBuilder()

.setCreate(Asset.newBuilder()

.setCallAsset(CallAsset.newBuilder()

.setCountryCode(countryCode).setPhoneNumber(phone)))

.build();


String resourceName;

// Gets the Asset Service client.

try (AssetServiceClient assetServiceClient = client.createAssetServiceClient()) {

// Issues the request and returns the resource name of the new Promotion asset.

MutateAssetsResponse response = assetServiceClient.mutateAssets(String.valueOf(customerId),

ImmutableList.of(operation));

resourceName = response.getResults(0).getResourceName();

log.info("Created CallAsset with resource name " + resourceName);

} catch (ApiException e) {

throw new ExternalApiException(e);

}


CampaignAssetOperation op = CampaignAssetOperation

.newBuilder().setCreate(CampaignAsset.newBuilder().setAsset(resourceName)

.setFieldType(AssetFieldType.CALL).setCampaign(ResourceNames.campaign(customerId, campaignId)))

.build();


// Creates a service client.

try (CampaignAssetServiceClient campaignAssetServiceClient = client.createCampaignAssetServiceClient()) {

// Issues the mutate request.

MutateCampaignAssetsResponse response = campaignAssetServiceClient

.mutateCampaignAssets(String.valueOf(customerId), Lists.newArrayList(op));

// Prints some information about the result.

for (MutateCampaignAssetResult result : response.getResultsList()) {

log.info("Attached CallAsset to campaign");

}

} catch (ApiException e) {

throw new ExternalApiException(e);

}




Caused by: com.google.ads.googleads.v9.errors.GoogleAdsException: errors {
  error_code {
    asset_error: CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE
  }
  message: "The customer is not in the allow-list for this asset type."
  trigger {
    string_value: "CALL"
  }
  location {
    field_path_elements {
      field_name: "operations"
      index: 0
    }
  }
}
request_id: "gLMRh6DpOosHAGYjnUsoKw"

        at com.google.ads.googleads.v9.errors.GoogleAdsException$Factory.createException(GoogleAdsException.java:42)
        at com.google.ads.googleads.v9.errors.GoogleAdsException$Factory.createException(GoogleAdsException.java:34)
        at com.google.ads.googleads.lib.BaseGoogleAdsException$Factory.createGoogleAdsException(BaseGoogleAdsException.java:105)
        at com.google.ads.googleads.lib.callables.GoogleAdsExceptionTransformation.transform(GoogleAdsExceptionTransformation.java:36)
        at com.google.ads.googleads.lib.callables.ExceptionTransformingUnaryCallable$ExceptionTransformingFuture.onFailure(ExceptionTransformingUnaryCallable.java:82)
        at com.google.api.core.ApiFutures$1.onFailure(ApiFutures.java:68)
        at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1074)
        at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)
        at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1213)
        at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:983)
        at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:771)
        at com.google.api.gax.retrying.BasicRetryingFuture.handleAttempt(BasicRetryingFuture.java:200)
        at com.google.api.gax.retrying.CallbackChainRetryingFuture$AttemptCompletionListener.handle(CallbackChainRetryingFuture.java:135)
        at com.google.api.gax.retrying.CallbackChainRetryingFuture$AttemptCompletionListener.run(CallbackChainRetryingFuture.java:117)
        at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)
        ...................
        at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
        Suppressed: com.google.api.gax.rpc.AsyncTaskException: Asynchronous task failed
                at com.google.api.gax.rpc.ApiExceptions.callAndTranslateApiException(ApiExceptions.java:57)
                at com.google.api.gax.rpc.UnaryCallable.call(UnaryCallable.java:112)
                at com.google.ads.googleads.v9.services.AssetServiceClient.mutateAssets(AssetServiceClient.java:313)
                at com.google.ads.googleads.v9.services.AssetServiceClient.mutateAssets(AssetServiceClient.java:279)
                 ....................
Caused by: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Request contains an invalid argument.
        at io.grpc.Status.asRuntimeException(Status.java:535)
        ... 17 more

Google Ads API Forum Advisor

unread,
Dec 7, 2021, 9:58:01 AM12/7/21
to j...@eulerity.com, adwor...@googlegroups.com
Hi Joe,

Certain assets are still being added to accounts, as mentioned in this blog post. It mentions that the following assets will be available by the end of the year:
  • Price assets
  • Hotel Callout assets
  • Mobile App assets
  • Call assets
  • Call to action assets
If you are still unable to use this asset by the end of the year, please let us know. 

Regards,
Matt
Google Ads API Team



Reminder: Share your feedback about the Google Ads (AdWords) API! Take the 2021 Google Ads API and AdWords API Annual Survey
 
Google Logo
Matt
Google Ads API Team
 


ref:_00D1U1174p._5004Q2Ruvb2:ref
Reply all
Reply to author
Forward
0 new messages