Chỉ số khả năng xem và lưu lượng truy cập không hợp lệ của truy vấn

Tổng quan

Hướng dẫn bên dưới cung cấp ví dụ về cách truy vấn cả lưu lượng truy cập khả năng xem hợp lệ và lưu lượng truy cập không hợp lệ bằng cách sử dụng API. Các chỉ số này chỉ áp dụng cho khoảng không quảng cáo được mua bằng Google Ads, Display & Video 360 và YouTube Reserve.

Xin lưu ý rằng các chỉ số về lượt xem theo TrueView được Hội đồng xếp hạng truyền thông công nhận yêu cầu sử dụng API ADH, vì không có truy vấn dựa trên mẫu nào liên quan. Ngoài ra, bạn không nên nhầm lẫn các chỉ số về lượt xem theo TrueView với các chỉ số về khả năng xem.

Chọn nguồn mua mà bạn muốn truy vấn các chỉ số về khả năng xem:

Truy vấn các chỉ số về khả năng xem bằng giao diện người dùng

Truy vấn khả năng xem dựa trên mẫu cung cấp các chỉ số được MRC công nhận.

MRC chỉ có hai trạng thái phê duyệt (được phê duyệt hoặc không được phê duyệt) và áp dụng cho toàn bộ bảng kết quả. Trong BigQuery, nhãn adh-mrc-accredited được áp dụng cho tất cả kết quả được MRC công nhận. Bạn phải chạy truy vấn thông qua mẫu thì các chỉ số của bạn mới được MRC công nhận.

Cách chạy truy vấn được MRC công nhận thông qua mẫu:

  1. Làm theo hướng dẫn về cách tạo truy vấn, đảm bảo rằng bạn chọn Google Ads làm nguồn mua và Khả năng xem video làm mẫu truy vấn.
  2. Nhấp vào nút Chạy bên cạnh mục Sử dụng mẫu.

Truy vấn lưu lượng truy cập không hợp lệ và các chỉ số về khả năng xem bằng API

Bạn có thể truy xuất lưu lượng truy cập không hợp lệ và các chỉ số về khả năng xem từ API ADH bằng cách sử dụng các điểm cuối generateIvtReportstartAnalysis. Đối với lưu lượng truy cập không hợp lệ, bạn phải truy xuất các chỉ số thông qua generateIvtReport để adh-mrc-accredited nhãn được áp dụng và các chỉ số của bạn được MRC công nhận. Tương tự, bạn phải sử dụng truy vấn chung được chỉ định bên dưới cho các chỉ số về khả năng xem thông qua API ADH để được MRC công nhận. Phần này trình bày cách gửi yêu cầu đến điểm cuối này bằng thư viện ứng dụng Python.

Làm theo hướng dẫn thiết lập và uỷ quyền/xác thực trong hướng dẫn nhanh về API.

Sau khi thay thế các trường sau bằng thông tin liên quan đến tài khoản của bạn, bạn có thể chạy truy vấn bên dưới để truy xuất báo cáo lưu lượng truy cập không hợp lệ cho các chiến dịch Google Ads :

  • Tệp khoá bí mật của ứng dụng khách
  • Mã khách hàng
  • Khóa API
  • Campaign IDs
  • Múi giờ

Mã mẫu

Lưu lượng truy cập không hợp lệ

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

Chỉ số về khả năng xem

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

Tính các chỉ số về khả năng xem sau khi trừ lưu lượng truy cập không hợp lệ thông thường

Hãy sử dụng các công thức sau để tính toán các chỉ số về khả năng xem được MRC công nhận sau khi trừ đi lưu lượng truy cập không hợp lệ thông thường (GIVT):

  • Tổng số lượt hiển thị (không bao gồm GIVT): Tổng số lượt hiển thị – Số lượt hiển thị không hợp lệ chung
  • Số lượt hiển thị có thể xem (Không bao gồm GIVT): Số lượt hiển thị có thể xem + Số lượt hiển thị có thể xem không hợp lệ – Số lượt hiển thị có thể xem GIVT
  • Số lượt hiển thị có thể đo lường (Không bao gồm GIVT): Số lượt hiển thị có thể đo lường + Số lượt hiển thị có thể đo lường không hợp lệ – Số lượt hiển thị có thể đo lường GIVT
  • Số lượt hiển thị đủ điều kiện (không bao gồm GIVT): Số lượt hiển thị đủ điều kiện + Số lượt hiển thị đủ điều kiện không hợp lệ – Số lượt hiển thị đủ điều kiện có GIVT
  • Số lượt hiển thị không thể xem (không bao gồm GIVT) : Số lượt hiển thị có thể đo lường (không bao gồm GIVT) – Số lượt hiển thị có thể xem (không bao gồm GIVT)
  • Số lượt hiển thị không đo lường được (Không bao gồm GIVT): Số lượt hiển thị đủ điều kiện (Không bao gồm GIVT) – Số lượt hiển thị có thể đo lường (Không bao gồm GIVT)
  • % Số lượt hiển thị có thể đo lường (GIVT thuần): Số lượt hiển thị có thể đo lường (GIVT thuần) / Số lượt hiển thị đủ điều kiện (GIVT thuần)
  • % Số lượt hiển thị có thể xem (Không bao gồm GIVT): Số lượt hiển thị có thể xem (Không bao gồm GIVT) / Số lượt hiển thị có thể đo lường (Không bao gồm GIVT)