Как запрашивать показатели видимости и недействительного трафика

Обзор

Приведенные ниже инструкции содержат примеры того, как с помощью API запрашивать как действительный , так и недействительный трафик . Эти метрики ограничены рекламными местами, приобретенными через Google Ads, Display & Video 360 и YouTube Reserve.

Обратите внимание, что для получения аккредитованных MRC метрик просмотра TrueView требуется использование API ADH, поскольку соответствующий шаблонный запрос отсутствует. Кроме того, метрики просмотра TrueView не следует путать с метриками видимости.

Выберите точку входа для покупки, для которой вы хотите запросить показатели видимости:

Запрос метрик видимости с помощью пользовательского интерфейса.

Запрос, использующий шаблон для оценки видимости, предоставляет метрики, аккредитованные MRC.

Аккредитация MRC является бинарной — ваши результаты могут быть аккредитованы или нет — и применяется ко всей таблице результатов. В BigQuery метка adh-mrc-accredited применяется ко всем результатам, аккредитованным MRC. Для аккредитации метрик MRC необходимо выполнить запрос через шаблон.

Чтобы выполнить запрос, аккредитованный MRC, через шаблон:

  1. Следуйте инструкциям по созданию запроса , обязательно выбрав соответствующий пункт.Google Ads в качестве способа совершения покупки, а в качестве шаблона запроса — показатель видимости видео .
  2. Нажмите кнопку «Выполнить» рядом с пунктом «Использовать шаблон» .

Запрос некорректных показателей трафика и видимости с помощью API.

Некорректные показатели трафика и видимости можно получить из API ADH с помощью функции generateIvtReport и конечные точки startAnalysis . Для недопустимого трафика ваши метрики необходимо получить через generateIvtReport Для того чтобы была применена метка adh-mrc-accredited и ваши метрики получили аккредитацию MRC, необходимо использовать указанный ниже глобальный запрос для получения метрик видимости через API ADH для аккредитации MRC. В этом разделе описывается, как отправить запрос к этой конечной точке с помощью клиентской библиотеки Python.

Следуйте инструкциям по настройке и авторизации/аутентификации, приведенным в кратком руководстве по API .

После замены следующих полей информацией, относящейся к вашей учетной записи, вы можете выполнить приведенный ниже запрос, чтобы получить недействительный отчет о трафике для вашей учетной записи. Google Ads кампании:

  • файл секретов клиента
  • Идентификатор клиента
  • ключ API
  • Campaign 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',
    '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))

Показатели видимости

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

Рассчитайте показатели видимости за вычетом общего недействительного трафика.

Для получения аккредитованных MRC показателей видимости за вычетом общего недействительного трафика (GIVT) используйте следующие формулы:

  • Общее количество впечатлений (за вычетом общего объема недействительных впечатлений): Общее количество впечатлений - Общее количество недействительных впечатлений
  • Доступные для просмотра показы (за вычетом GIVT): Доступные для просмотра показы + Недействительные доступные для просмотра показы - Доступные для просмотра показы GIVT
  • Измеримые впечатления (за вычетом GIVT): Измеримые впечатления + Недействительные измеримые впечатления - Измеримые впечатления GIVT
  • Допустимые показы (за вычетом GIVT): Допустимые показы + Недопустимые допустимые показы - Допустимые показы GIVT
  • Невидимые показы (за вычетом GIVT): Измеримые показы (за вычетом GIVT) - Видимые показы (за вычетом GIVT)
  • Неизмеримые показы (за вычетом GIVT): Допустимые показы (за вычетом GIVT) - Измеримые показы (за вычетом GIVT)
  • % Измеримых показов (за вычетом GIVT): Измеримые показы (за вычетом GIVT) / Допустимые показы (за вычетом GIVT)
  • % видимых показов (за вычетом GIVT): Видимые показы (за вычетом GIVT) / Измеримые показы (за вычетом GIVT)