I am trying to create a customer client in my Google Ads test account but I receive the following error:

{"errors":[{"error_code":{"not_allowlisted_error":"CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE"},"message":"Customer is not allowlisted for accessing this feature."}],"request_id":"ApWtRj1nJ19MiT-I2Y3EoA"} 

This is my code for creating the customer client (I am using the google-ads-api library)

const client = new GoogleAdsApi({     client_id,     client_secret,     developer_token }); let managerId = "xxx"; let testAccountId = "xxx"; let refreshToken = "xxx"; const customer = client.Customer({     login_customer_id: testAccountId,     customer_id: testAccountId,     refresh_token }); const response = await customer.customers.createCustomerClient({     customer_id: managerId,     customer_client: {         currency_code: "EUR",         descriptive_name: "My customer client",         time_zone: "Europe/London",         resource_name: `customers/${managerId}`     },     email_address: "test@test.io",     access_role: "STANDARD",     validate_only: false,     toJSON: null, }); console.log("response:", response); 

This only thing I can find about it is here: [1]: https://developers.google.com/google-ads/api/reference/rpc/v5/NotAllowlistedErrorEnum.NotAllowlistedError

But it does not clarify anything. I can also not test it on my production Google Ads account since my developer token has to been validated.

Why can't I create a customer client account?

I am trying to access the metrics for client accounts using the Google Ads API, through the Python client.

Currently I'm using a modified version of the get_campaign_stats_to_csv.py example, with the query:

import datetime last_three_days = datetime.datetime.today() - datetime.timedelta(days=3) query = """     SELECT          customer.descriptive_name,          metrics.cost_micros      FROM customer      WHERE          segments.date > '{last_three_days}'          AND segments.date <= '{today}'""".format(             last_three_days=last_three_days.strftime('%Y-%m-%d'),             today=datetime.datetime.today().strftime('%Y-%m-%d')) 

It requires the commandline argument --customer_id= of the account we're reporting on, used as follows:

search_request.customer_id = customer_id # e.g., '--customer_id=1234567890' 

The problem is that when I use my Manager account customer id 1234567890, I get the error:

error_code {     query_error: REQUESTED_METRICS_FOR_MANAGER   }   message: "Metrics cannot be requested for a manager account. To retrieve metrics, issue  separate requests against each client account under the manager account." } 

Which I assume means using the client id. But when I use the client ID 0987654321, I get the error:

error_code {     authorization_error: USER_PERMISSION_DENIED   }   message: "User doesn\'t have permission to access customer. Note: If you\'re accessing a  client customer, the manager\'s customer id must be set in the \'login-customer-id\'  header. See https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid" } 

The link in the error message leads to the following header:

Which brings me back to square one, where the API spits the dummy when I use the Manager Account ID.

I've checked out this stack overflow question, but I think we're having different problems, as all my accounts have the red 'TEST ACCOUNT' flag next to them.

As a final note: there are two test client accounts, both which I've set up with quasi campaigns.

The situation is quite complicated to me, let's say:

  1. I have 3 product categories.
  2. I only want to track purchases.

However, if you insert the tracking snippet into the thank you page, each product category will trigger the same tag. customers who buy dresses and customers who buy guns may look totally different. so, if you use the same thank you page to track the conversions, the Google Ads AI will have trouble in optimizing your campaigns:

  • A. Dresses sales campaign
  • B. Guns sales campaign

When people buy a dress, the dress conversion and gun conversion will both increase by one, although the transaction amounts are different by default. This shows that the conversion is contaminating with another campaign (the gun sales campaign).

I'm trying to work with google ads API I got all the authentication in place on yaml file. and I'm ready to start requesting info from the Google API

I downloaded the generate_keyword_ideas.py file from google GitHub this is the file here: https://github.com/googleads/google-ads-python/blob/ee2c059498d5679a0d1d9011f3795324439fad7c/examples/planning/generate_keyword_ideas.py

in short the file function takes all these inputs

def main(client, customer_id, location_ids, language_id, keyword_texts, page_url

)

when i run the main file i get this error message:

usage: main.py [-h] -c CUSTOMER_ID [-k KEYWORD_TEXTS [KEYWORD_TEXTS ...]]            [-l LOCATION_IDS [LOCATION_IDS ...]] [-i LANGUAGE_ID]            [-p PAGE_URL] main.py: error: the following arguments are required: -c/--customer_id 

I don't know what kind of input customer_id takes, coz I got my 10 digits id from google ads and I thought that's what it is but its not, and also what is -c? and how can I fill both of them?, iv been trying for a long time and nothing is working .. please help thanks

We have created test creds on Google ADs platform.Generated developer token, OAuth client ID and secret, and refresh token. We have created one campaign in the test account.

Now, we are trying to call Google ADs API's getCampaign() API with test creds (using clientID and client secret). In response we are getting status as OK, but no campaign related details are getting returned. Below is the request and response string:

Request

MethodName: google.ads.googleads.v7.services.GoogleAdsService/SearchStream Endpoint: googleads.googleapis.com:443 Headers: {developer-token=REDACTED, x-goog-api-client=gl-java/15.0.2 gapic/ gax/1.63.0 grpc/1.36.0} Body: customer_id: "6377058490" query: "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id" 

Response:

Headers: Metadata(content-type=application/grpc,request-id=sNH3h8fggnVsl1okVEEl-g,date=Tue, 15 Jun 2021 08:00:45 GMT,alt-svc=h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43") Body: null Failure message: null Status: Status{code=OK, description=null, cause=null}.