Pemecahan Masalah RTB

Panduan ini mencakup referensi pemecahan masalah RTB, yang memungkinkan Anda mengakses metrik kampanye bidding real-time yang juga ditampilkan melalui Perincian RTB di UI Authorized Buyers. Ini mencakup bidders.filterSets, bidders.accounts.filterSets, dan semua sumber daya di bawahnya secara hierarkis.

Dengan metrik dari referensi pemecahan masalah RTB, Anda dapat memperoleh insight tentang peluang yang terlewatkan untuk memenangkan tayangan yang dapat membantu Anda mengoptimalkan kampanye bidding real-time.

Penyesuaian pada struktur dan gaya API

Referensi pemecahan masalah RTB memperkenalkan beberapa perubahan untuk menunjukkan kepemilikan dan akses, menyediakan kontrol yang lebih terperinci atas data yang ditampilkan oleh API, dan Praktik desain Google API.

Referensi tingkat bidder dan tingkat akun

Resource disusun dalam bidders dan bidders.accounts. Ini memungkinkan Anda untuk menentukan apakah panggilan API menargetkan bidder (juga dikenal sebagai akun induk) dan semua panggilan akun turunan, atau akun Authorized Buyers perorangan. Dalam konteks RTB Pemecahan masalah, resource yang terstruktur di bidders.filterSets akan menampilkan metrik gabungan untuk bidder yang ditentukan dan semua akun turunan yang terkait. Sebaliknya, mereka yang berada di bidders.accounts.filterSets hanya akan menampilkan metrik untuk akun yang ditentukan, terlepas dari entah itu bidder atau akun turunan.

Catatan: Akun yang mendelegasikan bidding mereka kepada pembeli lain bukan akun bidder, dan oleh karena itu, Anda tidak dapat mengakses resource tingkat bidder. Selain itu, akun non-bidder tidak dapat akses impressionMetrics, filteredBidResponses, bidResponseErrors, dan tingkat akun Resource bidResponsesWithoutBids.

Memperkenalkan nama resource sebagai ID unik

Nama resource digunakan sebagai ID unik dan bukan ID bilangan bulat atau ID string. Saat membuat instance baru dari jenis resource, Anda kini harus menentukan relatif nama resource menggunakan jalur URI resource, diikuti dengan ID resource pilihan. Tujuan berikut adalah contoh nama yang relevan untuk sumber daya Pemecahan Masalah RTB:

Resource Contoh nama
bidders.filterSets bidders/12345678/filterSets/fset_1
bidders.accounts.filterSets bidders/12345678/accounts/87654321/filterSets/fset_2

Catatan: ID resource yang ditentukan untuk bidders dalam nama harus merupakan milik bidder ID akun Authorized Buyers. Untuk accounts, ID resource harus berupa ID akun bidder atau akun turunan yang dikelola olehnya. Jika Anda tidak mengetahui Authorized Buyers telah dikaitkan dengan Akun Google Anda, Anda dapat menggunakan accounts.list untuk menemukannya.

Kumpulan filter

Kumpulan filter adalah representasi dari opsi pemfilteran yang tersedia, dan dapat dibuat di tingkat bidder atau akun. Ini digunakan untuk memfilter hasil daftar dari Pemecahan Masalah RTB yang mengambil metrik untuk kampanye bidding real-time Anda.

Filter yang diterapkan saat mengambil metrik adalah persimpangan dari setiap filter dalam kolom kumpulan filter. Filter daftar, seperti platforms, ditafsirkan sebagai gabungan setiap item dalam daftar.

Kumpulan filter tingkat akun dan bidder berbeda dan hanya dapat diakses dari tingkat dibuat—terlepas dari akun yang digunakan untuk membuatnya. Bidder dan pembagian akun turunan kumpulan filter yang dibuat di tingkat akun, sedangkan hanya bidder yang dapat mengakses resource di tingkat bidder. Tabel berikut meringkas cara bidder dan akun turunan dapat mengakses resource di salah satu tingkat:

  bidders.filterSets bidders.accounts.filterSets
Akun Bidder Panggilan API hanya memengaruhi kumpulan filter tingkat bidder. Panggilan API hanya memengaruhi kumpulan filter tingkat akun.
Akun Anak Panggilan API ini akan menampilkan respons error. Panggilan API hanya memengaruhi kumpulan filter tingkat akun.

