חיבור Ads + GA
משתמש רובוט אחד ל-Ads, לאנליטיקס ול-Search Console. הכול בממשקים, עם צילומי מסך. בערך עשר דקות, ופעם אחת לכל הסטודיו.
#connect-links
קישורים ישירים
לכל מקום שהשלבים למטה מגיעים אליו דרך חיפוש. הקישורים ל-Cloud נפתחים על הפרויקט שלנו, cogent-theater-509822-f6; Ads ו-GA נפתחים על החשבון המחובר.
Google Cloud (הפרויקט today-web-google-ads)
- Google Ads API: הדף של ה-API, עם כרטיס Access levels והכפתור Manage ↗כאן משנים את רמת הגישה (Test → Explorer → Basic). זה ה-Manage מצילום 01.
- Google Analytics Data API ↗
- Google Analytics Admin API ↗
- Google Search Console API ↗
- כל ה-API המופעלים בפרויקט ↗
- Service accounts: הרובוט והמפתחות שלו ↗⋮ בשורה של הרובוט → Manage keys
- ספריית ה-API (להפעיל API חדש) ↗
Google Ads
- החשבון (8741548972) ↗Admin → Access and security: שם יושב הרובוט
- API Center (developer token) ↗לא נדרש לרובוט, כאן רק כדי שלא לחפש
Google Analytics ו-Search Console
- GA, הנכס today-web (541953643) ↗ניהול → ניהול הרשאות גישה לנכס
- Search Console: משתמשים והרשאות של today-web.studio ↗
#connect-steps
השלבים
בכל שלב: מה מקלידים בשורת החיפוש למעלה, ועל מה לוחצים, בלי ניווט בתפריטים. מי שרוצה לקפוץ ישר: הקישורים למעלה. המייל של הרובוט נוצר בשלב 03, ואותו מדביקים בשלבים 05 עד 07. אצלנו:
today-web-service-account@cogent-theater-509822-f6.iam.gserviceaccount.com
- 01
Google Cloud
חיפוש:Google Ads APIEnableAccess levelsManageApply for accessפרויקט אחד לכל הסטודיו, לא לכל לקוח (אצלנו today-web-google-ads). רמת Explorer מאושרת תוך דקות ומגיע מייל, ובלעדיה כל דוח עונה CLOUD_PROJECT_NOT_APPROVED. Keyword Planner דורש רמת Basic (אותו מסך, בקשה נוספת, בדיקה ידנית של כמה ימים).



- 02
Google Cloud
חיפוש:Google Analytics Data APIEnableואותו דבר ל-Google Analytics Admin API (רשימת הנכסים). יש ארבעה API עם שם כמעט זהה: רק Data ו-Admin.
- 03
Google Cloud
חיפוש:Service accountsCreate service accountשםCreate and closeזה ה"רובוט": משתמש בשביל תוכנה, עם מייל משלו. דילוג על Permissions ועל Principals.


- 04
Google Cloud
⋮ בשורה של הרובוטManage keysAdd keyCreate new keyJSONCreateקובץ יורד. הוא הסיסמה של הרובוט: מעבירים אותו ל-~/.google-marketing/service-account.json ולא משאירים ב-Downloads. גוגל מבטל לבד מפתח שעלה לריפו ציבורי.

- 05
Google Ads, בחשבון עם הקמפיינים
AdminAccess and security+המייל של הרובוטStandardSendלא צריך אישור: הרובוט רואה את החשבון מיד. Read only אם רוצים רק דוחות. Email only ו-Admin לא זמינים לרובוט.

- 06
Google Analytics
ניהולניהול הרשאות גישה לחשבוןהוספההמייל של הרובוטעורךהוספהעורך ולא צופה: ככה הרובוט גם מסמן אירוע מרכזי (generate_lead) בעצמו, לא רק קורא דוחות. את הודעת המייל אפשר לבטל, לרובוט אין תיבת דואר.
- 07
Search Console
חיפוש:Google Search Console APIEnable ב-CloudSearch ConsoleSettingsUsers and permissionsAdd userהמייל של הרובוטFullAddמה אנשים חיפשו כשהאתר הופיע בגוגל, ובאיזה מיקום: החלק שאנליטיקס מסתיר. Full מאפשר גם להגיש sitemap. הנכס נקבע ב-ANALYTICS.searchConsoleSite ב-lib/site.ts.
#connect-test
בדיקה
npm run ads -- accounts # the account ID = the robot is in
npm run ads -- campaigns # campaigns, budget, clicks, cost
npm run ga -- overview # GA works
npm run gsc -- queries # organic searches: impressions, clicks, positionאת מספר חשבון ה-Ads הסקריפט קורא מ-~/.google-marketing/ads.json (customer_id), או מ---customer. כל הדוחות והשגיאות: Analytics, Google Ads.
#connect-skip
מה לא צריך
אף אחד מהם לא נדרש.
חשבון מנהל (MCC)
מטריה לסוכנות עם הרבה חשבונות. לא משנה כלום בגישה ל-API.
developer token מ-API Center
הטופס שם הוא ל-App Conversion Tracking בלבד (כך כתוב בבאנר האדום). הגישה ל-Ads API נקבעת לפי הפרויקט ב-Cloud.
קישור התחברות, passkey, Test users
השיטה הישנה (OAuth): קישור שנבנה בטרמינל, אימות בנייד, ותוקף של 7 ימים. הרובוט מחליף את כל זה.
