Teşhisler

Etkinlik ve kitle yüklemelerinizin durumunu doğrulamak ve verilerinizle ilgili sorunları belirlemek için önerilen iş akışı aşağıda verilmiştir.

  1. Etkinlik göndermek veya kitle üyelerini göndermek ya da kaldırmak için istek gönderin.

  2. Her isteğin genel durumunu kontrol edin. Başarılı bir istekte code değeri 0'e (numara değeri OK, HTTP yanıtı 200 OK) eşit olan bir Status bulunur ve IngestEventsResponse, IngestAudienceMembersResponse veya RemoveAudienceMembersResponse döndürülür.

    Bir istek başarısız olursa isteği hatayı giderecek şekilde değiştirin ve tekrar gönderin.

    Bir istek başarılı olursa yanıtın request_id değerini yakalayın. Böylece sonraki adımda teşhisleri almak için bu değeri kullanabilirsiniz.

  3. 30 dakika bekleyin, ardından her başarılı request_id için RetrieveRequestStatus isteği gönderin.

    Her bir hedefin hedef durumu SUCCESS, PARTIAL_SUCCESS veya FAILURE olana kadar her request_id için bu adımı düzenli olarak tekrarlayın. Her istek arasında beklemek için eksponansiyel geri yükleme algoritması kullanın.

  4. Yüklemelerinizin düzgün çalıştığından emin olmak ve verilerinizle ilgili sorunları belirlemek için her RetrieveRequestStatusResponse'yi inceleyin.

  5. Veri sorunlarını düzeltme

  6. 1. adıma dönün ve yüklemelerinizle ilgili tüm sorunları giderene kadar bu adımları tekrarlayın.

İstekleri gönderme

RetrieveRequestStatusRequest için tek bir request_id değeri gerekir. Başarılı bir besleme isteğinden aldığınız her istek kimliği için ayrı bir durum isteği gönderin.

Yetkilendirme

RetrieveRequestStatusRequest, hedef hesapları veya istek başlıklarını kabul etmez. Bunun yerine Data Manager API, request_id ile ilişkili orijinal alım isteğindeki hedefleri tanımlar ve arayanın her Destination üzerinde operating_account erişimi olduğunu doğrular.

Bir isteğin durumunu kontrol etmek için RetrieveRequestStatusRequest içinde kullanılan kimlik bilgilerinin, orijinal besleme isteğindeki her hedefin operating_account için aşağıdaki koşulları karşılaması gerekir:

  • Aynı erişim yolu: Kimlik bilgileri, orijinal besleme isteğinde belirtilen erişim yolunun aynısını kullanarak her bir operating_account öğesine erişebilmelidir.

    Örneğin, bir Google Ads operating_account için besleme isteğinde login_account olarak bir üst yönetici hesabı belirtildiyse kimlik bilgilerinin aynı yönetici hesabı üzerinden operating_account erişimi de olmalıdır. Kimlik bilgileriyle ilişkili Google Hesabı'nın alt operating_account hesabına doğrudan erişimi olsa bile, bu hesabın içe aktarma sırasında belirtilen login_account yönetici hesabı üzerinden erişimi yoksa istek PERMISSION_DENIED hatasıyla başarısız olur.

  • Yeterli erişim düzeyi: Kimlik bilgilerinin ilişkilendirildiği Google Hesabı, operating_account'ye veri aktarma izni olan bir erişim düzeyine veya role sahip olmalıdır.

    Örneğin, Google Ads'de Google Hesabı'nın Yönetici veya Standart erişim düzeyine sahip olması gerekir. Salt okuma erişim düzeyine sahip bir hesabın kimlik bilgilerini içeren istek, PERMISSION_DENIED hatasıyla başarısız olur.

Anket stratejisi

RetrieveRequestStatusRequest, request_status her hedef için orijinal istekte SUCCESS, FAILURE veya PARTIAL_SUCCESS değerine ulaşana kadar eksponansiyel geri yükleme algoritması kullanılarak düzenli aralıklarla gönderilir. Bu işlem 24 saate kadar sürebilir. Ancak Data Manager API, bazı isteklerin işlenmesini 30 dakika gibi kısa bir sürede tamamlayabilir.

Aşağıda, canlılık ve kota kullanımı arasında denge sağlayan makul bir ilk bekleme süresi ve yeniden deneme yapılandırması örneği verilmiştir:

Ayar Değer
İlk teşhis isteğinden önce geçen bekleme süresi (dakika) 30
Geri çekilme çarpanı 1.3
Maksimum geri yükleme aralığı (dakika) 60 (1 saat)
Maksimum toplam süre (dakika) 1440 (24 saat)

Bu yapılandırmayla ilgili isteklerin sırası ve geçen süre şu şekildedir:

Grafik

Anket Stratejisi

Veriler

