Consulte métricas de visibilidade e tráfego inválido

Vista geral

As instruções abaixo fornecem exemplos de como consultar o tráfego de visibilidade válido e o tráfego inválido através da API. Estas métricas estão limitadas ao inventário comprado através do Google Ads, do Display & Video 360 e do YouTube Reserve.

Tenha em atenção que as métricas de visualizações da visualização TrueView acreditadas pelo MRC requerem a utilização da API ADH, uma vez que não existe uma consulta com base em modelos associada. Além disso, as métricas de visualizações da visualização TrueView não devem ser confundidas com as métricas de visibilidade.

Selecione a plataforma de compras para a qual quer consultar métricas de visibilidade:

Consulte métricas de visibilidade com a IU

A consulta de visibilidade baseada em modelos fornece métricas acreditadas pelo MRC.

A acreditação pelo MRC é binária, ou seja, os resultados podem ser acreditados ou não, e aplica-se a toda a tabela de resultados. No BigQuery, a etiqueta adh-mrc-accredited é aplicada a todos os resultados acreditados pelo MRC. Tem de executar a consulta através do modelo para que as suas métricas sejam acreditadas pelo MRC.

Para executar a consulta acreditada pelo MRC através do modelo:

  1. Siga as instruções sobre como criar uma consulta, certificando-se de que seleciona YouTube Reserve como a plataforma de compras e Visibilidade dos vídeos como o modelo da consulta.
  2. Clique no botão Executar junto a Usar modelo.

Consulte métricas de visibilidade e tráfego inválido com a API

As métricas de visibilidade e tráfego inválido podem ser obtidas a partir da API ADH com os pontos finais generateIvtReport e startAnalysis. Para o tráfego inválido, é necessário obter as métricas através do generateIvtReport para que a etiqueta adh-mrc-accredited seja aplicada e as suas métricas sejam acreditadas pelo MRC. Da mesma forma, a consulta global especificada abaixo tem de ser usada para métricas de visibilidade através da API ADH para acreditação pelo MRC. Esta secção aborda a forma de enviar um pedido para este ponto final com a biblioteca cliente Python.

Siga as instruções de configuração e autorização/autenticação no guia de início rápido da API.

Depois de substituir os seguintes campos por informações relevantes para a sua conta, pode executar a consulta abaixo para obter um relatório de tráfego inválido para as suas campanhas YouTube Reserve :

  • Ficheiro de segredos do cliente
  • ID de cliente
  • Chave da API
  • Order IDs
  • Fuso horário

Exemplo de código

Tráfego inválido

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))

Métricas de visibilidade

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))