Etkinlik ve kitle yüklemelerinizin durumunu doğrulamak ve verilerinizle ilgili sorunları belirlemek için önerilen iş akışı aşağıda verilmiştir.
Etkinlik göndermek veya kitle üyelerini göndermek ya da kaldırmak için istek gönderin.
Her isteğin genel durumunu kontrol edin. Başarılı bir istekte
code,0(enum değeriOK, HTTP yanıtı200 OK) değerine eşit olan birStatusbulunur veIngestEventsResponse,IngestAudienceMembersResponseveyaRemoveAudienceMembersResponsedöndürülür.Bir istek başarısız olursa isteği hatayı giderecek şekilde değiştirin ve tekrar gönderin.
İstek başarılı olursa yanıtın
request_iddeğerini yakalayın. Böylece, bir sonraki adımda teşhis bilgilerini almak için bu değeri kullanabilirsiniz.30 dakika bekleyin, ardından her başarılı
request_idiçin birRetrieveRequestStatusisteği gönderin.Her bir hedefin hedef durumu
SUCCESS,PARTIAL_SUCCESSveyaFAILUREolana kadar herrequest_idiçin bu adımı düzenli olarak tekrarlayın. Her istek arasında beklemek için eksponansiyel geri yükleme algoritması kullanın.Yüklemelerinizin düzgün çalıştığını doğrulamak ve verilerinizle ilgili sorunları belirlemek için her bir
RetrieveRequestStatusResponseinceleyin.Veri sorunlarını düzeltme
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 veri alma isteğindeki hedefleri tanımlar ve her Destination için arayanın operating_account erişimine sahip 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_accountiçin besleme isteğindelogin_accountolarak bir üst yönetici hesabı belirtildiyse kimlik bilgilerinin aynı yönetici hesabı üzerindenoperating_accounterişimi de olmalıdır. Kimlik bilgileriyle ilişkili Google Hesabı'nın altoperating_accounthesabına doğrudan erişimi olsa bile, bu hesabın içe aktarma sırasında belirtilenlogin_accountyönetici hesabı üzerinden erişimi yoksa istekPERMISSION_DENIEDhatasıyla başarısız olur.Yeterli erişim düzeyi: Kimlik bilgileriyle ilişkili Google Hesabı'nın,
operating_accountürününe veri aktarma izni olan bir erişim düzeyine veya role sahip olması gerekir.Ö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_DENIEDhatasıyla başarısız olur.
Anket stratejisi
Orijinal istekteki her hedef için request_status, SUCCESS, FAILURE veya PARTIAL_SUCCESS değerine ulaşana kadar eksponansiyel geri yükleme algoritması kullanarak RetrieveRequestStatusRequest öğesini düzenli olarak gönderin. Bu işlem 24 saati bulabilir ancak Data Manager API'si bazı istekleri 30 dakika gibi kısa bir sürede işleyebilir.
Canlılık ve kota kullanımı arasında denge kuran makul bir ilk bekleme süresi ve yeniden deneme yapılandırması örneğini aşağıda bulabilirsiniz:
| Ayar | Değer |
|---|---|
| İlk teşhis isteğinden önceki bekleme süresi (dakika) | 30 |
| Geri çekilme çarpanı | 1.3 |
| Maksimum geri çekilme (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

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 deneme yaptığı "thundering herd" sorununu önlemek için bekleme gecikmelerine küçük ve rastgele bir miktar titreşim ekleyin.
Yanıtları incele
RetrieveRequestStatusResponse içindeki request_status_per_destination, ilgili besleme 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: Hedef için istek işleme hatasız tamamlandı. İşleme sırasında işaretlenen uyarıları kontrol edin.FAILURE: Hatalar nedeniyle hedefe ait kayıtların tümü başarısız oldu. Tüm kayıtların neden başarısız olduğunu belirlemek için uyarıları ve hataları kontrol edin. İşleme sırasında işaretlenen uyarıları da kontrol edin.PARTIAL_SUCCESS: Hedef için kayıtlardan bazıları 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.
Her hedef için etkinlik veya kitle durumunu kontrol etme
Besleme isteği türüne karşılık gelen durum alanını inceleyin. Her RequestStatusPerDestination için 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 edilmesi gereken IngestAudienceMembersStatus alanı aşağıda verilmiştir. Bu alanlardan yalnızca biri ayarlanır.
composite_data_ingestion_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestCompositeDataStatus'ninrecord_countbö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_countskontrol edin. Bu listede,DataTypetarafı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.İstekte yeterli sayıda kayıt varsa
upload_match_rate_range, istekteki kayıtların eşleşme oranı aralığını içerir.google_user_id_data_ingestion_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestGoogleUserIdDataStatus'ninrecord_countbö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ı doğrulamak için
google_user_id_countkontrol edin.mobile_data_ingestion_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestMobileDataStatus'ninrecord_countbölümü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ı doğrulamak için
mobile_id_countkontrol edin.pair_data_ingestion_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestPairDataStatus'ninrecord_countbölümünü kontrol edin.record_count, hem başarılı hem de başarısız kayıtları içerir.Alınan PAIR kimliklerinin sayısının beklentilerinizi karşıladığını doğrulamak için
pair_id_countkontrol edin.partner_provided_id_data_ingestion_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestPartnerProvidedIdDataStatus'ninrecord_countdeğerini kontrol edin.record_counthem 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_countkontrol edin.ppid_data_ingestion_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestPpidDataStatus'ninrecord_countbö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_countkontrol edin.user_data_ingestion_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestUserDataStatus'ninrecord_countbö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_identifier_countkontrol 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_statusAlınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için
IngestUserIdDataStatus'ninrecord_countbö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_countkontrol 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 verilerinin kaldırılma durumu.
user_data_removal_status- Kullanıcı verilerinin kaldırılma durumu.
user_id_data_removal_status- User ID verileri için kaldırma durumu
Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için record_count 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ü için durum alanlarına ek olarak RetrieveRequestStatusResponse, istekle ilgili uyarıların 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'si kaydın tamamını reddeder ve PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR hatasını bildirir. Bunun nedeni, geçerli bir Event'nin ad_identifiers veya user_data'den en az birini içermesi gerektiğidir.
Uyarı ve hata bilgilerini içeren yanıt alanları şunlardır: Bu alanlar, genel hedef durumu SUCCESS, PARTIAL_SUCCESS veya FAILURE olduğunda doldurulur.
warning_infoWarningInfonesnesi.warning_countsalanı,WarningCountnesnelerinin listesini içerir. HerWarningCount, uyarı türünü içeren birreasonve bu uyarı türüne sahip kayıt sayısını belirten birrecord_countiçerir.Genel hedef durumu
SUCCESSolsa bilewarning_infokontrol edin.error_infoErrorInfonesnesi.error_countsalanı,ErrorCountnesnelerinin bir listesini içerir. HerErrorCount, hata türünü içeren birreasonve bu hata türü nedeniyle başarısız olan kayıtların sayısını gösteren birrecord_countiçerir.