Membuat kumpulan filter

Saat membuat kumpulan filter, Anda harus menentukan rentang waktu sebagai relativeDateRange, absoluteDateRange, atau realtimeTimeRange. Saat mengambil metrik, metode perilaku default-nya adalah semua data akan diberikan untuk seluruh rentang waktu. Jika Anda ingin menerima perincian deret waktu selama rentang waktu, Anda dapat menentukan timeSeriesGranularity untuk menunjukkan interval HOURLY atau DAILY.

Jika hanya perlu menyetel filter untuk jangka waktu singkat, Anda dapat menyetel isTransient parameter kueri ke true. Hal ini akan menunjukkan bahwa kumpulan filter bersifat sementara, artinya kumpulan filter tidak akan dipertahankan terus-menerus. Kumpulan filter sementara akan tersedia setidaknya satu jam setelah dibuat, tetapi pada akhirnya akan dihapus. Secara default, kumpulan filter tidak bersifat sementara.

Contoh tingkat bidder

Untuk membuat kumpulan filter tingkat bidder baru, kirim permintaan POST ke URI resource bidders.filterSets, yang memiliki format berikut:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets

Peringatan: Kumpulan filter tingkat bidder tidak dapat memfilter menurut ID materi iklan atau transaksi. Jika Anda menentukan filter ini saat membuat kumpulan filter tingkat bidder, Anda akan menerima respons error.

Permintaan

Berikut contoh permintaan POST yang membuat kumpulan filter tingkat bidder non-sementara:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

Respons

Jika permintaan berhasil, server merespons dengan kode status 200 OK. Isi respons akan menyertakan resource kumpulan filter yang dibuat, yang akan sama dengan kumpulan filter yang dikirimkan dalam permintaan.

Contoh tingkat akun

Untuk membuat kumpulan filter tingkat akun yang baru, kirim permintaan POST ke URI resource bidders.accounts.filterSets, yang memiliki format berikut:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets

Catatan: ID resource yang ditentukan untuk accounts dapat merupakan ID akun dari akun Authorized Buyers mana pun yang dapat diakses oleh bidder akun yang ditentukan dalam URI, termasuk akun bidder itu sendiri.

Permintaan

Berikut contoh permintaan POST yang membuat kumpulan filter baru tingkat akun non-sementara:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}
Respons

Jika permintaan berhasil, server merespons dengan kode status 200 OK. Isi respons akan menyertakan sumber daya kumpulan filter yang dibuat, yang akan sama dengan kumpulan filter yang dikirimkan dalam terhadap permintaan.

Mendapatkan kumpulan filter

Metode get hanya bisa mendapatkan kumpulan filter pada tingkat yang sama dengan yang dibuat. Misalnya, bidder akun harus menggunakan bidders.accounts.filterSets.get untuk mengambil kumpulan filter yang dibuat di akun daripada metode bidders.filterSets.get.

Tingkat bidder

Anda dapat mengambil filter tingkat bidder yang ditetapkan dengan mengirim permintaan GET HTTP ke URI resource bidders.filterSets, yang memiliki format berikut:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
Minta

Berikut contohnya:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs
Respons

Jika permintaan berhasil, server merespons dengan kode status HTTP 200 OK dan kumpulan filter yang diambil:

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

Tingkat akun

Anda dapat mengambil kumpulan filter tingkat akun dengan mengirimkan permintaan GET HTTP ke URI resource bidders.accounts.filterSets, yang memiliki format berikut:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
Minta

Berikut contohnya:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs
Respons

Jika permintaan berhasil, server merespons dengan kode status HTTP 200 OK dan kumpulan filter yang diambil:

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

Mencantumkan kumpulan filter

Metode daftar hanya akan menampilkan kumpulan filter yang dapat diakses dari tingkat yang dipanggil. Misalnya, akun bidder tidak akan melihat kumpulan filter yang dibuat untuk dirinya sendiri melalui bidders.accounts.filterSets.create saat memanggil bidders.filterSets.list.

Tingkat bidder

