כאן מפורט תהליך העבודה המומלץ לאימות התקינות של העלאות נתוני האירועים והקהלים ולזיהוי בעיות בנתונים.
בודקים את הסטטוס הכולל של כל בקשה. בקשה שמושלמת בהצלחה כוללת
Statusעםcodeששווה ל-0(ערך enumOK, תגובת HTTP200 OK), ומחזירהIngestEventsResponse,IngestAudienceMembersResponseאוRemoveAudienceMembersResponse.אם הבקשה לא מצליחה, צריך לשנות אותה כדי לטפל בשגיאה ולשלוח אותה שוב.
אם הבקשה מצליחה, צריך לתעד את
request_idשל התגובה כדי שתוכלו להשתמש בו בשלב הבא לאחזור נתוני אבחון.ממתינים 30 דקות ואז שולחים בקשת
RetrieveRequestStatusלכלrequest_idשהועלה בהצלחה.חוזרים על השלב הזה מעת לעת לכל
request_idעד שסטטוס היעד של כל יעד מגיע ל-SUCCESS,PARTIAL_SUCCESSאוFAILURE. כדאי להשתמש באלגוריתם של השהיה מעריכית לפני ניסיון חוזר כדי להמתין בין כל בקשה.כדאי לבדוק כל
RetrieveRequestStatusResponseכדי לוודא שההעלאות פועלות בצורה תקינה ולזהות בעיות בנתונים.תיקון בעיות בנתונים.
חוזרים לשלב 1 וחוזרים על הפעולות עד שפותרים את כל הבעיות בהעלאות.
שליחת בקשות
במאפיין RetrieveRequestStatusRequest צריך לציין ערך request_id אחד. צריך לשלוח בקשת סטטוס נפרדת לכל מזהה בקשה ששמרתם מבקשת הטמעה מוצלחת.
שולחים את RetrieveRequestStatusRequest באופן תקופתי באמצעות אלגוריתם של השהיה מעריכית לפני ניסיון חוזר עד ש-request_status מגיע ל-SUCCESS, ל-FAILURE או ל-PARTIAL_SUCCESS לכל יעד בבקשה המקורית. התהליך עשוי להימשך עד 24 שעות, אבל יכול להיות ש-Data Manager API יסיים לעבד חלק מהבקשות תוך 30 דקות בלבד.
דוגמה לזמן המתנה ראשוני סביר ולתצורת ניסיון חוזר שמאזנת בין זמינות לבין שימוש במכסת נפח:
| הגדרה | ערך |
|---|---|
| זמן ההמתנה לפני בקשת האבחון הראשונה (בדקות) | 30 |
| מכפיל ההשהיה | 1.3 |
| השהיה לפני ניסיון חוזר מקסימלית (בדקות) | 60 (שעה אחת) |
| משך הזמן הכולל המקסימלי (בדקות) | 1440 (24 שעות) |
זוהי רצף של בקשות והזמן שחלף עם ההגדרה הזו:
תרשים

