def _adjust_bids(): client = AdWords(workdir='./tests/generated_files') for keyword in _get_keywords_report(client): entry = { 'object_type': 'keyword', 'cpc_bid': 4.20, 'client_id': keyword['ExternalCustomerId'], 'campaign_id': keyword['CampaignId'], 'adgroup_id': keyword['AdGroupId'], 'criteria_id': keyword['Id'], 'operator': 'SET', } client.insert(entry) for adgroup in _get_adgroups_report(client): entry = { 'object_type': 'adgroup', 'cpc_bid': 4.20, 'client_id': adgroup['ExternalCustomerId'], 'campaign_id': adgroup['CampaignId'], 'adgroup_id': adgroup['AdGroupId'], 'operator': 'SET', } client.insert(entry) operations_folder = client.split() client.execute_operations(operations_folder) return client.wait_jobs(operations_folder)
def _create_campaign(): client = AdWords(workdir='./tests/generated_files') client.insert( { 'object_type': 'campaign', 'client_id': 7857288943, 'campaign_id': -1, 'budget': 1000, 'campaign_name': 'API test campaign', 'locations': [1001773, 1001768], # Sao Paulo, Sao Caetano 'languages': [1014, 1000], # Portuguese, English 'status': 'PAUSED', } ) client.insert( { 'object_type': 'adgroup', 'client_id': 7857288943, 'campaign_id': -1, 'adgroup_id': -2, 'adgroup_name': 'API test adgroup', 'cpc_bid': 13.37, } ) client.insert( { 'object_type': 'keyword', 'client_id': 7857288943, 'campaign_id': -1, 'adgroup_id': -2, 'text': 'my search term', 'keyword_match_type': 'broad', 'status': 'PAUSED', 'cpc_bid': 13.37, } ) client.insert( { 'object_type': 'ad', 'client_id': 7857288943, 'campaign_id': -1, 'adgroup_id': -2, 'headline_part_1': 'Ad test', 'headline_part_2': 'my pretty test', 'description': 'This is my test ad', 'path_1': 'test', 'path_2': 'ad', 'final_urls': 'http://www.mytest.com/', 'final_mobile_urls': 'http://m.mytest.com/', } ) operations_folder = client.split() client.execute_operations(operations_folder) return client.wait_jobs(operations_folder)
def _delete_campaigns(): client = AdWords(workdir='./tests/generated_files') new_report_df = reports.get_campaigns_report(client, 7857288943, 'CampaignStatus != "REMOVED"', fields=True) for campaign in new_report_df: entry = { 'object_type': 'campaign', 'client_id': 7857288943, 'campaign_id': campaign['CampaignId'], 'campaign_name': 'API test campaign', 'operator': 'SET', 'status': 'REMOVED', } client.insert(entry) operations_folder = client.split() client.execute_operations(operations_folder) return client.wait_jobs(operations_folder)