def get_campaign_with_email(client, email): # Initialize appropriate service. INFOS = [] campaign_service = client.GetService('CampaignService', version='v201809') # Construct query and get all campaigns. query = (adwords.ServiceQueryBuilder().Select( 'Id', 'Name', 'Status').Where('Name').EqualTo(email).OrderBy('Name').Limit( 0, PAGE_SIZE).Build()) for page in query.Pager(campaign_service): # Display results. if 'entries' in page: for campaign in page['entries']: INFOS.append({ "id": campaign['id'], "name": campaign['name'], "status": campaign['status'] }) print('Campaign with id "%s", name "%s", and status "%s" was ' 'found.' % (campaign['id'], campaign['name'], campaign['status'])) else: INFOS.append({"id": "", "name": "", "status": ""}) print('No campaigns were found.') return INFOS
def getCampaign(client, telephone): campaign_service = client.GetService('CampaignService', version='v201806') result = None response = "" query = (adwords.ServiceQueryBuilder() .Select('Id', 'Name', 'Status') .Where('Name').EqualTo(telephone) #ENABLED .OrderBy('Name') .Limit(0, PAGE_SIZE) .Build()) Page = query.Pager(campaign_service) for page in Page: # Display results. if 'entries' in page: for campaign in page['entries']: response = campaign['id'] if str(response).isdigit(): result = response else: result = result #print ('Campaign with id "%s", name "%s", and status "%s" was ' # 'found.' % (campaign['id'], campaign['name'], # campaign['status'])) else: result = result return result
def main(client, ad_group_id): # Initialize appropriate service. INFOS = [] campaign_service = client.GetService('AdGroupAdService', version='v201809') # Construct query and get all campaigns. query = (adwords.ServiceQueryBuilder().Select( 'Id', 'CombinedApprovalStatus').Where('Id').EqualTo(ad_group_id).Limit( 0, PAGE_SIZE).Build()) for page in query.Pager(campaign_service): # Display results. if 'entries' in page: for campaign in page['entries']: name = campaign['name'].split(' ') INFOS.append({ "id": campaign['id'], "name": name[0], "status": campaign['status'], "startDate": campaign['startDate'], "endDate": campaign['endDate'], "servingStatus": campaign['servingStatus'], }) print( 'Campaign with id "%s", name "%s", and status "%s", and serving status "%s" was ' 'found.' % (campaign['id'], campaign['name'], campaign['status'], campaign['servingStatus'])) else: INFOS.append({"id": "", "name": "", "status": ""}) print('No campaigns were found.') return INFOS
def main(client, ad_group_id): # Initialize appropriate service. ad_group_ad_service = client.GetService('AdGroupAdService', version='v201710') # Construct query and get all ads for a given campaign. query = (adwords.ServiceQueryBuilder().Select( 'Id', 'PolicySummary').Where('AdGroupId').EqualTo(ad_group_id).Where( 'CombinedApprovalStatus').EqualTo('DISAPPROVED').OrderBy( 'Id').Limit(0, PAGE_SIZE).Build()) disapproved_count = 0 # Display results. while True: page = ad_group_ad_service.query(query) if 'entries' in page: for ad in page['entries']: disapproved_count += 1 policy_summary = ad['policySummary'] print( 'Ad with id "%s" was disapproved with the following policy ' 'topic entries:' % ad['ad']['id']) # Display the policy topic entries related to the ad disapproval. for policy_topic_entry in policy_summary['policyTopicEntries']: print ' topic ID: %s, topic name: %s' % ( policy_topic_entry['policyTopicId'], policy_topic_entry['policyTopicName']) # Display the attributes and values that triggered the policy topic. if ('policyTopicEvidences' in policy_topic_entry and policy_topic_entry['policyTopicEvidences']): for evidence in policy_topic_entry[ 'policyTopicEvidences']: print(' evidence type: %s' % evidence['policyTopicEvidenceType']) evidence_text_list = evidence['evidenceTextList'] if evidence_text_list: for index, evidence_text in enumerate( evidence_text_list): print ' evidence text[%d]: %s' % ( index, evidence_text) if not query.HasNext(page): break query.NextPage() print '%d disapproved ads were found.' % disapproved_count
def main(client): # Initialize appropriate service. campaign_service = client.GetService('CampaignService', version='v201809') # Construct query and get all campaigns. query = (adwords.ServiceQueryBuilder().Select( 'Id', 'Name', 'Status').Where('Status').EqualTo('ENABLED').OrderBy('Name').Limit( 0, PAGE_SIZE).Build()) for page in query.Pager(campaign_service): # Display results. if 'entries' in page: for campaign in page['entries']: print(('Campaign with id "%s", name "%s", and status "%s" was ' 'found.' % (campaign['id'], campaign['name'], campaign['status']))) else: print('No campaigns were found.')
def main(client, ad_group_id, criterion_id): # Initialize appropriate service. data_service = client.GetService('DataService', version='v201809') # Create a query to select all keyword bid simulations for the specified # ad group and criterion ID. query = (adwords.ServiceQueryBuilder() .Select( 'AdGroupId', 'CriterionId', 'StartDate', 'EndDate', 'Bid', 'BiddableConversions', 'BiddableConversionsValue', 'LocalClicks', 'LocalCost', 'LocalImpressions') .Where('AdGroupId').EqualTo(ad_group_id) .Where('CriterionId').EqualTo(criterion_id) .Limit(0, PAGE_SIZE) .Build()) while True: page = data_service.queryCriterionBidLandscape(query) if page and 'entries' in page: entries = page['entries'] print(('Bid landscape(s) retrieved: %d.' % len(entries))) for bid_landscape in entries: print(('Retrieved keyword bid landscape with ad group ID "%d", ' 'keyword ID "%d", start date "%s", end date "%s", ' 'with landscape points:' % ( bid_landscape['adGroupId'], bid_landscape['criterionId'], bid_landscape['startDate'], bid_landscape['endDate']))) for bid_landscape_point in bid_landscape['landscapePoints']: print((' bid: %s => clicks: %s, cost: %s, impressions: %s, ' 'biddable conversions: %.2f, ' 'biddable conversions value: %.2f' % (bid_landscape_point['bid']['microAmount'], bid_landscape_point['clicks'], bid_landscape_point['cost']['microAmount'], bid_landscape_point['impressions'], bid_landscape_point['biddableConversions'], bid_landscape_point['biddableConversionsValue']))) if not query.HasNext(page): break query.NextPage()
def prepare_service_query(client: AdWordsClient, data_source: GoogleAdwordsDataSource): """ Prepare a query on the data_source defined service with the data_source given clauses """ service = client.GetService(data_source.service) service_query_builder = adwords.ServiceQueryBuilder() # Build select service_query_builder.Select(data_source.columns) # Build Where apply_filter(service_query_builder, data_source.parameters) # Build Orderby service_query_builder.OrderBy( data_source.orderby['column'], data_source.orderby['direction'] ) # Build Limit if not data_source.limit: data_source.limit = 100 service_query_builder.Limit(0, int(data_source.limit)) return service, service_query_builder.Build()
def main(client): # Initialize appropriate service. user_list_service = client.GetService('AdwordsUserListService', version='v201806') conversion_tracker_service = client.GetService('ConversionTrackerService', version='v201806') # Construct operations and add a user list. operations = [{ 'operator': 'ADD', 'operand': { 'xsi_type': 'BasicUserList', 'name': 'Mars cruise customers #%s' % uuid.uuid4(), 'description': 'A list of mars cruise customers in the last year', 'membershipLifeSpan': '365', 'conversionTypes': [{ 'name': ('Mars cruise customers #%s' % uuid.uuid4()) }], # Optional field. 'status': 'OPEN', } }] user_list_result = user_list_service.mutate(operations) # Capture the ID(s) of the conversion. if 'value' in user_list_result: conversion_ids = [] for user_list in user_list_result['value']: if user_list['conversionTypes']: for conversion_type in user_list['conversionTypes']: conversion_ids.append(conversion_type['id']) # Create query. query = (adwords.ServiceQueryBuilder().Select( 'Id', 'GoogleGlobalSiteTag', 'GoogleEventSnippet').Where('Id').In(*conversion_ids).Limit( 0, PAGE_SIZE).Build()) conversions_map = {} # Get all conversion trackers. for page in query.Pager(conversion_tracker_service): if 'entries' in page: for conversion_tracker in page['entries']: conversions_map[ conversion_tracker['id']] = conversion_tracker for user_list in user_list_result['value']: print('User list with name "%s" and ID "%s" was added.' % (user_list['name'], user_list['id'])) if user_list['conversionTypes']: for conversion_type in user_list['conversionTypes']: conversion_tracker = conversions_map[conversion_type['id']] print('Google global site tag:\n%s\n\n' % conversion_tracker['googleGlobalSiteTag']) print('Google event snippet:\n%s\n\n' % conversion_tracker['googleEventSnippet']) else: print 'No user lists were added.'