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, 0 (enum değeri OK, HTTP yanıtı 200 OK) değerine 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.

    İstek başarılı olursa yanıtın request_id değerini yakalayın. Böylece, bir sonraki adımda teşhis bilgilerini almak için bu değeri kullanabilirsiniz.

  3. 30 dakika bekleyin, ardından her başarılı request_id için bir 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ığını doğrulamak ve verilerinizle ilgili sorunları belirlemek için her bir RetrieveRequestStatusResponse 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 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_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 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_DENIED hatası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

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 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_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.

İ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_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ı doğrulamak için google_user_id_count kontrol edin.

mobile_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestMobileDataStatus'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 mobil kimlik sayısının beklentilerinizi karşıladığını doğrulamak için mobile_id_count kontrol edin.

pair_data_ingestion_status

Alınan toplam kayıt sayısının beklentilerinizi karşıladığını doğrulamak için IngestPairDataStatus'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 PAIR kimliklerinin sayısının beklentilerinizi karşıladığını doğrulamak için pair_id_count 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'nin 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'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_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 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_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ı belirten bir record_count içerir.

Genel hedef durumu SUCCESS olsa bile warning_info 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.