Hi,

I'm trying to use the Google Ads Beta API Interactive Search Query Builder 
<https://developers.google.com/google-ads/api/docs/query/interactive-gaql-builder>
 
with the google-ads-python <https://github.com/googleads/google-ads-python> 
Github 
repo to gather information for a dashboard. I'm successfully able to 
retrieve about half of the information I'm looking for, but some of the 
queries created by the Builder either return no data or indicate an error 
with the query that I do not understand.

Code I'm using to run the queries:

from __future__ import absolute_import
import argparse
import six
import sys
import google.ads.google_ads.client
_DEFAULT_PAGE_SIZE = 1000
def main(client, customer_id, page_size):
ga_service = client.get_service('GoogleAdsService', version='v2')

# ********************NOTES*********************
# query1 successfully returns data for: campaign.id, campaign.name, 
segments.ad_network_type, 
segments.device, campaign.shopping_setting.campaign_priority
# query1 returns no data for bidding_strategy.type, language_code, 
custom_parameters
query1 = ( 'SELECT campaign.id, campaign.name, '
'segments.ad_network_type, segments.device, '
'bidding_strategy.type, campaign.dynamic_search_ads_setting.language_code, 
' 
'campaign.shopping_setting.campaign_priority, '
'campaign_budget.type, campaign.url_custom_parameters '
'FROM campaign '
'LIMIT 20')
# query2 returns no data for bidding_strategy.type or name
query2 = ( 'SELECT bidding_strategy.type, bidding_strategy.name, '
'FROM bidding_strategy '
'LIMIT 20')

results = ga_service.search(customer_id, query=query#NUMBER#, page_size
=page_size)
print str(results)
try:
for row in results:
print '******** ROW DATA'
print str(row)
print('Campaign with ID %d and name/Priority "%s" was found.'
% (row.campaign.id.value, row.campaign.shopping_setting.campaign_priority))
# % (row.campaign.id.value, row.campaign.name.value))
except google.ads.google_ads.errors.GoogleAdsException as ex:
print 'Why are you so wrong?'
print('Request with ID "%s" failed with status "%s" and includes the '
'following errors:' % (ex.request_id, ex.error.code().name))
for error in ex.failure.errors:
print('\tError with message "%s".' % error.message)
if error.location:
for field_path_element in error.location.field_path_elements:
print('\t\tOn field: %s' % field_path_element.field_name)
sys.exit(1)
if __name__ == '__main__':
# GoogleAdsClient will read the google-ads.yaml configuration file in the
# home directory if none is specified.
google_ads_client = (google.ads.google_ads.client.GoogleAdsClient
.load_from_storage())
parser = argparse.ArgumentParser(
description='Lists all campaigns for specified customer.')
# The following argument(s) should be provided to run the example.
parser.add_argument('-c', '--customer_id', type=six.text_type,
required=True, help='The Google Ads customer ID.')
args = parser.parse_args()
main(google_ads_client, args.customer_id, _DEFAULT_PAGE_SIZE)



Here's a summary of the values I'm searching for, the query language I 
provided, and the responses I received.

*Fields that don't work in my queries:*
*- Desired Field : '*query formatting provided by Query Builder'

- *Bid Strategy Type .. this is query2 in the code above*: 
'bidding_strategy.type 
FROM bidding_strategy' 
----> returns no data, when requesting 'FROM campaign' response object 
comes back with other requested data but nothing for Bid Strategy Type
----> returns Invalid Argument Error when requesting 'FROM 
bidding_strategy' look at 'query2' in code below ..
Terminal Logs for my query2
Dylan-McBurnetts-MacBook-Pro:basic_operations dylanmcburnett$ 
./get_dylan_data.py -c 2036267401 
<google.api_core.page_iterator.GRPCIterator object at 0x10e526310> hello No 
handlers could be found for logger "google.ads.google_ads.client" Why are 
you so wrong? Request with ID "7CjQwf-ivGcDF1ApnrDmTQ" failed with status 
"INVALID_ARGUMENT" and includes the following errors: Error with message 
"Error in SELECT clause: invalid field name 'FROM'.".

- *Language Code* : 'campaign.dynamic_search_ads_setting.language_code FROM 
campaign'
-----> No data returned

- *Location*: 'location_view.resource_name FROM location_view' 
-----> No data returned

- *Active Bid Adjustment*: 'campaign_criterion.bid_modifier FROM 
campaign_criterion'

- *Custom Parameters: *'campaign.url_custom_parameters FROM campaign'

*Negative Keywords*: returns an empty object fro the query below
queryNegKey = ( 'SELECT '
     'keyword_plan_negative_keyword.id, '
     'keyword_plan_negative_keyword.keyword_plan_campaign, ' 
'keyword_plan_negative_keyword.match_type, 
keyword_plan_negative_keyword.resource_name '
'FROM keyword_plan_negative_keyword '
'LIMIT 50' )
- 
*Fields that do work: *queries for the values below all work indicating 
that my access and permissions are correct as far as I can tell
- Campaign ID: 'campaign.id'
- Campaign Name: 'campaign.name'
- Network : ' segments.ad_network_type'
- Delivery: 'campaign_budget.delivery_method'
- Device: 'segments.device'
- Campaign Priority: 'campaign.shopping_setting.campaign_priority'
- Attribution: 'conversion_action 
conversion_action.attribution_model_settings.attribution_model'

How can I properly retrieve my missing values listed above?
Please let me know if there's any additional information I can provide.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/0079ec30-2201-443d-9dc9-3bc04a898a22%40googlegroups.com.

Reply via email to