Deneme Besleme İsteğinden Bu Yana Geçen Süre (ss:dd) Denemeden Önceki Gecikme Notlar
1 00:30 30,0 dk. Öncelikle durumun kullanılabilir olup olmadığını kontrol edin
2 01:09 39,0 dk.
3 01:59 50,7 dk.
4 02:59 60,0 dk. Gecikme süresi artık 1 saatle sınırlıdır
5 03:59 60,0 dk.
6 04:59 60,0 dk.
7 05:59 60,0 dk.
8 06:59 60,0 dk.
9 07:59 60,0 dk.
10 08:59 60,0 dk.
11 09:59 60,0 dk.
12 10:59 60,0 dk.
13 11:59 60,0 dk. 12 saatlik sınır
14 12:59 60,0 dk.
15 13:59 60,0 dk.
16 14:59 60,0 dk.
17 15:59 60,0 dk.
18 16:59 60,0 dk.
19 17:59 60,0 dk.
20 18:59 60,0 dk.
21 19:59 60,0 dk.
22 20:59 60,0 dk.
23 21:59 60,0 dk.
24 22:59 60,0 dk.
25 23:59 60,0 dk. Maksimum toplam süre olan 24 saatten önceki son istek

Birçok istemcinin aynı anda yeniden denediği "gürleyen sürü" sorununu önlemek için geri çekilme gecikmelerine küçük bir rastgele titreme miktarı ekleyin.

Yanıtları incele

Bir RetrieveRequestStatusResponse içindeki request_status_per_destination, ilgili alım isteğindeki her hedef için ayrı bir giriş içerir.

Örneğin, IngestAudienceMembersRequest, 3 farklı kitleye veri göndermek için destinations listesinde 3 giriş içeriyorsa durum yanıtı request_status_per_destination içinde 3 giriş (kitle başına bir giriş) içerir.

Genel hedef durumunu kontrol etme

İlk adım olarak, Data Manager API'nin RequestStatusPerDestination için destination verilerini işlemeyi tamamlayıp tamamlamadığını belirlemek üzere request_status alanını kontrol edin.

request_status için olası değerler şunlardır:

  • PROCESSING: Hedefle ilgili veriler hâlâ işleniyor. Bu aşamada hedef için uyarılar ve hatalar doldurulmaz.

  • SUCCESS: Hedefle ilgili istek işleme hatasız tamamlandı. İşleme sırasında işaretlenen uyarıları kontrol edin.

  • FAILURE: Hedefle ilgili tüm kayıtlar hatalar nedeniyle başarısız oldu. Tüm kayıtların neden başarısız olduğunu belirlemek için uyarı ve hataları kontrol edin. Ayrıca, işleme sırasında işaretlenen uyarıları da kontrol edin.

  • PARTIAL_SUCCESS: Hedefle ilgili bazı kayıtlar başarılı oldu ancak diğerleri hatalar nedeniyle başarısız oldu. Bazı kayıtların neden başarısız olduğunu belirlemek için hataları kontrol edin. Ayrıca, işleme sırasında işaretlenen uyarıları da kontrol edin.

Hedef başına etkinlik veya kitle durumunu kontrol etme

Besleme isteği türüne karşılık gelen durum alanını inceleyin. Her RequestStatusPerDestination üzerinde aşağıdaki alanlardan yalnızca biri ayarlanır:

Etkinliklerin besleme durumu

İstek bir IngestEventsRequest ise events_ingestion_status alanı doldurulur.

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestEventStatus öğesinin record_count değerini kontrol edin. record_count hem başarılı hem de başarısız kayıtları içerir.

Kitle üyelerini alma durumu

İstek bir IngestAudienceMembersRequest ise audience_members_ingestion_status alanı doldurulur. Her kitle verisi türü için kontrol edilecek IngestAudienceMembersStatus alanı aşağıda verilmiştir. Bu alanlardan yalnızca biri ayarlanır.

composite_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestCompositeDataStatus'nin record_count bölümünü kontrol edin. record_count, hem başarılı hem de başarısız kayıtları içerir.

Tanımlayıcı sayısının beklentilerinizi karşıladığını doğrulamak için data_type_counts kontrol edin. Bu listede, DataType tarafından alınan tüm tanımlayıcıların (ör. e-posta adresi, telefon numarası, fiziksel adres ve IP adresi) dökümü yer alır.

İstek yeterli sayıda kayıt içeriyorsa upload_match_rate_range, istekteki kayıtların eşleşme oranı aralığını gösterir.

google_user_id_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestGoogleUserIdDataStatus'nin record_count bölümünü kontrol edin. record_count, hem başarılı hem de başarısız kayıtları içerir.

Alınan Google kullanıcı kimliklerinin sayısının beklentilerinizi karşıladığını onaylamak için google_user_id_count işaretini kontrol edin.

mobile_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını onaylamak için record_countIngestMobileDataStatus sayısını kontrol edin. record_count hem başarılı hem de başarısız kayıtları içerir.

Alınan mobil kimlik sayısının beklentilerinizi karşıladığını onaylamak için mobile_id_count işaretini kontrol edin.

pair_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestPairDataStatus record_count değerini kontrol edin. record_count, hem başarılı hem de başarısız kayıtları içerir.

