Sprache auswählen

Dieses Python 3-Code-Snippet demonstriert die Verwendung der Google Ads API (früher bekannt als AdWords API), um einen Bericht zu generieren und abzurufen. Der Code kann modifiziert werden, um alle Arten von Berichten abzurufen (im Beispiel wird ein Bericht vom Typ CLICK_PERFORMANCE_REPORT als CSV angefordert).

 

Voraussetzungen

  • App Setup in der Google Developer Console wobei die Google Ads API aktiviert werden muss
  • Google Ads API Key (zu finden im MCC unter TOOLS & SETTINGS > SETUP > API Center)
  • Generieren Sie ein Refresh-Token mit dem Skript generate_refresh_token.py aus den Google Ads API-Beispielen
  • Kopieren Sie die Beispieldatei googleAds.yaml aus den Google Ads API Beispielen in Ihr Skriptverzeichnis und fügen Sie Ihre Client-ID, Client-Secret, API Key und Ihr Refresh-Token ein
  • Installieren sie die Google Ads Python Library (pip install googleads)

 

Code Snippet


#!/usr/bin/python3
# -*- coding: UTF-8 -*-

from googleads import adwords
from googleads import errors
import time
import datetime
import os
import sys

if __name__ == '__main__':

  ## initialize google adwords client object
  adwords_client = adwords.AdWordsClient.LoadFromStorage("googleAds.yaml")

  ## set your customer-ID
  adwords_client.SetClientCustomerId('123-456-7890')

  report_downloader = adwords_client.GetReportDownloader(version='v201809')

  ## get CLICK_PERFORMANCE report for yesterday as an example
  report_date = datetime.datetime.now()-datetime.timedelta(days=1)
  report_date_string = report_date.strftime("%Y%m%d")

  ## build the report query
  report_query = (adwords.ReportQueryBuilder()
      .Select('GclId','CampaignName', 'AdGroupName', 'CriteriaParameters')
      .From('CLICK_PERFORMANCE_REPORT')
      .During(start_date=report_date_string,end_date=report_date_string)
      .Build())

  ## download the report as CSV into string
  csv_report = report_downloader.DownloadReportWithAwql(
      report_query, 'CSV', skip_report_header=True,
      skip_column_header=True, skip_report_summary=True,
      include_zero_impressions=False)

   ## do whatever you want with the generated report