قابلیت مشاهده و معیارهای ترافیک نامعتبر را جستجو کنید

بررسی اجمالی

دستورالعمل‌های زیر نمونه‌هایی از نحوه پرس و جو از ترافیک قابل مشاهده معتبر و ترافیک نامعتبر با استفاده از API را ارائه می‌دهند. این معیارها محدود به موجودی خریداری شده با استفاده از Google Ads، Display & Video 360، و YouTube Reserve است.

توجه داشته باشید که معیارهای مشاهده TrueView معتبر MRC نیاز به استفاده از ADH API دارند، زیرا هیچ درخواست قالب مرتبطی وجود ندارد. علاوه بر این، معیارهای مشاهده TrueView نباید با معیارهای قابلیت مشاهده اشتباه گرفته شود.

درب خریدی را که می‌خواهید معیارهای قابلیت مشاهده را برای آن جستجو کنید، انتخاب کنید:

با استفاده از رابط کاربری، معیارهای قابلیت مشاهده را جستجو کنید

پرس و جو قابلیت مشاهده الگوی معیارهای معتبر MRC را ارائه می دهد.

اعتبار سنجی MRC دودویی است - نتایج شما می تواند معتبر باشد یا خیر - و برای کل جدول نتایج شما اعمال می شود. در BigQuery، برچسب adh-mrc-accredited برای همه نتایج تایید شده توسط MRC اعمال می شود. شما باید پرس و جو را از طریق الگو اجرا کنید تا معیارهای شما مورد تایید MRC باشد.

برای اجرای پرس و جو معتبر MRC از طریق الگو:

  1. دستورالعمل‌های مربوط به نحوه ایجاد درخواست را دنبال کنید و مطمئن شوید که YouTube Reserve به‌عنوان درب خرید و قابلیت مشاهده ویدیو را به‌عنوان الگوی درخواست انتخاب کرده‌اید.
  2. روی دکمه Run در کنار Use template کلیک کنید.

با استفاده از API، معیارهای ترافیک نامعتبر و قابلیت مشاهده را جستجو کنید

معیارهای ترافیک و قابلیت مشاهده نامعتبر را می‌توان از API ADH با استفاده از نقاط انتهایی generateIvtReport و startAnalysis بازیابی کرد. برای ترافیک نامعتبر، معیارهای شما باید از طریق generateIvtReport بازیابی شود تا برچسب adh-mrc-accredited اعمال شود و معیارهای شما دارای اعتبار MRC باشند. به طور مشابه، درخواست جهانی مشخص شده در زیر باید برای معیارهای قابلیت مشاهده از طریق ADH API برای اعتبارسنجی MRC استفاده شود. این بخش نحوه ارسال درخواست به این نقطه پایانی را با استفاده از کتابخانه کلاینت پایتون پوشش می دهد.

دستورالعمل‌های راه‌اندازی و مجوز/احراز هویت را در راه‌اندازی سریع API دنبال کنید.

پس از جایگزینی فیلدهای زیر با اطلاعات مرتبط با حساب خود، می توانید پرس و جو زیر را برای بازیابی یک گزارش ترافیک نامعتبر برای کمپین های YouTube Reserve خود اجرا کنید:

  • فایل اسرار مشتری
  • شناسه مشتری
  • کلید ای پی ای
  • 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)