טעינת נתונים מ-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 מוסבר איך הדוחות של Google Ad Manager הופכים לטבלאות ב-BigQuery ולתצוגות. |
| תדירות החזרה | המחבר של Google Ad Manager תומך בהעברות נתונים כל 4 שעות. כברירת מחדל, העברות הנתונים מ-Google Ad Manager חוזרות על עצמן כל 8 שעות. אפשר להגדיר את מועד העברת הנתונים כשמגדירים את העברת הנתונים. |
| רענון החלון | המחבר של Google Ad Manager מאחזר נתונים מ-Google Ad Manager מיומיים לכל היותר בזמן שהעברת הנתונים פועלת. אי אפשר להגדיר את חלון הרענון של המחבר הזה.
מידע נוסף זמין במאמר חלונות רענון. |
| זמינות הנתונים למילוי חוסרים | להפעיל מילוי ידני של חוסרים בנתונים כדי לאחזר נתונים מחוץ להעברת הנתונים המתוזמנת. אתם יכולים לאחזר נתונים עד למועד שמאפשרת מדיניות שמירת הנתונים במקור הנתונים שלכם. מידע על מדיניות שמירת הנתונים של Google Ad Manager זמין במאמר דוחות העברת נתונים של Google Ad Manager. |
הטמעת נתונים מהעברות של Google Ad Manager
כשמעבירים נתונים מ-Google Ad Manager ל-BigQuery, הנתונים נטענים בטבלאות ב-BigQuery שמחולקות למחיצות לפי תאריך. המחיצה בטבלה שאליה נטענים הנתונים תואמת לתאריך ממקור הנתונים. אם תזמנתם כמה העברות לאותו תאריך, שירות העברת הנתונים ל-BigQuery יחליף את המחיצה של התאריך הספציפי הזה בנתונים העדכניים ביותר. אם מבצעים כמה העברות באותו יום או מפעילים מילויים חוזרים, הנתונים לא משוכפלים והמחיצות של תאריכים אחרים לא מושפעות.רענון החלונות
חלון הרענון הוא מספר הימים שבהם העברת נתונים מאחזרת נתונים כשהיא מתרחשת. לדוגמה, אם חלון הרענון הוא שלושה ימים ומתבצעת העברה יומית, שירות העברת הנתונים ל-BigQuery מאחזר את כל הנתונים מטבלת המקור משלושת הימים האחרונים. בדוגמה הזו, כשמתבצעת העברה יומית, שירות העברת הנתונים ל-BigQuery יוצר מחיצה חדשה בטבלת היעד ב-BigQuery עם עותק של נתוני טבלת המקור מהיום הנוכחי, ואז מפעיל באופן אוטומטי הרצות של מילוי חוסרים כדי לעדכן את המחיצות בטבלת היעד ב-BigQuery עם נתוני טבלת המקור מהיומיים האחרונים. הפעלות מילוי החוסרים שמופעלות באופן אוטומטי יחליפו את טבלת היעד ב-BigQuery או יעדכנו אותה באופן מצטבר, בהתאם לתמיכה בעדכונים מצטברים במחבר של שירות העברת הנתונים ל-BigQuery.
כשמפעילים העברת נתונים בפעם הראשונה, המערכת מאחזרת את כל נתוני המקור שזמינים בחלון הרענון. לדוגמה, אם חלון הרענון הוא שלושה ימים ואתם מפעילים את העברת הנתונים בפעם הראשונה, שירות העברת הנתונים ל-BigQuery מאחזר את כל נתוני המקור בתוך שלושה ימים.
כדי לאחזר נתונים מחוץ לחלון הרענון, כמו נתונים היסטוריים, או כדי לשחזר נתונים מהפסקות זמניות או פערים בהעברה, אתם יכולים להפעיל או לתזמן הרצה למילוי חוסרים.עדכונים בקובצי העברת נתונים (DT)
אפשר לעדכן באופן מצטבר טבלאות שנוצרו מקובצי העברת נתונים של Google Ad Manager (Google Ad Manager DT). מערכת 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.
-
מוודאים שלארגון יש גישה לקובצי העברת הנתונים של Google Ad Manager (Google Ad Manager DT). הקבצים האלה נשלחים על ידי צוות 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 (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 שאימת את העברת הנתונים לצוות "כל הישויות" ב-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 Data Transfer Service ל-Google Ad Manager:
המסוף
נכנסים לדף Data transfers במסוף Google Cloud .
Create a transfer.
בדף Create Transfer:
- בקטע Source type, בשדה Source בוחרים באפשרות Google Ad Manager (formerly DFP).
- בקטע Transfer config name, בשדה השם המוצג מזינים שם להעברת הנתונים, למשל
My Transfer. שם ההעברה יכול להיות כל ערך שמאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- בקטע Destination settings, בשדה Dataset בוחרים את מערך הנתונים שיצרתם כדי לאחסן את הנתונים.
- בקטע פרטי מקור הנתונים:
- בשדה Cloud Storage bucket, מזינים את השם של הקטגוריה ב-Cloud Storage שבה מאוחסנים קובצי העברת הנתונים. כשמזינים את שם הקטגוריה, לא כוללים את
gs://. - בשדה קוד רשת, מזינים את קוד הרשת.
- בשדה Cloud Storage bucket, מזינים את השם של הקטגוריה ב-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
משתמשים ב-method projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
פתרון בעיות בהגדרת ההעברה של Google Ad Manager
אם נתקלתם בבעיות בהגדרת העברת הנתונים, תוכלו לקרוא את המאמר בעיות בהעברת נתונים מ-Google Ad Manager בקטע פתרון בעיות בהגדרות של העברות נתונים.
שליחת שאילתות לגבי הנתונים
כשמעבירים את הנתונים ל-BigQuery, הם נכתבים בטבלאות שמחולקות למחיצות (Partitions) לפי זמני כתיבת הנתונים. למידע נוסף, קראו את המאמר מבוא לטבלאות מחולקות למחיצות.
אם אתם שולחים שאילתות ישירות לטבלאות במקום להשתמש בתצוגות שנוצרו אוטומטית, אתם צריכים להשתמש בעמודה המדומה _PARTITIONTIME בשאילתה. למידע נוסף, קראו את המאמר שליחת שאילתות לטבלאות מחולקות למחיצות.
שאילתות לדוגמה
אתם יכולים להשתמש בשאילתות הבאות לדוגמה ב-Google Ad Manager כדי לנתח את הנתונים שהועברו. אפשר גם להשתמש בשאילתות בכלי להמחשה חזותית, כמו Data 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