Descripción general
En las siguientes instrucciones, se proporcionan ejemplos de cómo consultar el tráfico de visibilidad válido y el tráfico no válido con la API. Estas métricas se limitan al inventario comprado con Google Ads y Display & Video 360.
Ten en cuenta que las métricas de vistas de TrueView acreditadas por el MRC requieren el uso de la API de ADH, ya que no hay una consulta con plantilla asociada. Además, las métricas de vistas de TrueView no deben confundirse con las métricas de visibilidad.
Selecciona el canal de compra para el que deseas consultar las métricas de visibilidad:
Consulta las métricas de visibilidad con la IU
La consulta de visibilidad con plantilla proporciona métricas acreditadas por el MRC.
La acreditación del MRC es binaria (tus resultados pueden estar acreditados o no) y se aplica a toda la tabla de resultados. Para que tus métricas cuenten con la acreditación del MRC, debes ejecutar la consulta a través de la plantilla, sin modificarla, y en el modo de verificación de diferencias. La acreditación del MRC del Centro de Datos de Anuncios no se extiende a las consultas que se ejecutan en el modo con ruido.
Para ejecutar la consulta acreditada por el MRC a través de la plantilla, sigue estos pasos:
- Sigue las instrucciones para crear una consulta y asegúrate de seleccionar Google Ads como el canal de compra y Visibilidad de video por tipo de dispositivo como la plantilla de consulta.
- Haz clic en el botón Ejecutar junto a Usar plantilla.
Consulta las métricas de visibilidad y tráfico no válido con la API
Las métricas de visibilidad y tráfico no válido se pueden recuperar de la API de ADH con los extremos generateIvtReport y startAnalysis. En el caso del tráfico no válido, tus métricas se deben recuperar a través de generateIvtReport para que se aplique la etiqueta de adh-mrc-accredited y tus métricas estén acreditadas por el MRC. Del mismo modo, la consulta global que se especifica a continuación se debe usar para las métricas de visibilidad a través de la API de ADH para la acreditación del MRC. En esta sección, se explica cómo enviar una solicitud a este extremo con la biblioteca cliente de Python.
Sigue las instrucciones de configuración y autorización o autenticación que se indican en la guía de inicio rápido de la API.
Después de reemplazar los siguientes campos por información relevante para tu cuenta, puedes ejecutar la consulta que aparece a continuación para recuperar un informe de tráfico no válido de tus campañas de Google Ads :
- Archivo de secretos del cliente
- ID de cliente
- Clave de API
- Campaign IDs
- Zona horaria
Código de muestra
Tráfico no válido
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', static_discovery=False)
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',
# Optional. Defaults to 'DAY' (one set of rows per day). Use
# 'ENTIRE_DATE_RANGE' for a single set of rows covering the whole range.
'date_dimension_granularity': 'DAY',
'google_ads_dimensions': {
'campaign_ids': [YOUR_CAMPAIGN_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 visibilidad
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', static_discovery=False)
name = 'customers/global/analysisQueries/f41320e7296d49158e572aba662f35b1'
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': {
'campaign_ids': {
'array_value': {
'values': [
{
'value': 'YOUR_CAMPAIGN_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))
Calcula las métricas de visibilidad netas del tráfico no válido general
Usa las siguientes fórmulas para obtener las métricas de visibilidad acreditadas por el MRC netas de tráfico no válido general (GIVT):
- Impresiones totales (netas de GIVT): Impresiones totales - Impresiones no válidas generales
- Impresiones visibles (netas de GIVT) = Impresiones visibles + Impresiones visibles no válidas - Impresiones visibles de GIVT
- Impresiones medibles (netas de GIVT): Impresiones medibles + impresiones medibles no válidas - impresiones medibles de GIVT
- Impresiones aptas (netas de GIVT): Impresiones aptas + impresiones aptas no válidas - impresiones aptas de GIVT
- Impresión no visible (neta de GIVT) : Impresiones medibles (netas de GIVT) - Impresiones visibles (netas de GIVT)
- Impresiones no medibles (netas de GIVT): Impresiones aptas (netas de GIVT) - Impresiones medibles (netas de GIVT)
- % de impresiones medibles (netas de GIVT): Impresiones medibles (netas de GIVT) / Impresiones aptas (netas de GIVT)
- % de impresiones visibles (netas de GIVT): Impresiones visibles (netas de GIVT) / Impresiones medibles (netas de GIVT)