In [8]:
from googleads import adwords

In [17]:
from StringIO import StringIO
import pandas as pd

In [52]:
def download_ad_data(client):
    client.SetClientCustomerId('306-430-9521')
    report_downloader = client.GetReportDownloader(version='v201705')
    report_query = ('SELECT CampaignId, AdGroupId, Id, Impressions, Clicks, Cost '
                    'FROM AD_PERFORMANCE_REPORT WHERE Status IN [ENABLED] '
                    'AND CampaignId=713525456 DURING 20170701, 20170702')    
    stream_data = report_downloader.DownloadReportAsStringWithAwql(
            report_query, 'CSV', skip_report_header=True, skip_column_header=False,
            skip_report_summary=True, include_zero_impressions=True)
    report_data = StringIO(stream_data)
    report_df = pd.DataFrame.from_csv(report_data, sep=',').reset_index()
    return report_df

In [47]:
adwords_client = adwords.AdWordsClient.LoadFromStorage()

In [48]:
data = download_ad_data(adwords_client)

In [53]:
data.sort_values(['Campaign ID', 'Ad group ID', 'Ad ID']).head()


Out[53]:
Campaign ID Ad group ID Ad ID Impressions Clicks Cost
941 713525456 39951089751 164632559215 0 0 0
942 713525456 39951089751 164632559218 0 0 0
2856 713525456 39951089911 164636934180 0 0 0
2857 713525456 39951089911 164636934183 0 0 0
2858 713525456 39951089911 164636934186 0 0 0

In [ ]: