טעינת נתונים מ-Google Ad Manager ל-BigQuery
אפשר לטעון נתונים מ-Google Ad Manager ל-BigQuery באמצעות המחבר של שירות העברת נתונים ל-BigQuery עבור Google Ad Manager. שירות העברת הנתונים ל-BigQuery מאפשר לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים מ-Google Ad Manager ל-BigQuery.
סקירה כללית של מחברים
שירות העברת הנתונים ל-BigQuery עבור המחבר של Google Ad Manager תומך באפשרויות הבאות להעברת נתונים.
| אפשרויות להעברת נתונים | תמיכה |
|---|---|
| דוחות נתמכים | מחבר Google Ad Manager תומך בהעברת נתונים מהדוחות הבאים:
מידע על האופן שבו דוחות של Google Ad Manager הופכים לטבלאות ולתצוגות ב-BigQuery זמין במאמר המרת דוחות של Google Ad Manager. |
| תדירות החזרה | מחבר Google Ad Manager תומך בהעברות נתונים כל 4 שעות. כברירת מחדל, העברות הנתונים מ-Google Ad Manager חוזרות על עצמן כל 8 שעות. אפשר להגדיר את השעה של העברת הנתונים כשמגדירים את העברת הנתונים. |
| רענון החלון | מחבר Google Ad Manager מאחזר נתונים מ-Google Ad Manager עד יומיים לפני מועד הפעלת העברת הנתונים. אי אפשר להגדיר את חלון הרענון למחבר הזה.
מידע נוסף זמין במאמר בנושא חלונות רענון. |
| זמינות של נתונים להשלמת חוסר (data backfill) | מריצים השלמת חוסר בנתונים כדי לאחזר נתונים שלא נכללים בהעברת הנתונים המתוזמנת. אפשר לאחזר נתונים עד לתקופה שמוגדרת במדיניות שמירת הנתונים במקור הנתונים. מידע על מדיניות שמירת הנתונים ב-Google Ad Manager זמין במאמר דוחות העברת נתונים ב-Google Ad Manager. |
העברת נתונים מ-Google Ad Manager
כשמעבירים נתונים מ-Google Ad Manager ל-BigQuery, הנתונים נטענים לטבלאות BigQuery שמחולקות למחיצות לפי תאריך. מחיצת הטבלה שאליה נטען הנתון תואמת לתאריך ממקור הנתונים. אם מתזמנים כמה העברות לאותו תאריך, שירות העברת הנתונים ל-BigQuery מחליף את המחיצה של התאריך הספציפי הזה בנתונים העדכניים ביותר. העברות מרובות באותו יום או הרצות של מילוי חוסרים לא גורמות לשכפול נתונים, והמחיצות של תאריכים אחרים לא מושפעות.רענון חלונות
חלון הרענון הוא מספר הימים שבהם מתבצעת העברת נתונים, שבמהלכם מתבצעת אחזור נתונים. לדוגמה, אם חלון הרענון הוא שלושה ימים וההעברה מתבצעת מדי יום, שירות העברת הנתונים ל-BigQuery מאחזר את כל הנתונים מטבלת המקור מ-3 הימים האחרונים. בדוגמה הזו, כשמתבצעת העברה יומית, שירות העברת הנתונים ל-BigQuery יוצר מחיצה חדשה בטבלת היעד ב-BigQuery עם עותק של נתוני טבלת המקור מהיום הנוכחי, ואז מפעיל אוטומטית מילוי חוסרים כדי לעדכן את המחיצות בטבלת היעד ב-BigQuery עם נתוני טבלת המקור מיומיים קודמים. הפעלות של מילוי חוסרים שמופעלות אוטומטית יחליפו או יעודכנו באופן מצטבר את טבלת היעד ב-BigQuery, בהתאם לשאלה אם יש תמיכה בעדכונים מצטברים במחבר של שירות העברת הנתונים ל-BigQuery.
כשמריצים העברת נתונים בפעם הראשונה, העברת הנתונים מאחזרת את כל נתוני המקור שזמינים בחלון הרענון. לדוגמה, אם חלון הרענון הוא שלושה ימים ואתם מריצים את העברת הנתונים בפעם הראשונה, שירות העברת הנתונים ל-BigQuery מאחזר את כל נתוני המקור תוך שלושה ימים.
כדי לאחזר נתונים מחוץ לחלון העדכון, כמו נתונים היסטוריים, או כדי לשחזר נתונים מהפסקות זמניות בשירות או מפערים בהעברה, אפשר להתחיל או לתזמן השלמת חוסר בנתונים.
עדכונים בקבצים של העברת נתונים (DT)
אפשר לעדכן בהדרגה טבלאות שנוצרו מקבצים של העברת נתונים (DT) מ-Google Ad Manager. מערכת Google Ad Manager מוסיפה את קובצי ה-DT של Google Ad Manager לקטגוריה של Cloud Storage. לאחר מכן, הרצת העברה טוענת באופן מצטבר את קובצי ה-DT החדשים של Google Ad Manager מהמאגר ב-Cloud Storage לטבלה ב-BigQuery, בלי לטעון מחדש קבצים שכבר הועברו לטבלה ב-BigQuery.
לדוגמה, מערכת Google Ad Manager מוסיפה את הערך file1 למאגר בשעה 1:00 ואת הערך file2 בשעה 2:00. העברת נתונים מתחילה בשעה 3:30 ומעלה את הערכים file1 ו-file2 אל BigQuery. Google Ad Manager מוסיף את file3 בשעה 5:00 ואת file4 בשעה 6:00. העברה שנייה מתחילה בשעה 7:30 ומוסיפה את file3 ואת file4 ל-BigQuery, במקום להחליף את הטבלה על ידי טעינת כל ארבעת הקבצים.
עדכונים בטבלאות התאמה
טבלאות התאמה מספקות מנגנון חיפוש לערכים הגולמיים שכלולים בקובצי העברת נתונים. רשימה של טבלאות התאמה זמינה במאמר שינוי דוחות ב-Google Ad Manager. טבלאות שונות של התאמות מתעדכנות בשיטות שונות של הטמעה. בטבלה הבאה מפורטות טבלאות ההתאמה ושיטות ההטמעה שלהן:
| שיטת הטמעה | תיאור | טבלת התאמות |
|---|---|---|
| עדכון מצטבר | עדכונים מצטברים מצורפים בכל הפעלה. לדוגמה, בהפעלה הראשונה של העברת הנתונים ביום מסוים נטענים כל הנתונים ששונו לפני ההפעלה, ובהפעלה השנייה של העברת הנתונים באותו יום נטענים הנתונים ששונו אחרי ההפעלה הקודמת ולפני ההפעלה הנוכחית. | Company, Order, Placement, LineItem, AdUnit |
| עדכון של כל הטבלה | עדכונים של כל הטבלה – הטבלה כולה נטענת פעם ביום. לדוגמה, בהרצת ההעברה הראשונה של היום נטען כל הנתונים שזמינים בטבלה. אם תפעילו העברה שנייה באותו יום, המערכת תדלג על טעינת הטבלאות האלה. | AdCategory, AudienceSegmentCategory, BandwidthGroup, Browser, BrowserLanguage,
DeviceCapability, DeviceCategory, DeviceManufacturer, GeoTarget, MobileCarrier,
MobileDevice, MobileDeviceSubmodel, OperatingSystem, OperatingSystemVersion,
ThirdPartyCompany, TimeZone, User, ProgrammaticBuyer
|
| החלפה של טבלה שלמה | כל הטבלה מוחלפת בכל הפעלה של ההעברה. | AudienceSegment |
לפני שמתחילים
לפני שיוצרים העברת נתונים ב-Google Ad Manager:
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת נתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery לאחסון הנתונים של Google Ad Manager.
-
מוודאים שלארגון שלכם יש גישה לקבצים של העברת נתונים (DT) ב-Google Ad Manager. הקבצים האלה מועברים על ידי צוות Google Ad Manager לקטגוריה של Cloud Storage. כדי לקבל גישה לקובצי DT של Google Ad Manager, כדאי לעיין במאמר בנושא דוחות העברת נתונים ב-Ad Manager. יכול להיות שיחולו חיובים נוספים מצוות Google Ad Manager.
אחרי שתשלימו את השלב הזה, תקבלו קטגוריה ב-Cloud Storage שדומה לזו:
gdfp-12345678לצוות Google Cloud אין אפשרות ליצור קובצי DT של Google Ad Manager או להעניק גישה אליהם בשמך. כדי לקבל גישה לקבצי DT של Google Ad Manager, צריך לפנות אל התמיכה של Google Ad Manager.
- מפעילים גישת API לרשת Google Ad Manager.
- אם אתם מתכוונים להגדיר התראות על העברת נתונים, אתם צריכים הרשאות
pubsub.topics.setIamPolicyל-Pub/Sub. הרשאות Pub/Sub לא נדרשות אם מגדירים רק התראות באימייל. מידע נוסף זמין במאמר בנושא התראות על הפעלת שירות העברת נתונים ל-BigQuery.
ההרשאות הנדרשות
ודאו שהענקתם את ההרשאות הבאות.
התפקידים הנדרשים ב-BigQuery
כדי לקבל את ההרשאות שנדרשות ליצירת העברת נתונים באמצעות שירות העברת נתונים ל-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד BigQuery Admin (roles/bigquery.admin) ב-IAM בפרויקט.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים בשירות העברת נתונים ל-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, נדרשות ההרשאות הבאות:
-
הרשאות של שירות העברת נתונים ל-BigQuery:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
הרשאות ב-BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף מופיע במאמר בנושא מתן גישה ל-bigquery.admin.
התפקידים הנדרשים ב-Google Ad Manager
מעניקים הרשאת גישה לקריאת קבצי DT של Google Ad Manager שמאוחסנים ב-Cloud Storage. ההרשאות לקבצי DT ב-Google Ad Manager מנוהלות על ידי צוות Google Ad Manager. בנוסף לקובצי DT של Google Ad Manager, צריך להוסיף את האדם שיוצר את העברת הנתונים לרשת Google Ad Manager, עם גישת קריאה לכל הישויות שנדרשות ליצירת טבלאות ההתאמה השונות (פריט הזמנה, הזמנה, יחידת מודעות וכו'). כדי לעשות את זה, צריך להוסיף את המשתמש ב-Ad Manager שאימת את העברת הנתונים אל הצוות All Entities ב-Ad Manager.
הגדרת העברה ב-Google Ad Manager
כדי להגדיר העברת נתונים ל-BigQuery עבור Google Ad Manager, צריך:
קטגוריה של Cloud Storage: כתובת ה-URI של הקטגוריה ב-Cloud Storage עבור קובצי ה-DT של Google Ad Manager, כפי שמתואר בקטע לפני שמתחילים. שם הקטגוריה צריך להיראות כך:
gdfp-12345678
קוד הרשת: הקוד של הרשת של רשת Google Ad Manager מופיע בכתובת ה-URL כשאתם מחוברים לרשת. לדוגמה, בכתובת ה-URL
https://admanager.google.com/2032576#delivery, 2032576הוא קוד הרשת שלכם. מידע נוסף מופיע במאמר איך מתחילים לעבוד עם Google Ad Manager.
כדי ליצור העברת נתונים באמצעות שירות העברת נתונים ל-BigQuery עבור Google Ad Manager:
המסוף
עוברים לדף 'העברות נתונים' במסוף Google Cloud .
לוחצים על יצירת העברה.
בדף Create Transfer:
- בקטע סוג המקור, בהגדרה מקור, בוחרים באפשרות Google Ad Manager (לשעבר DFP).
- בקטע שם הגדרת ההעברה, בשדה שם מוצג, מזינים שם להעברת הנתונים, למשל
My Transfer. שם ההעברה יכול להיות כל ערך שיעזור לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- בקטע הגדרות יעד, בשדה מערך נתונים, בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים.
- בקטע פרטי מקור הנתונים:
- בשדה Cloud Storage bucket (קטגוריה של Cloud Storage), מזינים את השם של הקטגוריה של Cloud Storage שבה נשמרים קובצי העברת הנתונים. כשמזינים את שם הקטגוריה, לא כוללים את
gs://. - בשדה קוד הרשת, מזינים את קוד הרשת.
- בשדה Cloud Storage bucket (קטגוריה של Cloud Storage), מזינים את השם של הקטגוריה של Cloud Storage שבה נשמרים קובצי העברת הנתונים. כשמזינים את שם הקטגוריה, לא כוללים את
בתפריט Service account, בוחרים חשבון שירות מתוך חשבונות השירות שמשויכים ל Google Cloud פרויקט. אתם יכולים לשייך חשבון שירות להעברה במקום להשתמש בפרטי הכניסה של המשתמש. מידע נוסף על שימוש בחשבונות שירות עם העברות נתונים זמין במאמר שימוש בחשבונות שירות.
אם נכנסתם באמצעות זהות מאוחדת, תצטרכו ליצור חשבון שירות כדי ליצור העברה. אם נכנסתם באמצעות חשבון Google, לא חובה להשתמש בחשבון שירות להעברה. לחשבון השירות צריכות להיות ההרשאות הנדרשות.(אופציונלי) בקטע אפשרויות להתראות:
- לוחצים על המתג כדי להפעיל התראות באימייל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל אם ההעברה נכשלת.
- לוחצים על המתג כדי להפעיל התראות על הפעלות של Pub/Sub. בקטע Select a Cloud Pub/Sub topic, בוחרים את שם הנושא או לוחצים על Create a topic. באמצעות האפשרות הזו מגדירים התראות על הפעלת Pub/Sub להעברה.
לוחצים על Save.
BQ
מזינים את הפקודה bq mk ומספקים את האפשרות ליצירת העברה –
--transfer_config. נדרשים גם הדגלים הבאים:
--data_source--target_dataset--display_name--params
דגלים אופציונליים:
-
--service_account_name– מציין חשבון שירות שישמש לאימות העברה ב-Google Ad Manager במקום חשבון המשתמש שלכם.
bq mk --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source \ --service_account_name=service_account_name
כאשר:
- project_id הוא מזהה הפרויקט.
- dataset הוא מערך נתוני היעד להגדרת ההעברה.
- name הוא השם המוצג של הגדרת העברת הנתונים. שם ההעברה יכול להיות כל ערך שיאפשר לכם לזהות את העברת הנתונים אם תצטרכו לשנות אותה בהמשך.
- parameters מכיל את הפרמטרים של הגדרת ההעברה שנוצרה בפורמט JSON. לדוגמה:
--params='{"param":"param_value"}'. ב-Google Ad Manager, צריך לספק את הפרמטריםbucketו-network_code.-
bucket: קטגוריית Cloud Storage שמכילה את קובצי DT של Google Ad Manager. -
network_code: הקוד של הרשת -
load_match_tables: האם לטעון טבלאות התאמה. מוגדר כברירת מחדל ל-True
-
- data_source הוא מקור הנתונים –
dfp_dt(Google Ad Manager). - service_account_name הוא שם חשבון השירות שמשמש לאימות העברת הנתונים. חשבון השירות צריך להיות בבעלות אותו חשבון
project_idששימש ליצירת ההעברה, וצריכות להיות לו כל ההרשאות הנדרשות.
אפשר גם להשתמש בדגל --project_id כדי לציין פרויקט מסוים. אם לא מציינים את --project_id, נעשה שימוש בפרויקט שמוגדר כברירת מחדל.
לדוגמה, הפקודה הבאה יוצרת העברת נתונים של Google Ad Manager בשם My Transfer באמצעות הקוד של הרשת 12345678, קטגוריה של Cloud Storage gdfp-12345678 ומערך נתונים ליעד mydataset. העברת הנתונים נוצרת בפרויקט ברירת המחדל:
bq mk --transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket": "gdfp-12345678","network_code": "12345678"}' \
--data_source=dfp_dt
אחרי הרצת הפקודה, תקבלו הודעה כמו זו:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
פועלים לפי ההוראות ומדביקים את קוד האימות בשורת הפקודה.
API
משתמשים בשיטה projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
פתרון בעיות בהגדרת ההעברה ב-Google Ad Manager
אם נתקלתם בבעיות בהגדרת העברת הנתונים, כדאי לעיין במאמר בעיות בהעברה ב-Google Ad Manager שבקטע פתרון בעיות בהגדרות העברה.
שאילתות על הנתונים
כשמעבירים את הנתונים ל-BigQuery, הם נכתבים בטבלאות עם חלוקה למחיצות בזמן ההטמעה. מידע נוסף זמין במאמר מבוא לטבלאות עם מחיצות.
אם אתם שולחים שאילתות ישירות לטבלאות במקום להשתמש בתצוגות שנוצרו אוטומטית, אתם צריכים להשתמש בעמודה הווירטואלית _PARTITIONTIME בשאילתה. מידע נוסף זמין במאמר בנושא שליחת שאילתות לטבלאות מחולקות.
שאילתות לדוגמה
אפשר להשתמש בשאילתות לדוגמה הבאות של Google Ad Manager כדי לנתח את הנתונים שהועברו. אפשר גם להשתמש בשאילתות בכלי להמחשה חזותית כמו Looker Studio. השאילתות האלה נועדו לעזור לכם להתחיל להריץ שאילתות על נתוני Google Ad Manager באמצעות BigQuery. אם יש לכם שאלות נוספות לגבי הפעולות שאפשר לבצע באמצעות הדוחות האלה, אתם יכולים לפנות לנציג הטכני שלכם ב-Google Ad Manager.
בכל אחת מהשאילתות הבאות, מחליפים משתנים כמו dataset בערכים שלכם. לדוגמה, מחליפים את network_code בקוד הרשת שלכם ב-Google Ad Manager.
חשיפות ומשתמשים ייחודיים לפי עיר
שאילתת ה-SQL לדוגמה הבאה מנתחת את מספר החשיפות והמשתמשים הייחודיים לפי עיר ב-30 הימים האחרונים.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT City, _DATA_DATE AS Date, count(*) AS imps, count(distinct UserId) AS uniq_users FROM `dataset.NetworkImpressions_network_code` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY City, Date
חשיפות ומשתמשים ייחודיים לפי סוג פריט
שאילתת ה-SQL לדוגמה הבאה מנתחת את מספר החשיפות והמשתמשים הייחודיים לפי סוג פריט במהלך 30 הימים האחרונים.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT MT.LineItemType AS LineItemType, DT._DATA_DATE AS Date, count(*) AS imps, count(distinct UserId) AS uniq_users FROM `dataset.NetworkImpressions_network_code` AS DT LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT ON DT.LineItemId = MT.Id WHERE DT._DATA_DATE BETWEEN start_date AND end_date GROUP BY LineItemType, Date ORDER BY Date desc, imps desc
חשיפות לפי יחידת מודעות
שאילתת ה-SQL לדוגמה הבאה מנתחת את מספר החשיפות לפי יחידת מודעות ב-30 הימים האחרונים.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT MT.AdUnitCode AS AdUnitCode, DT.DATA_DATE AS Date, count(*) AS imps FROM `dataset.NetworkImpressions_network_code` AS DT LEFT JOIN `dataset.MatchTableAdUnit_network_code` AS MT ON DT.AdUnitId = MT.Id WHERE DT._DATA_DATE BETWEEN start_date AND end_date GROUP BY AdUnitCode, Date ORDER BY Date desc, imps desc
חשיפות לפי פריט
שאילתת ה-SQL לדוגמה הבאה מנתחת את מספר החשיפות לפי פריט במהלך 30 הימים האחרונים.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT MT.Name AS LineItemName, DT._DATA_DATE AS Date, count(*) AS imps FROM `dataset.NetworkImpressions_network_code` AS DT LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT ON DT.LineItemId = MT.Id WHERE DT._DATA_DATE BETWEEN start_date AND end_date GROUP BY LineItemName, Date ORDER BY Date desc, imps desc