נתונים
| ניסיון | הזמן שחלף מאז בקשת ההטמעה (hh:mm) | השהיה לפני ניסיון | הערות |
|---|---|---|---|
| 1 | 00:30 | 30.0 דקות | קודם בודקים את הזמינות של הסטטוס |
| 2 | 01:09 | 39.0 דקות | |
| 3 | 01:59 | 50.7 דקות | |
| 4 | 02:59 | 60.0 דקות | ההשהיה מוגבלת עכשיו לשעה אחת |
| 5 | 03:59 | 60.0 דקות | |
| 6 | 04:59 | 60.0 דקות | |
| 7 | 05:59 | 60.0 דקות | |
| 8 | 06:59 | 60.0 דקות | |
| 9 | 07:59 | 60.0 דקות | |
| 10 | 08:59 | 60.0 דקות | |
| 11 | 09:59 | 60.0 דקות | |
| 12 | 10:59 | 60.0 דקות | |
| 13 | 11:59 | 60.0 דקות | סימון של 12 שעות |
| 14 | 12:59 | 60.0 דקות | |
| 15 | 13:59 | 60.0 דקות | |
| 16 | 14:59 | 60.0 דקות | |
| 17 | 15:59 | 60.0 דקות | |
| 18 | 16:59 | 60.0 דקות | |
| 19 | 17:59 | 60.0 דקות | |
| 20 | 18:59 | 60.0 דקות | |
| 21 | 19:59 | 60.0 דקות | |
| 22 | 20:59 | 60.0 דקות | |
| 23 | 21:59 | 60.0 דקות | |
| 24 | 22:59 | 60.0 דקות | |
| 25 | 23:59 | 60.0 דקות | הבקשה האחרונה לפני שהגעתם למקסימום של 24 שעות |
כדי למנוע את בעיית העדר הרועם, שבה הרבה לקוחות מנסים שוב בו-זמנית, מוסיפים לזמני ההשהיה תנודות אקראיות קטנות.
בדיקת התשובות
השדה request_status_per_destination בבקשת RetrieveRequestStatusResponse מכיל רשומה נפרדת לכל יעד בבקשת ההטמעה התואמת.
לדוגמה, אם IngestAudienceMembersRequest
כלל 3 רשומות ברשימה destinations לשליחת נתונים ל-3 קהלים שונים, תגובת הסטטוס תכלול 3 רשומות ב-request_status_per_destination (רשומה אחת לכל קהל).
בדיקת הסטטוס הכולל של היעד
קודם כול, בודקים את השדה request_status כדי לראות אם ה-Data Manager API סיים לעבד את הנתונים של destination ב-RequestStatusPerDestination.
אלה הערכים האפשריים של request_status:
PROCESSING: הנתונים של היעד עדיין נמצאים בתהליך עיבוד. האזהרות והשגיאות לא מאוכלסות ביעד בשלב הזה.
SUCCESS: עיבוד הבקשה ליעד הושלם ללא שגיאות. בודקים אם יש אזהרות שסומנו במהלך העיבוד.FAILURE: כל הרשומות של היעד נכשלו בגלל שגיאות. בודקים אם יש אזהרות ושגיאות כדי להבין למה כל הרשומות נכשלו. כדאי גם לבדוק אם יש אזהרות שסומנו במהלך העיבוד.
PARTIAL_SUCCESS: חלק מהרשומות ליעד עברו בהצלחה, אבל אחרות נכשלו בגלל שגיאות. בודקים אם יש שגיאות כדי להבין למה חלק מהרשומות נכשלו. כדאי גם לבדוק אם יש אזהרות שסומנו במהלך העיבוד.
בדיקת הסטטוס של אירוע או קהל לפי יעד
בודקים את שדה הסטטוס שמתאים לסוג הבקשה להעלאת נתונים. רק אחד מהשדות הבאים מוגדר בכל RequestStatusPerDestination:
סטטוס הטמעת הנתונים של אירועים
השדה events_ingestion_status יאוכלס אם הבקשה הייתה IngestEventsRequest.
כדאי לבדוק את record_count של IngestEventStatus כדי לוודא שהמספר הכולל של הרשומות שהתקבלו תואם למה שציפיתם. המספר record_count כולל רשומות שהצליחו ורשומות שנכשלו.
סטטוס הטמעת הנתונים של חברי הקהל
השדה audience_members_ingestion_status יאוכלס אם הבקשה הייתה IngestAudienceMembersRequest. כאן מופיע השדה IngestAudienceMembersStatus שצריך לבדוק עבור כל סוג של נתוני קהל. מוגדר רק אחד מהשדות האלה.
user_data_ingestion_statusבודקים את
record_countשלIngestUserDataStatusכדי לוודא שהמספר הכולל של הרשומות שהתקבלו תואם לציפיות שלכם. המספרrecord_countכולל גם רשומות שהצליחו וגם רשומות שנכשלו.מסמנים את התיבה
user_identifier_countכדי לוודא שמספר מזהי המשתמשים שהתקבלו תואם לציפיות שלכם.אם בבקשה היה מספר מספיק של רשומות, השדה
upload_match_rate_rangeמכיל את טווח שיעור ההתאמה של הרשומות בבקשה.mobile_data_ingestion_statusבודקים את
record_countשלIngestMobileDataStatusכדי לוודא שמספר הרשומות הכולל שהתקבל תואם לציפיות שלכם. המספרrecord_countכולל גם רשומות שהצליחו וגם רשומות שנכשלו.בודקים את הערך
mobile_id_countכדי לוודא שמספר המזהים לנייד שהתקבלו תואם לציפיות שלכם.pair_data_ingestion_statusבודקים את
record_countשלIngestPairDataStatusכדי לוודא שהמספר הכולל של הרשומות שהתקבלו תואם לציפיות שלכם. המספרrecord_countכולל גם רשומות שהצליחו וגם רשומות שנכשלו.בודקים את
pair_id_countכדי לוודא שמספר מזהי ה-PAIR שקיבלתם תואם למה שציפיתם.ppid_data_ingestion_statusבודקים את
record_countשלIngestPpidDataStatusכדי לוודא שהמספר הכולל של הרשומות שהתקבלו תואם לציפיות שלכם. המספרrecord_countכולל גם רשומות שהצליחו וגם רשומות שנכשלו.בודקים את
ppid_countכדי לוודא שמספר המזהים האישיים שמתקבל תואם לציפיות שלכם.user_id_data_ingestion_statusבודקים את
record_countשלIngestUserIdDataStatusכדי לוודא שהמספר הכולל של הרשומות שהתקבלו תואם לציפיות שלכם. המספרrecord_countכולל גם רשומות שהצליחו וגם רשומות שנכשלו.מסמנים את התיבה
user_id_countכדי לוודא שמספר מזהי המשתמשים שהתקבלו תואם לציפיות שלכם.
סטטוס ההסרה של חברי הקהל
השדה audience_members_removal_status יאוכלס אם הבקשה הייתה RemoveAudienceMembersRequest. הנה השדה RemoveAudienceMembersStatus שצריך לבדוק לכל סוג של נתוני קהל. מוגדר רק אחד מהשדות האלה.
user_data_removal_status- סטטוס ההסרה של נתוני משתמשים.
mobile_data_removal_status- סטטוס ההסרה של חבילת הגלישה.
pair_data_removal_status- סטטוס ההסרה של נתוני PAIR.
ppid_data_removal_status- סטטוס ההסרה של נתוני PPID.
user_id_data_removal_status- סטטוס ההסרה של נתונים של מזהי משתמשים
בודקים את record_count כדי לוודא שהמספר הכולל של הרשומות שהתקבלו תואם לציפיות שלכם. המספר record_count כולל רשומות מוצלחות ורשומות שנכשלו.
בנוסף, כדאי לבדוק את user_identifier_count, mobile_id_count או pair_id_count כדי לוודא את המספר הכולל של מזהי משתמשים, מזהים לנייד או מזהי PAIR שהתקבלו.
בדיקת אזהרות ושגיאות
בנוסף לשדות הסטטוס של היעד וסוג הבקשה, RetrieveRequestStatusResponse מכיל פירוט של האזהרות והשגיאות שקשורות לבקשה.
- שגיאה מציינת שה-API דחה את הרשומה לחלוטין.
- אזהרה מציינת שה-API לא דחה את הרשומה, אבל הוא נאלץ להתעלם מחלקים מהנתונים של הרשומה.
לדוגמה, אם רשומה של המרה אופליין ב-Google Ads מכילה נתונים מוצפנים של UserIdentifier ושל AdIdentifiers כמו gclid, ואי אפשר לפענח את הנתונים של UserIdentifier, ה-Data Manager API עדיין מעבד את הרשומה באמצעות AdIdentifiers, אבל מחזיר את האזהרה PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR.Event
עם זאת, אם Event לא מכיל AdIdentifiers ואי אפשר לפענח את הנתונים של UserIdentifier, Data Manager API דוחה את הרשומה כולה ומדווח על השגיאה PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR, כי Event תקף של המרה אופליין ב-Google Ads חייב להכיל לפחות אחד מהערכים ad_identifiers או user_data.
אלה שדות התגובה שמכילים מידע על אזהרות ושגיאות. השדות האלה מתמלאים כשהסטטוס הכולל של היעד מגיע לערך SUCCESS, PARTIAL_SUCCESS או FAILURE.
warning_infoרשימה של
WarningCountאובייקטים. כל רכיבWarningCountמכיל רכיבreasonעם סוג האזהרה, ורכיבrecord_countשמציין את מספר הרשומות שקיבלו את סוג האזהרה הזה.כדאי לבדוק את
warning_infoגם אם הסטטוס הכולל של היעד הואSUCCESS.error_infoרשימה של
ErrorCountאובייקטים. כלErrorCountמכילreasonעם סוג השגיאה, ו-record_countשמציין את מספר הרשומות שנכשלו בגלל סוג השגיאה הזה.