نمای کلی
دستورالعملهای زیر نمونههایی از نحوه پُرسمان ترافیک رؤیتپذیری معتبر و ترافیک نامعتبر بااستفاده از میانای برنامهسازی کاربردی را ارائه میدهد. این سنجهها به فضای آگهی خریداریشده بااستفاده از Google Ads و Display & Video 360 محدود است.
توجه داشته باشید که سنجههای بازدید TrueView موردتأیید MRC به استفاده از ADH API نیاز دارند، زیرا پُرسمان الگودار مرتبطی وجود ندارد. علاوهبراین، سنجههای بازدید TrueView نباید با سنجههای رؤیتپذیری اشتباه گرفته شوند.
پلاتفرم خریدی را که میخواهید سنجههای رؤیتپذیری را برای آن پُرسمان کنید انتخاب کنید:
پُرسمان سنجههای رؤیتپذیری بااستفاده از واسط کاربر
پُرسمان رؤیتپذیری قالببندیشده سنجههای دارای مجوز MRC را ارائه میدهد.
اعتباربخشی MRC دوگانه است—نتایج شما میتواند اعتباربخشی شود یا نشود—و برای کل جدول نتایج شما اعمال میشود. برای اینکه سنجههایتان اعتبار MRC داشته باشد، باید پُرسمان را ازطریق الگو، بدون اصلاح آن، و در حالت بررسی تفاوتها اجرا کنید. اعتباربخشی MRC برای Ads Data Hub شامل پُرسمانهای اجراشده در حالت صدا نمیشود.
برای اجرای پُرسمان دارای مجوز شورای ردهبندی رسانهها (MRC) ازطریق الگو:
- دستورالعملهای مربوط به نحوه ایجاد پُرسمان را دنبال کنید و مطمئن شوید که Google Ads را بهعنوان پلاتفرم خرید و رؤیتپذیری ویدیو براساس نوع دستگاه را بهعنوان الگوی پُرسمان انتخاب کنید.
- روی دکمه اجرا در کنار استفاده از الگو کلیک کنید.
پرسوجو کردن ترافیک نامعتبر و سنجههای قابلمشاهده بودن بااستفاده از API
سنجههای ترافیک نامعتبر و قابلیت مشاهده را میتوان از ADH API بااستفاده از نقاط پایانی generateIvtReport ، و startAnalysis بازیابی کرد. برای ترافیک نامعتبر، سنجههای شما باید ازطریق generateIvtReport بازیابی شود تا adh-mrc-accredited برچسب اعمال شود و سنجههای شما موردتأیید MRC قرار گیرد. بهطور مشابه، پُرسمان جهانی مشخصشده در زیر باید برای سنجههای رؤیتپذیری ازطریق ADH API برای اعتباربخشی MRC استفاده شود. این بخش نحوه ارسال درخواست به این نقطه پایانی را بااستفاده از کتابخانه کارخواه Python پوشش میدهد.
دستورالعملهای راهاندازی و صدور مجوز/اصالتسنجی را در شروع سریع API دنبال کنید.
پساز جایگزین کردن فیلدهای زیر با اطلاعات مربوط به حسابتان، میتوانید پُرسمان زیر را اجرا کنید تا گزارش ترافیک نامعتبر را برای پویشهای Google Ads خود بازیابی کنید:
- فایل رمزهای کارخواه
- شناسه مشتری
- کلید میانای API
- Campaign IDs
- منطقه زمانی
کدگذاری نمونه
ترافیک نامعتبر
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))
سنجههای قابلمشاهده بودن
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))
محاسبه سنجههای رؤیتپذیری خالص ترافیک نامعتبر متداول
از فرمولهای زیر برای بهدست آوردن سنجههای رؤیتپذیری موردتأیید MRC خالص از ترافیک نامعتبر متداول (GIVT) استفاده کنید:
- کل ظهورها (خالص از ترافیک نامعتبر متداول): کل ظهورها - ظهورهای نامعتبر متداول
- ظهورهای قابلمشاهده (خالص از ترافیک نامعتبر متداول): ظهورهای قابلمشاهده + ظهورهای قابلمشاهده نامعتبر - ظهورهای قابلمشاهده ترافیک نامعتبر متداول
- ظهورهای قابلاندازهگیری (خالص ترافیک نامعتبر متداول): ظهورهای قابلاندازهگیری + ظهورهای قابلاندازهگیری نامعتبر - ظهورهای قابلاندازهگیری ترافیک نامعتبر متداول
- ظهورهای واجدشرایط (خالص ترافیک نامعتبر متداول): ظهورهای واجدشرایط + ظهورهای واجدشرایط نامعتبر - ظهورهای واجدشرایط ترافیک نامعتبر متداول
- ظهور غیرقابلمشاهده (خالص از ترافیک نامعتبر متداول) : ظهورهای قابلاندازهگیری (خالص از ترافیک نامعتبر متداول) - ظهورهای قابلمشاهده (خالص از ترافیک نامعتبر متداول)
- ظهورهای غیرقابلاندازهگیری (خالص از ترافیک نامعتبر متداول): ظهورهای واجدشرایط (خالص از ترافیک نامعتبر متداول) - ظهورهای قابلاندازهگیری (خالص از ترافیک نامعتبر متداول)
- ٪ ظهورهای قابلاندازهگیری (خالص از ترافیک نامعتبر متداول): ظهورهای قابلاندازهگیری (خالص از ترافیک نامعتبر متداول) / ظهورهای واجدشرایط (خالص از ترافیک نامعتبر متداول)
- ٪ ظهورهای قابلمشاهده (خالص از ترافیک نامعتبر متداول): ظهورهای قابلمشاهده (خالص از ترافیک نامعتبر متداول) / ظهورهای قابلاندازهگیری (خالص از ترافیک نامعتبر متداول)