Обзор
В приведенных ниже инструкциях приведены примеры того, как с помощью API запросить как действительный, так и недействительный трафик видимости . Эти показатели ограничены инвентарем, приобретенным с помощью Google Рекламы, Display & Video 360 и резерва YouTube.
Обратите внимание, что метрики представления TrueView , аккредитованные MRC, требуют использования API ADH, поскольку связанный шаблонный запрос отсутствует. Кроме того, показатели просмотра TrueView не следует путать с показателями видимости.
Выберите дверь покупки, для которой вы хотите запросить показатели видимости:
Запрос показателей видимости с помощью пользовательского интерфейса
Шаблонный запрос видимости предоставляет метрики, аккредитованные MRC.
Аккредитация MRC является двоичной — ваши результаты могут быть аккредитованы или нет — и применяется ко всей вашей таблице результатов. В BigQuery метка adh-mrc-accredited
применяется ко всем результатам, аккредитованным MRC. Вам необходимо выполнить запрос через шаблон, чтобы ваши метрики были аккредитованы MRC.
Чтобы запустить запрос, аккредитованный MRC, через шаблон:
- Следуйте инструкциям по созданию запроса , убедившись, что вы выбралиYouTube Reserve в качестве двери для покупки, а видимость видео — в качестве шаблона запроса.
- Нажмите кнопку «Выполнить» рядом с пунктом «Использовать шаблон» .
Запрос недействительного трафика и показателей видимости с помощью API
Недопустимые показатели трафика и видимости можно получить из API ADH с помощью generateIvtReport
и конечные точки startAnalysis
. Для недействительного трафика ваши метрики должны быть получены с помощью generateIvtReport
для того, чтобы можно было применить метку adh-mrc-accredited
и ваши показатели были аккредитованы MRC. Аналогичным образом, указанный ниже глобальный запрос необходимо использовать для получения показателей видимости через API ADH для аккредитации MRC. В этом разделе описано, как отправить запрос в эту конечную точку с помощью клиентской библиотеки Python.
Следуйте инструкциям по настройке и авторизации/аутентификации в кратком руководстве по API .
После замены следующих полей информацией, относящейся к вашей учетной записи, вы можете запустить приведенный ниже запрос, чтобы получить отчет о недействительном трафике для вашего аккаунта. YouTube Reserve кампании:
- Секретный файл клиента
- Идентификатор клиента
- API-ключ
- Order IDs
- Часовой пояс
Пример кода
Неверный трафик
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))
Показатели видимости
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))
Рассчитайте показатели видимости без учета общего недействительного трафика.
Используйте следующие формулы для получения показателей видимости, аккредитованных MRC, за вычетом общего недействительного трафика (GIVT):
- Общее количество показов (без учета GIVT): общее количество показов – общие недействительные показы
- Показы в видимой области экрана (без учета GIVT): показы в видимой области экрана + недействительные показы в видимой области экрана – показы в видимой области экрана GIVT
- Отслеживаемые показы (без учета GIVT): отслеживаемые показы + недействительные отслеживаемые показы – отслеживаемые показы GIVT
- Допущенные показы (без учета GIVT): допущенные показы + недействительные допущенные показы – допущенные к показам GIVT.
- Показы в невидимой области экрана (без учета GIVT): отслеживаемые показы (без учета GIVT) – показы в видимой области экрана (без учета GIVT).
- Неотслеживаемые показы (без учета GIVT): Допущенные показы (без учета GIVT) – отслеживаемые показы (без учета GIVT)
- % отслеживаемых показов (без учета GIVT): отслеживаемые показы (без учета GIVT) / допущенные показы (без учета GIVT)
- % показов в видимой области экрана (без учета GIVT): показы в видимой области экрана (без учета GIVT) / отслеживаемые показы (без учета GIVT)