Alınan PAIR kimliği sayısının beklentilerinizi karşıladığını onaylamak için pair_id_count işaretini kontrol edin.

partner_provided_id_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestPartnerProvidedIdDataStatus record_count değerini kontrol edin. record_count hem başarılı hem de başarısız kayıtları içerir.

İş ortağı tarafından sağlanan kimliklerin sayısının beklentilerinizi karşıladığını doğrulamak için partner_provided_id_count kontrol edin.

ppid_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestPpidDataStatus'nin record_count bölümünü kontrol edin. record_count, hem başarılı hem de başarısız kayıtları içerir.

Alınan PPID sayısının beklentilerinizi karşıladığını doğrulamak için ppid_count kontrol edin.

user_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestUserDataStatus record_count değerini kontrol edin. record_count, hem başarılı hem de başarısız kayıtları içerir.

Alınan kullanıcı kimliklerinin sayısının beklentilerinizi karşıladığını doğrulamak için user_identifier_count kontrol edin.

İstekte yeterli sayıda kayıt varsa upload_match_rate_range, istekteki kayıtların eşleşme oranı aralığını içerir.

user_id_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestUserIdDataStatus'nin record_count bölümünü kontrol edin. record_count, hem başarılı hem de başarısız kayıtları içerir.

Alınan kullanıcı kimliklerinin sayısının beklentilerinizi karşıladığını doğrulamak için user_id_count kontrol edin.

Kitle üyelerini kaldırma durumu

İstek bir RemoveAudienceMembersRequest ise audience_members_removal_status alanı doldurulur. Her kitle verisi türü için kontrol etmeniz gereken RemoveAudienceMembersStatus alanı aşağıda verilmiştir. Bu alanlardan yalnızca biri ayarlanır.

composite_data_removal_status
Bileşik veriler için kaldırma durumu
google_user_id_data_removal_status
Google kullanıcı kimliği verileri için kaldırma durumu
mobile_data_removal_status
Mobil veriler için kaldırma durumu.
pair_data_removal_status
PAIR verileri için kaldırma durumu.
partner_provided_id_data_removal_status
İş ortağı tarafından sağlanan kimlik verileri için kaldırma durumu
ppid_data_removal_status
PPID verileri için kaldırma durumu.
user_data_removal_status
Kullanıcı verileri için kaldırma durumu.
user_id_data_removal_status
Kullanıcı kimliği verileri için kaldırma durumu

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını onaylamak için record_count işaretini kontrol edin. record_count hem başarılı hem de başarısız kayıtları içerir.

Ayrıca, alınan tanımlayıcıların toplam sayısını onaylamak için user_identifier_count, mobile_id_count, pair_id_count, ppid_count, user_id_count, google_user_id_count veya partner_provided_id_count değerini kontrol edin.

Bileşik veriler için data_type_counts bölümünü kontrol ederek tanımlayıcı sayısının beklentilerinizi karşıladığını doğrulayın. Bu listede, DataType tarafından alınan tüm tanımlayıcıların (ör. e-posta adresi, telefon numarası, fiziksel adres ve IP adresi) dökümü yer alır.

Uyarıları ve hataları kontrol etme

Hedef ve istek türüyle ilgili durum alanlarına ek olarak, RetrieveRequestStatusResponse, istekle ilgili uyarı ve hataların dökümünü içerir.

  • Hata, API'nin kaydı tamamen reddettiğini gösterir.
  • Uyarı, API'nin kaydı reddetmediğini ancak kaydın verilerinin bir kısmını yoksaymak zorunda kaldığını gösterir.

Örneğin, bir Event şifrelenmiş UserIdentifier verileri ve gclid gibi AdIdentifiers içeriyorsa ve UserIdentifier verilerinin şifresi çözülemiyorsa Data Manager API'si, AdIdentifiers kullanarak kaydı işlemeye devam eder ancak PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR uyarısını döndürür.

Ancak Event, AdIdentifiers içermiyorsa ve UserIdentifier verilerinin şifresi çözülemiyorsa Data Manager API, kaydın tamamını reddeder ve PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR hatasını bildirir. Bunun nedeni, geçerli bir Event'nın en az bir ad_identifiers veya user_data içermesi gerektiğidir.

Uyarı ve hata bilgilerini içeren yanıt alanları aşağıda verilmiştir. Bu alanlar, genel hedef durumu SUCCESS, PARTIAL_SUCCESS veya FAILURE'ye ulaştığında doldurulur.

warning_info

WarningInfo nesnesi. warning_counts alanı, WarningCount nesnelerinin listesini içerir. Her WarningCount, uyarı türünü içeren bir reason ve bu uyarı türüne sahip kayıt sayısını gösteren bir record_count içerir.

Genel hedef durumu SUCCESS olsa bile warning_info simgesini kontrol edin.

error_info

ErrorInfo nesnesi. error_counts alanı, ErrorCount nesnelerinin bir listesini içerir. Her ErrorCount, hata türünü içeren bir reason ve bu hata türü nedeniyle başarısız olan kayıtların sayısını gösteren bir record_count içerir.