Bu kılavuzda, Authorized Buyers kullanıcı arayüzündeki GZT Dökümü aracıyla da gösterilen gerçek zamanlı teklif verme kampanya metriklerine programatik olarak erişmenizi sağlayan GZT sorun giderme kaynakları ele alınmaktadır. Bunlara bidders.filterSets
, bidders.accounts.filterSets
ve bunların altındaki tüm kaynaklar dahildir.
GZT sorun giderme kaynaklarındaki metrikleri kullanarak, kaçırılan gösterim kazanma fırsatlarıyla ilgili analizlere ulaşabilir ve gerçek zamanlı teklif verme kampanyanızı optimize etmenize yardımcı olabilir.
API yapısı ve stilinde ayarlamalar
GZT sorun giderme kaynakları; sahipliği ve erişimi açıkça belirtmek, API tarafından döndürülen veriler üzerinde daha ayrıntılı kontrol sağlamak ve Google API tasarım uygulamalarıyla daha uyumlu olması için yapılan birkaç değişiklik içermektedir.
Teklif veren ve hesap düzeyindeki kaynaklar
Kaynaklar hem bidders
hem de bidders.accounts
altında yapılandırılır. Bunlar, bir API çağrısının teklif vereni mi (üst hesap olarak da bilinir) ve ilişkili tüm alt hesapları mı yoksa bireysel Authorized Buyers hesaplarını mı hedeflediğini belirtmenize olanak tanır. GZT Sorunlarını Giderme bağlamında bidders.filterSets
altında yapılandırılan kaynaklar, belirtilen teklif veren ve ilişkili tüm alt hesaplar için toplu metrikleri döndürür. Buna karşın, bidders.accounts.filterSets
altındakiler, teklif verenin veya alt hesap olup olmadığına bakılmaksızın yalnızca belirtilen hesapla ilgili metrikleri döndürür.
Not: Teklif verme yetkisini başka bir alıcıya veren hesaplar teklif veren hesabı değildir ve dolayısıyla teklif veren düzeyindeki kaynaklara erişemez. Ayrıca, teklif veren olmayan hesaplar, hesap düzeyindeki impressionMetrics
, filteredBidResponses
, bidResponseErrors
ve bidResponsesWithoutBids
kaynaklarına erişemez.
Kaynak adlarını benzersiz tanımlayıcılar olarak kullanıma sunuyoruz
Kaynak adları, tam sayı veya dize kimlikleri yerine benzersiz tanımlayıcılar olarak kullanılır. Belirli bir kaynak türünün yeni bir örneğini oluştururken artık kaynağın URI yolunu ve ardından tercih edilen kaynak kimliğini kullanarak göreli bir kaynak adı belirtmeniz gerekir. Aşağıda, GZT Sorun giderme kaynaklarıyla ilgili ad örnekleri verilmiştir:
Kaynak | Ad örneği |
---|---|
bidders.filterSets | bidders/12345678/filterSets/fset_1 |
bidders.accounts.filterSets | bidders/12345678/accounts/87654321/filterSets/fset_2 |
Not: Adda bidders
için belirtilen kaynak kimliği, teklif verenin Authorized Buyers hesap kimliği olmalıdır. accounts
için kaynak kimliği, teklif verenin veya kendisi tarafından yönetilen alt hesabın hesap kimliği olmalıdır. Google hesabınızla hangi Authorized Buyers hesaplarının ilişkili olduğunu bilmiyorsanız bulmak için accounts.list yöntemini kullanabilirsiniz.
Filtre grupları
Filtre grubu, kullanılabilen filtreleme seçeneklerini temsil eder ve teklif veren veya hesap düzeyinde oluşturulabilir. Gerçek zamanlı teklif verme kampanyalarınız için metrikleri alan GZT Sorun Giderme kaynaklarının liste sonuçlarını filtrelemek için kullanılır.
Metrikler alınırken uygulanan filtre, belirtilen filtre grubundaki her bir filtrenin kesişimidir. platforms
gibi liste filtreleri, listedeki her bir öğenin birleşimi olarak yorumlanır.
Teklif veren ve hesap düzeyindeki filtre grupları birbirinden farklıdır ve yalnızca oluşturulduğu düzeyden erişilebilir (bunları oluşturmak için kullanılan hesaptan bağımsız olarak). Hesap düzeyinde oluşturulan teklif veren ve alt hesap paylaşımı filtre grupları ise yalnızca teklif veren düzeyindeki kaynaklara erişebilir. Aşağıdaki tabloda, teklif verenin ve alt hesapların her iki düzeyde de kaynaklara nasıl erişebileceği özetlenmektedir:
bidders.filterSets | bidders.accounts.filterSets | |
---|---|---|
Teklif Veren Hesabı | Yalnızca teklif veren seviyesindeki filtre gruplarını etkileyen bir API çağrısı. | Yalnızca hesap düzeyinde filtre gruplarını etkileyen bir API çağrısı. |
Alt Hesap | Bu API çağrısı hata yanıtı döndürür. | Yalnızca hesap düzeyinde filtre gruplarını etkileyen bir API çağrısı. |
Filtre grubu oluştur
Filtre grubu oluştururken relativeDateRange
, absoluteDateRange
veya realtimeTimeRange
şeklinde bir zaman aralığı belirtmeniz gerekir. Metrikler alınırken varsayılan davranış, tüm zaman aralığı için tüm verilerin sağlanması şeklindedir. Zaman aralığı boyunca bir zaman serisi dökümü almak isterseniz HOURLY
veya DAILY
aralıklarını belirtmek için timeSeriesGranularity
değerini belirtebilirsiniz.
Filtre grubuna yalnızca kısa bir süreliğine ihtiyaç duyuyorsanız isTransient
sorgu parametresini true
olarak ayarlayabilirsiniz. Bu, filtre grubunun geçici olduğunu, yani süresiz olarak uygulanmayacağını gösterir. Geçici filtre grupları, oluşturulduktan sonra en az bir saat süreyle kullanılabilir ancak bir süre sonra silinir. Varsayılan olarak, filtre grupları geçici değildir.
Teklif veren düzeyinde örnek
Teklif veren seviyesinde yeni bir filtre grubu oluşturmak için bidders.filterSets
kaynak URI'sına aşağıdaki biçime sahip bir POST
isteği gönderin:
https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets
Uyarı: Teklif veren düzeyindeki filtre grupları, reklam öğesi veya anlaşma kimliklerine göre filtreleme yapamaz. Teklif veren düzeyinde filtre grubu oluştururken bu filtreleri belirtirseniz bir hata yanıtı alırsınız.
İstekAşağıda, geçici olmayan yeni bir teklif veren düzeyinde filtre grubu oluşturan POST
isteği örneği verilmiştir:
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" }Yanıt
İstek başarılı olursa sunucu bir 200 OK durum koduyla yanıt verir. Yanıt gövdesi, istekte gönderilen filtre grubuyla aynı olacak, oluşturulan filtre grubu kaynağını içerir.
Hesap düzeyinde örnek
Hesap düzeyinde yeni bir filtre grubu oluşturmak için aşağıdaki biçime sahip olan bidders.accounts.filterSets
kaynak URI'sına bir POST
isteği gönderin:
https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets
Not: accounts
için belirtilen kaynak kimliği, URI'da belirtilen teklif veren hesabının erişebildiği herhangi bir Authorized Buyers hesabının (teklif veren hesabının kendisi dahil) hesap kimliği olabilir.
Aşağıda, geçici olmayan yeni bir hesap düzeyinde filtre grubu oluşturan POST
isteği örneği verilmiştir:
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" }Yanıt
İstek başarılı olursa sunucu bir 200 OK durum koduyla yanıt verir. Yanıt gövdesi, istekte gönderilen filtre grubuyla aynı olacak, oluşturulan filtre grubu kaynağını içerir.
Filtre grubu al
"get" yöntemi, yalnızca oluşturulduğu düzeydeki bir filtre grubunu alabilir. Örneğin, teklif veren hesabı, hesap düzeyinde oluşturulan bir filtre grubunu almak için bidders.filterSets.get
yöntemi yerine bidders.accounts.filterSets.get
yöntemini kullanmalıdır.
Teklif veren düzeyi
Aşağıdaki biçime sahip bidders.filterSets
kaynak URI'sine bir HTTP GET isteği göndererek teklif veren düzeyinde bir filtre grubu alabilirsiniz:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}İstek
Aşağıda bir örnek verilmiştir:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fsYanıt
İstek başarılı olursa sunucu bir 200 OK
HTTP durum kodu ve alınan filtre grubuyla yanıt verir:
{ "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" }
Hesap düzeyi
Hesap düzeyinde bir filtre grubunu, aşağıdaki biçime sahip bidders.accounts.filterSets
kaynak URI'sine bir HTTP GET
isteği göndererek alabilirsiniz:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}İstek
Aşağıda bir örnek verilmiştir:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fsYanıt
İstek başarılı olursa sunucu bir 200 OK
HTTP durum kodu ve alınan filtre grubuyla yanıt verir:
{ "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" }
Filtre gruplarını listeleyin
Liste yöntemi, yalnızca çağrıldığı düzeyden erişilebilen filtre gruplarını döndürür.
Örneğin, teklif veren hesabı bidders.filterSets.list
çağırırken bidders.accounts.filterSets.create
aracılığıyla kendisi için oluşturulan filtre gruplarını görmez.
Teklif veren düzeyi
Aşağıdaki biçime sahip bidders.filtersets
kaynak URI'sine bir HTTP GET
isteği göndererek belirli bir teklif veren için teklif veren seviyesindeki tüm filtre gruplarını alabilirsiniz:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSetsİstek
Aşağıda, hesap kimliği 12345678 olan bir teklif veren için tüm teklif veren düzeyindeki filtre gruplarının listelendiği bir örnek verilmiştir:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSetsYanıt
{ "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" } ] }
Hesap düzeyi
Belirli bir hesap için hesap düzeyindeki tüm filtre gruplarını aşağıdaki biçimdeki bidders.accounts.filtersets
kaynak URI'sine bir HTTP GET
isteği göndererek alabilirsiniz:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSetsİstek
Aşağıda, hesap kimliği 87654321 olan bir alt hesap için tüm hesap düzeyindeki filtre gruplarının listelendiği bir örnek verilmiştir:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSetsYanıt
{ "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" } ] }
Filtre grubunu silme
Artık ihtiyaç duyulmayan geçici olmayan filtre gruplarını kaldırmak için delete
yöntemini
kullanabilirsiniz. Yalnızca çağrıldığı düzeyden erişilebilen filtre gruplarını kaldırabilir. Örneğin, bir teklif veren hesabı, bidders.filterSets.delete
ile bidders.accounts.filterSets.create
ile oluşturulmuş bir filtre grubunu silemez.
Teklif veren düzeyi
Aşağıdaki biçime sahip bidders.filtersets
kaynak URI'sine bir HTTP DELETE
isteği göndererek belirli bir hesap için teklif veren düzeyinde filtre grubunu silebilirsiniz:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}İstek
Aşağıda, teklif veren düzeyinde filtre grubunu silmeyle ilgili bir örnek verilmiştir:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/test-b-2Yanıt
Başarılı olursa isteğin gövdesi boş olur. Belirtilen filtre grubuna artık erişilemiyor.
Hesap düzeyi
Aşağıdaki biçimdeki bidders.accounts.filtersets
kaynak URI'sine bir HTTP DELETE
isteği göndererek belirli bir hesap için hesap düzeyinde bir filtre grubunu silebilirsiniz:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}İstek
Hesap düzeyinde filtre grubu silmeyle ilgili bir örnek aşağıda verilmiştir:
DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/test-a-1Yanıt
Başarılı olursa isteğin gövdesi boş olur. Belirtilen filtre grubuna artık erişilemiyor.
GZT sorun giderme metriklerini alma
Metrikleri almak için kullanılan tüm GZT sorun giderme kaynakları benzer bir şekilde çalışır. filterSetName
yol parametresiyle belirtilen filtre grubu metriklerini listelemek için tek bir yönteme sahiptirler. Belirtilen filtre grubu, metrikler sorgulanırken hangi filtrelerin ve ayarların uygulanacağını belirler. Bu kaynakların teklif veren seviyesinde çağrılması durumunda teklif veren hesabından ve ilişkili tüm alt hesaplardan toplu metrikler döndürülürken hesap düzeyinden yapılan bir çağrı, yalnızca bireysel hesabın metriklerini döndürür.
Teklif Metrikleri
bidMetrics
kaynağı, teklif sayısıyla ölçülen metrikleri almak için kullanılır. Örneğin, belirli bir zaman aralığındaki tekliflerinizin toplam sayısını ve bunlardan kaçının açık artırmadan filtrelenmediğini, gösterim kazanıp kazanmadığını vb. belirlemek için bunu kullanabilirsiniz. Metrikleri toplamak için kullanılan diğer tüm GZT sorun giderme kaynaklarında olduğu gibi yalnızca list
yöntemi bulunur.
Teklif veren seviyesinde teklif metriklerini listeleme
Belirli bir filtre grubu için teklif veren düzeyindeki teklif metriklerini, aşağıdaki biçime sahip olan bidders.filtersets.bidMetrics
kaynak URI'sine bir HTTP GET
isteği göndererek listeleyebilirsiniz:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}/bidMetricsİstek
Aşağıda, teklif veren düzeyindeki teklif metriklerinin listelendiği bir örnek verilmiştir:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs/bidMetricsYanıt
İstek başarılı olursa sunucu bir 200 OK
durum koduyla ve belirtilen boyutlar ve ayrıntı düzeyine yönelik metrik satırları içeren bir gövdeyle yanıt verir.
{ "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": {} } ] }
Not: Belirli bir metrik için 0 olarak ayarlanmış alanlar yanıtta görünmez.
Yukarıdaki boş billedImpressions
ve measurableImpressions
metrikleri, bunların hem değer hem de varyansının 0 olarak ayarlandığını gösterir.
Uyarı: Yanıttaki verilerin herhangi bir dökümünde, sıfır olmayan en az bir metrik içermiyorsa yanıt satır içermez. Örneğin, bir timeSeriesGranularity
belirtildiğinde yanıt, filtre grubunda belirtilen zaman aralığındaki tüm metriklerin sıfır olduğu hiçbir timeInterval
için satır içermez.
Hesap düzeyindeki teklif metriklerini listeleme
Belirli bir filtre grubu için hesap düzeyindeki teklif metriklerini, aşağıdaki biçimdeki bidders.accounts.filtersets.bidMetrics
kaynak URI'sine bir HTTP GET
isteği göndererek listeleyebilirsiniz:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}/bidMetricsİstek
Aşağıda, hesap düzeyindeki teklif metriklerinin listelendiği bir örnek verilmiştir:
GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs/bidMetricsYanıt
İstek başarılı olursa sunucu bir 200 OK
durum koduyla ve belirtilen boyutlar ve ayrıntı düzeyine yönelik metrik satırları içeren bir gövdeyle yanıt verir.
{ "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": {} } ] }
Not: Belirli bir metrik için 0 olarak ayarlanmış alanlar yanıtta görünmez. Yukarıdaki boş billedImpressions
ve measurableImpressions
metrikleri, bunların hem değer hem de varyansının 0 olarak ayarlandığını gösterir.
Uyarı: Yanıttaki verilerin herhangi bir dökümünde, sıfır olmayan en az bir metrik içermiyorsa yanıt satır içermez. Örneğin, bir timeSeriesGranularity
belirtildiğinde yanıt, filtre grubunda belirtilen zaman aralığındaki tüm metriklerin sıfır olduğu hiçbir timeInterval
için satır içermez.