Posts tagged with google-ads-api

I set Google Ads search and responsive display campaigns and enabled the manual UTM tag for GA analytics. As I want to know which ad format the traffics are from so I use 'Video', 'Display' and 'Text' as medium parameter.

However, when the campaigns were launched and reported in GA, a great amount of traffic are still from 'google / cpc', even though the destination URL are shown with correct UTM tag. It doesn't seem like the utm is incorrect when there are some traffics that are successfully reported as 'google / text' as well. Image 1: GA's source/medium report shows 'google / cpc' even though the destination url uses 'text' or 'display' as a medium

Another piece of information and question is that all of the 'cpc' medium are categorised by GA as 'Text' ad format, when all successful UTM medium are set to 'not set' ad format. Could you help explain why? Image 2: 'google / cpc' traffics are from 'Text' ad format while the other successful UTM read traffics are grouped as 'not set'

Lastly, when looking into the 'Ad Slot', most of the traffic from 'cpc' medium are from 'Google Search. For the 'Google Display Network', I understand that one of the ad formats from the responsive ad is the 'text' format so I consider all the issues are from only 'text' ads. But I am not sure because the Ad Slot is set to 'not set' for those success UTM so I cannot really compare the results here. Image 3: Most of the 'google / cpc' traffics are from 'Google Search'

Could anybody help explain why and, if possible, suggest how to avoid this?

I am new to Google Adwords. I have completed all initial configuration and integration required to use Adwords API. I have a test client account and I am able to get campaigns from that account. I also completed uploading offline data integration.

 // Upload offline data on the server and print some information.     OfflineDataUploadReturnValue returnValue =         offlineDataUploadService.mutate(operations.toArray(new OfflineDataUploadOperation[0]));     offlineDataUpload = returnValue.getValue(0);     System.out.printf(     "Uploaded offline data with external upload ID %d, and upload status %s.%n",     offlineDataUpload.getExternalUploadId(), offlineDataUpload.getUploadStatus()); 

But when I run the code to upload the data, I am facing below error:-

Request failed due to ApiException. Underlying ApiErrors:   Error 0: NotWhitelistedError{apiErrorType=NotWhitelistedError, errorString=NotWhitelistedError.CUSTOMER_NOT_WHITELISTED_FOR_API, fieldPath=, reason=CUSTOMER_NOT_WHITELISTED_FOR_API, trigger=} 

As I said earlier I am new to the Google AdWords, so any suggestion and help will be gladly appreciated. Thank you in advance!

Note - Below all these points I am doing manually, I want to make it automatically with programming.

I have several questions regarding "google-cloud-iam"

Are these below points are possible programmatically via "google-cloud-iam" any type of API?

  1. Do Link Google Adwords account with Google analytics (User is using the same Gmail account for AdWords and Analytics account)
  2. Create a project in the cloud google console, enable "Analytics API", create a service account, and download the P12 Key at the server-side or client-side.
  3. Add Service account id in Google Analytics user management

Hoping this community can help. We have a mobile app on iOS only. So, we haven't implemented any IDFA libraries to track conversions via Google Ads and relied solely on the Vendor Identifier. However, we're seeing a significant drop in performance/conversion tracking within Google Ads compared to 2019 where we'd see thousands of installs.

Per Google Ads support recommendation, we updated the Firebase SDK with the SKAdNetwork automatically calling registerAppForAdNetworkAttribution, but still seeing no conversions registered in Google Ads. All integrations within Firebase are correct.

Without having to add in the IDFA libraries, is there any other recommendation you have? Adding a specific plist dictionary for Google Ads or additional API calls? I found one for AdMods but we don't do any in-app advertising so assuming that's not applicable to us.

Any assistance would help!

Thanks in advance.

I'm trying to pull a report from the Google Ads API into Google sheets and I can't get the API to recognize my query as a query

Here's the code and error I'm getting:

    function basicReport() {   var query = {     "query" : "SELECT campaign.name, campaign.status FROM campaign ORDER BY campaign.id"   };      var body = JSON.stringify(query);      var head = {     'Developer-token' : "<Dev token>",     'login-customer-id' : <Manager ID>,     'Authorization' : "Bearer <Auth token>",   }; var options = {   'method' : 'POST',   'content-type': 'application/json',   'headers' : head,   'payload' : body,   'muteHttpExceptions' : true };    var response = UrlFetchApp.fetch('https://googleads.googleapis.com/v4/customers/<Customer ID>/googleAds:searchStream', options);   var json = response.getContentText();   var data = JSON.parse(json); 

But I constantly get the error:

"error": {     "code": 400,     "message": "Invalid JSON payload received. Unknown name \"{\"query\":\"SELECT campaign.name, campaign.status FROM campaign ORDER BY campaign.id\"}\": Cannot bind query parameter. Field '{\"query\":\"SELECT campaign' could not be found in request message.",     "status": "INVALID_ARGUMENT",     "details": [       {         "@type": "type.googleapis.com/google.rpc.BadRequest",         "fieldViolations": [           {             "description": "Invalid JSON payload received. Unknown name \"{\"query\":\"SELECT campaign.name, campaign.status FROM campaign ORDER BY campaign.id\"}\": Cannot bind query parameter. Field '{\"query\":\"SELECT campaign' could not be found in request message." 

I've run the query in OAuth playground (https://developers.google.com/oauthplayground) and it worked there, so I know the query is ok.

I've tried passing the body as an object not a string, but then I get a 500 error.