Messwerte für Sichtbarkeit und ungültige Zugriffe abfragen

Übersicht

In den folgenden Anleitungen finden Sie Beispiele dafür, wie Sie Messwerte zu gültigen Zugriffen (Sichtbarkeit) und ungültigen Zugriffen über die API abfragen. Diese Messwerte sind auf Inventar beschränkt, das über Google Ads, Display & Video 360 und YouTube Reserve gekauft wurde.

Für vom MRC akkreditierte Messwerte zu TrueView-Aufrufen muss die ADH API verwendet werden, da keine zugehörige Abfragevorlage verfügbar ist. Die Messwerte für TrueView-Aufrufe dürfen nicht mit Sichtbarkeitsmesswerten verwechselt werden.

Wählen Sie die Kaufplattform aus, für die Sie Sichtbarkeitsmesswerte abfragen möchten:

Sichtbarkeitsmesswerte über die UI abfragen

Die Vorlage für die Sichtbarkeitsabfrage enthält vom MRC akkreditierte Messwerte.

Die MRC-Akkreditierung erfolgt binär – Ihre Ergebnisse können akkreditiert werden oder nicht – und gilt für die gesamte Ergebnistabelle. In BigQuery wird das Label adh-mrc-accredited auf alle vom MRC akkreditierten Ergebnisse angewendet. Sie müssen die Abfrage über die Vorlage ausführen, damit Ihre Messwerte vom MRC akkreditiert werden.

So führen Sie die Abfrage für vom MRC akkreditierte Messwerte über die Vorlage aus:

  1. Folgen Sie der Anleitung zum Erstellen einer Abfrage. Wählen Sie dabei YouTube Reserve als Kaufplattform und Sichtbarkeit von Videos als Abfragevorlage aus.
  2. Klicken Sie neben Vorlage verwenden auf die Schaltfläche Ausführen.

Messwerte für Sichtbarkeit und ungültige Zugriffe über die API abfragen

Messwerte für Sichtbarkeit und ungültige Zugriffe können mit den Endpunkten generateIvtReport und startAnalysis über die ADH API abgerufen werden. Für ungültige Zugriffe müssen die Messwerte über generateIvtReport abgerufen werden, damit das Label adh-mrc-accredited angewendet werden kann und Ihre Messwerte vom MRC akkreditiert werden können. Entsprechend muss die unten angegebene globale Abfrage für über die ADH API abgerufene Sichtbarkeitsmesswerte verwendet werden, die die MRC-Akkreditierung erhalten sollen. In diesem Abschnitt wird beschrieben, wie Sie die Python-Clientbibliothek verwenden, um eine Anfrage an diesen Endpunkt zu senden.

Folgen Sie den Schritten zur Einrichtung und Autorisierung/Authentifizierung in der API-Kurzanleitung.

Ersetzen Sie die folgenden Felder durch Ihre jeweiligen Kontodaten und führen Sie dann die Abfrage unten aus, um einen Bericht zu ungültigen Zugriffen für Ihre Kampagnen vom Typ YouTube Reserve abzurufen:

  • Clientschlüsseldatei
  • Kundennummer
  • API-Schlüssel
  • Order IDs
  • Zeitzone

Beispielcode

Ungültige Zugriffe

from __future__ import print_function
import json
import os.path
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build

# If modifying these scopes, delete the file `token.json`.
SCOPES = ['https://www.googleapis.com/auth/adsdatahub']
TOKEN_FILE = 'token.json'

creds = None

# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists(TOKEN_FILE):
    creds = Credentials.from_authorized_user_file(TOKEN_FILE, SCOPES)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
    if creds and creds.expired and creds.refresh_token:
        creds.refresh(Request())
    else:
        flow = InstalledAppFlow.from_client_secrets_file(
            'YOUR_CLIENT_SECRETS.json', SCOPES)
        creds = flow.run_local_server(port=0)
    # Save the credentials for the next run.
    with open(TOKEN_FILE, 'w') as token:
        token.write(creds.to_json())

service = build('adsdatahub', 'v1', credentials=creds,
                developerKey='YOUR_API_KEY',
                discoveryServiceUrl='https://adsdatahub.googleapis.com/$discovery/rest?version=v1&labels=')

body = {
    'ads_data_customer_id': YOUR_CUSTOMER_ID,
    'start_date': {
        'year': 2019,
        'month': 12,
        'day': 15
    },
    'end_date': {
        'year': 2019,
        'month': 12,
        'day': 20
    },
    'time_zone': 'YOUR_TIMEZONE',
    'yt_reserve_dimensions': {
        'order_ids': [YOUR_ORDER_IDS],
        'metric_type': 'METRIC_TYPE_IMPRESSION'
    },
    'dest_table': 'YOUR_DESTINATION_TABLE'
}

resp = service.customers().generateIvtReport(name='customers/YOUR_CUSTOMER_ID,
                                             body=body).execute()
print(json.dumps(resp))

Sichtbarkeitsmesswerte

from __future__ import print_function
import json
import os.path
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build

# If modifying these scopes, delete the file `token.json`.
SCOPES = ['https://www.googleapis.com/auth/adsdatahub']
TOKEN_FILE = 'token.json'

creds = None

# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists(TOKEN_FILE):
    creds = Credentials.from_authorized_user_file(TOKEN_FILE, SCOPES)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
    if creds and creds.expired and creds.refresh_token:
        creds.refresh(Request())
    else:
        flow = InstalledAppFlow.from_client_secrets_file(
            'YOUR_CLIENT_SECRETS.json', SCOPES)
        creds = flow.run_local_server(port=0)
    # Save the credentials for the next run.
    with open(TOKEN_FILE, 'w') as token:
        token.write(creds.to_json())

service = build('adsdatahub', 'v1', credentials=creds,
                developerKey='YOUR_API_KEY',
                discoveryServiceUrl='https://adsdatahub.googleapis.com/$discovery/rest?version=v1&labels=')

name = 'customers/global/analysisQueries/ad88e8562a8f4baa9c8522945fe95522'
body = {
  'spec': {
    'ads_data_customer_id': YOUR_CUSTOMER_ID,
    'start_date': {
      'year': 2019,
      'month': 12,
      'day': 15
    },
    'end_date': {
      'year': 2019,
      'month': 12,
      'day': 20
    },
    'time_zone': 'YOUR_TIMEZONE',
    'parameter_values': {
      'line_item_ids': {
        'array_value': {
          'values': [
            {
              'value': 'YOUR_LINE_ITEM_ID'
            },
          ]
        }
      }
    }
  },
  'dest_table': 'YOUR_DESTINATION_TABLE',
  'customer_id': YOUR_CUSTOMER_ID
}

resp = service.customers().analysisQueries().start(name=name,body=body).execute()
print(json.dumps(resp))