Anda dapat mengambil semua kumpulan filter tingkat bidder untuk bidder tertentu dengan mengirimkan GET HTTP permintaan ke URI resource bidders.filtersets, yang memiliki format berikut:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets
Minta

Berikut adalah contoh yang mencantumkan semua kumpulan filter tingkat bidder untuk bidder dengan ID akun 12345678:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
Respons
{
  "filterSets": [{
      "filterSetId": "99994",
      "name": "bidders/12345678/filterSets/test-b-1",
      "relativeDateRange": {
        "durationDays": 30
      }
    },
    {
      "realtimeTimeRange": {
        "startTimeStamp": "2017-11-15T12:30:30.072831583Z"
      },
      "filterSetId": "99995",
      "name": "bidders/12345678/filterSets/test-b-2",
      "timeSeriesGranularity": "HOURLY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 12,
          "month": 3,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99996",
      "name": "bidders/12345678/filterSets/bidder-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["TABLET", "MOBILE"],
      "environment": "APP",
      "format": "DISPLAY"
    }
  ]
}

Tingkat akun

Anda dapat mengambil semua kumpulan filter tingkat akun untuk akun tertentu dengan mengirimkan GET HTTP permintaan ke URI resource bidders.accounts.filtersets, yang memiliki format berikut:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets
Minta

Berikut ini contoh yang mencantumkan semua kumpulan filter tingkat akun untuk akun turunan dengan ID akun 87654321:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
Respons
{
  "filterSets": [{
        "realtimeTimeRange": {
        "startTimeStamp": "2017-11-19T04:24:43.252893487Z"
      },
      "filterSetId": "99997",
      "name": "bidders/12345678/accounts/87654321/filterSets/test-a-1",
      "timeSeriesGranularity": "DAILY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 3,
          "month": 12,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99998",
      "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["DESKTOP"],
      "environment": "WEB",
      "format": "VIDEO"
    }
  ]
}

Menghapus kumpulan filter

Anda dapat menggunakan metode delete untuk menghapus kumpulan filter non-sementara yang tidak dibutuhkan lagi. Filter ini hanya dapat menghapus kumpulan filter yang dapat diakses dari tingkat yang dipanggil; misalnya, akun bidder tidak dapat menghapus kumpulan filter yang dibuat dengan bidders.accounts.filterSets.create dengan bidders.filterSets.delete.

Tingkat bidder

Anda dapat menghapus filter tingkat bidder yang ditetapkan untuk akun tertentu dengan mengirimkan permintaan DELETE HTTP ke URI resource bidders.filtersets, yang memiliki format berikut:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
Minta

Berikut contoh penghapusan kumpulan filter tingkat bidder:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/test-b-2
Respons

Jika berhasil, isi permintaan akan kosong. Kumpulan filter yang ditentukan tidak akan dapat diakses lagi.

Tingkat akun

Anda dapat menghapus kumpulan filter tingkat akun untuk akun tertentu dengan mengirimkan DELETE HTTP permintaan ke URI resource bidders.accounts.filtersets, yang memiliki format berikut:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
Minta

Berikut adalah contoh penghapusan kumpulan filter tingkat akun:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/test-a-1
Respons

Jika berhasil, isi permintaan akan kosong. Kumpulan filter yang ditentukan tidak akan dapat diakses lagi.

Mengambil metrik pemecahan masalah RTB

Semua sumber daya pemecahan masalah RTB yang digunakan untuk menerima metrik beroperasi dengan cara yang serupa—mereka memiliki metode tunggal guna mencantumkan metrik untuk kumpulan filter yang ditentukan melalui jalur filterSetName . Kumpulan filter yang ditentukan akan menentukan filter dan setelan yang akan diterapkan saat membuat kueri metrik. Memanggil resource ini dari tingkat bidder akan menampilkan metrik gabungan dari akun bidder dan semua akun turunan terkait, sedangkan panggilan dari tingkat akun hanya akan menampilkan metrik untuk akun perorangan.

Metrik Bid

Resource bidMetrics digunakan untuk mengambil metrik yang diukur di jumlah bid. Misalnya, Anda dapat menggunakannya untuk menentukan jumlah total bid selama rentang waktu tertentu, dan berapa banyak di antaranya yang tidak difilter dari lelang, yang memenangkan tayangan, dll. Seperti semua referensi pemecahan masalah RTB lainnya yang digunakan untuk mengumpulkan metrik, metode ini hanya memiliki metode list.

Mencantumkan metrik bid tingkat bidder

Anda dapat mencantumkan metrik bid tingkat bidder untuk filter tertentu yang ditetapkan dengan mengirim GET HTTP permintaan ke URI resource bidders.filtersets.bidMetrics, yang memiliki format berikut:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}/bidMetrics
Minta

Berikut adalah contoh daftar metrik bid tingkat bidder:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs/bidMetrics
Respons

Jika permintaan berhasil, server merespons dengan kode status 200 OK dan isi yang berisi baris metrik untuk dimensi dan tingkat perincian yang ditentukan.

{
  "bidMetricsRows": [{
        "bids": {
        "value": "6160"
      },
      "bidsInAuction": {
        "value": "5698"
      },
      "billedImpressions": {
        "value": "1196"
      },
      "impressionsWon": {
        "value": "2920"
      },
      "measurableImpressions": {
        "value": "1160"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-29T08:00:00Z",
          "startTime": "2017-11-28T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "683"
      }
    },
    {
      "bids": {
        "value": "104288"
      },
      "bidsInAuction": {
        "value": "94016"
      },
      "billedImpressions": {
        "value": "99"
      },
      "impressionsWon": {
        "value": "125"
      },
      "measurableImpressions": {
        "value": "94"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-30T08:00:00Z",
          "startTime": "2017-11-29T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "87"
      }
    },
    {
      "bids": {
        "value": "3999"
      },
      "bidsInAuction": {
        "value": "3631"
      },
      "billedImpressions": {
        "value": "618"
      },
      "impressionsWon": {
        "value": "1819"
      },
      "measurableImpressions": {
        "value": "604"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "369"
      }
    },
    {
      "bids": {
        "value": "15"
      },
      "bidsInAuction": {
        "value": "3"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "3"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

Catatan: Setiap kolom yang ditetapkan ke 0 untuk metrik tertentu tidak akan muncul dalam respons. Metrik billedImpressions dan measurableImpressions yang kosong di atas menunjukkan bahwa nilai dan varians keduanya diatur ke 0.

Peringatan: Untuk perincian data dalam respons, respons tidak akan sertakan baris jika tidak berisi setidaknya satu metrik bukan nol. Misalnya, ketika seorang timeSeriesGranularity ditentukan, respons tidak akan menyertakan baris untuk timeInterval selama rentang waktu yang ditentukan oleh kumpulan filter, dengan semua metrik bernilai nol.

Cantumkan metrik bid tingkat akun

Anda dapat mencantumkan metrik bid tingkat akun untuk kumpulan filter tertentu dengan mengirimkan GET HTTP permintaan ke URI resource bidders.accounts.filtersets.bidMetrics, yang memiliki format berikut:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}/bidMetrics
Minta

Berikut adalah contoh daftar metrik bid tingkat akun:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs/bidMetrics
Respons

Jika permintaan berhasil, server merespons dengan kode status 200 OK dan isi yang berisi baris metrik untuk dimensi dan tingkat perincian yang ditentukan.

{
  "bidMetricsRows": [{
      "bids": {
        "value": "1748"
      },
      "bidsInAuction": {
        "value": "1421"
      },
      "billedImpressions": {
        "value": "301"
      },
      "impressionsWon": {
        "value": "915"
      },
      "measurableImpressions": {
        "value": "298"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "172"
      }
    },
    {
      "bids": {
        "value": "6"
      },
      "bidsInAuction": {
        "value": "2"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "1"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

Catatan: Setiap kolom yang ditetapkan ke 0 untuk metrik tertentu tidak akan muncul dalam respons. Tujuan metrik billedImpressions dan measurableImpressions yang kosong di atas menunjukkan nilai dan varians keduanya diatur ke 0.

Peringatan: Untuk perincian data dalam respons, respons tidak akan mencakup baris jika tidak berisi setidaknya satu metrik bukan nol. Misalnya, ketika seorang timeSeriesGranularity ditentukan, respons tidak akan menyertakan baris untuk timeInterval selama rentang waktu yang ditentukan oleh kumpulan filter, dengan semua metrik bernilai nol.