הגדרת תיוג בצד השרת באמצעות Cloud Run

במדריך הזה נסביר איך:

  • הקצה שרת תצוגה מקדימה כדי להפעיל את תכונת התצוגה המקדימה עבור מאגר התגים.
  • מקצים שרת תיוג לטיפול בתנועה בזמן אמת.
  • להגדיל או להקטין את מספר השרתים שמריצים את הקונטיינר של Google Tag Manager.
  • חשוב להקפיד שהגרסה של שרת התיוג תהיה מעודכנת אחרי הקצאת השרת.

דרישות מוקדמות

  1. צריך חשבון GCP. במקרה שאין לכם חשבון GCP חדש, עליכם ליצור חשבון חדש.
  2. צריך חשבון לחיוב ב-GCP. אם אין לכם חשבון כזה, עליכם ליצור חשבון לחיוב ב-GCP (נדרש התפקיד 'יצירת חשבונות לחיוב').
  3. צריך את התפקיד 'יצירת פרויקטים' ו'משתמש בחשבון לחיוב'. למידע נוסף על הוספת תפקידים

הקצאת שרת תצוגה מקדימה ותיוג

ניתן לך להקצות שירות Cloud Run באופן אוטומטי ב-Google Tag Manager או באופן ידני ב-Google Cloud.

עריכה של הגדרת השירות

כדי לשנות את הגדרת השירות:

  1. פותחים את Cloud Run.
  2. בוחרים את השירות שרוצים לשנות.
  3. לוחצים על עריכה ופריסה של גרסה חדשה.
  4. מבצעים את השינויים ולוחצים על פריסה.

עלות של Cloud Run

בהגדרה הזו של Cloud Run, כל שרת עולה כ-45 $לחודש (USD). כל שרת הוא מכונה של Cloud Run עם 1 vCPU ו-0.5GB זיכרון באמצעות המעבד (CPU) שמוקצה תמיד למודל תמחור.

מומלץ להפעיל לפחות 2 מכונות כדי לצמצם את הסיכון לאובדן נתונים במקרה של הפסקה זמנית בשירות של השרת. עם זאת, אפשר לבחור להפעיל פחות (או יותר) שרתים. אנחנו צופים ששרתים בהתאמה אוטומטית לעומס (autoscaling) 2 עד 10 יטפלו ב-35-350 בקשות בשנייה, אבל הביצועים משתנים בהתאם למספר התגים ולפעולות שהם עושים.

Cloud Run יותאם באופן דינמי עם העומס. ההגדרה max-instances היא התרחיש הגרוע ביותר מבחינת הסכום שתצטרכו לשלם על משאבים. Cloud Run לא יקצה כל כך הרבה מכונות, אלא אם יהיה צורך.

מחשבון Cloud Run

אופציונלי: מעבר מ-App Engine

אם יצרתם בעבר פריסה של App Engine ווידאתם שהיא לא מקבלת יותר תנועה, עליכם להשבית את אפליקציית App Engine כדי למנוע חיובים לא צפויים.

אופציונלי: פריסה במספר אזורים

אם לאתר שלכם יש נוכחות גלובלית או שאתם רוצים ליצור יתירות בשירות, תצטרכו לפרוס את שרתי התיוג במספר אזורים.

לפני שמתחילים:

  1. יצירת מאזן עומסים
  2. הערה: BACKEND_NAME שבחרת.

כדי להוסיף עוד אזורים לפריסה:

  1. מחליפים את REGION באזור שבו נפרס שרת התצוגה המקדימה. יכול להיות שהשדה הזה כבר ימולא אם פעלתם בהתאם לאפשרויות של שורת הפקודה כדי להקצות את שרת התצוגה המקדימה והתיוג.
  2. מחליפים את הערך CONTAINER_CONFIG במחרוזת ההגדרה של מאגר התגים מ-Tag Manager. יכול להיות שהשדה הזה כבר ימולא אם פעלתם בהתאם לאפשרויות של שורת הפקודה כדי להקצות את שרת התצוגה המקדימה והתיוג.
  3. מחליפים את NEW_REGION באזור החדש שבו רוצים להפעיל את שרת התיוג.
  4. מחליפים את BACKEND_NAME בשם שבחרתם כשהקצאתם את מאזן העומסים.
  5. אופציונלי: על מנת להוסיף אזור, מחליפים את המשתנה NEW_REGION ומפעילים מחדש את קטע הקוד.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

אופציונלי: השבתת הרישום ביומן

בקשת רישום ביומן

כברירת מחדל, מתועד מידע על כל בקשה יחידה (למשל, נתיב בקשה, פרמטרים של שאילתה וכו'). אם שרת התיוג שלכם מטפל בבקשות רבות בחודש (למשל, יותר ממיליון), ההודעות האלה עשויות לצבור חיובים משמעותיים ברישום ביומן. כדי לצמצם או לבטל את החיובים על הרישום ביומן, מומלץ להשבית את רישום הבקשות ביומן.

כדי להשבית את הרישום ביומן הבקשות:

  1. ב-Google Cloud Platform, פותחים את Logs Router. ודאו שאתם נמצאים בפרויקט שתואם למזהה מאגר התגים:
    צילום מסך של בורר הפרויקטים ב-GCP, עם מזהה מאגר לדוגמה של Tag Manager.
  2. בשדה Type: Cloud Logging bucket, בשורה Name: _Default, בוחרים בתפריט האפשרויות הנוספות ולוחצים על Edit Sink.
  3. בקטע Sink destination (יעד Sink), בוחרים באפשרות Log bucket _Default.
  4. בקטע בחירת יומנים להכללה ב-sink מוסיפים שורה חדשה. מזינים את הכלל הבא למסנן ההכללה הקיים:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. כדי להשבית את הרישום ביומן גם ממאזן העומסים, מוסיפים שורה חדשה ומזינים את הכלל הבא למסנן ההכללה הקיים:

    NOT LOG_ID("requests")
    
  6. מעדכנים את Sink כדי להחיל את השינויים. עכשיו הבקשות לא ייכללו ברישום.

  7. מוודאים שאין בקשות חדשות ביומנים של Logs Explorer.

רישום ביומן של המסוף

שרת התיוג, הלקוחות או התגים בקונטיינר יכולים לרשום הודעות במסוף שעשויות לצבור חיובים על רישום ביומן. כדי לצמצם או לבטל את החיובים על הרישום ביומן, אפשר להשבית את הודעות היומן הלא רצויות במסוף.

זיהוי יומני מסוף לא רצויים:

  1. ב-GCP, פותחים את Logs Explorer.
  2. מחפשים הודעות יומן לא רצויות שהגיעו מהתגים. לדוגמה:

    תג עשוי לשלוח את היומנים הבאים:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    מאתרים את הודעות היומן התואמות בשדה textPayload:
    צילום מסך של GCP Logs Explorer, שבו מוצגים יומנים לדוגמה.

כדי להשבית את הודעת יומן המסוף:

  1. ב-Google Cloud Platform, פותחים את Logs Router. ודאו שאתם נמצאים בפרויקט שתואם למזהה מאגר התגים:
    צילום מסך של בורר הפרויקטים ב-GCP, עם מזהה מאגר לדוגמה של Tag Manager.
  2. בשדה Type: Cloud Logging bucket, בשורה Name: _Default, בוחרים בתפריט האפשרויות הנוספות ולוחצים על Edit Sink.
  3. בקטע Sink destination (יעד Sink), בוחרים באפשרות Log bucket _Default.
  4. בקטע בחירת יומנים להכללה ב-sink מוסיפים שורה חדשה. מזינים את הכלל הבא למסנן ההכללה הקיים:

    NOT textPayload:"Custom message:"
    

    ביומני המסוף, מחליפים את הטקסט Custom message: במחרוזת משנה מיומן המסוף שרוצים להשבית. למסננים מפורטים יותר, מומלץ להשתמש בשפת השאילתות ביומן.

  5. מעדכנים את Sink כדי להחיל את השינויים. אין לכלול ברישום ביומן את ההודעה התואמת ב-logToConsole.

  6. מוודאים שלא מופיעות הודעות חדשות של יומן מסוף ב-Logs Explorer.

2. מיפוי הפריסה לדומיין המותאם אישית

כדי להגדיר דומיין מותאם אישית, צריך להשתמש במאזן עומסי אפליקציה חיצוני גלובלי.

3. מוסיפים את כתובת ה-URL של השרת ל-Google Tag Manager

עכשיו, אחרי שיש לכם שרת, אתם צריכים לוודא ש-Google Tag Manager יודע שהוא צריך להשתמש בשרת.

  1. פותחים את Google Tag Manager.

  2. לוחצים על מאגר התגים בצד השרת שרוצים להפנות לשרת התיוג.

  3. פותחים את ההגדרות של מאגר התגים בצד השרת בכרטיסייה Admin > Container Settings (הגדרות קונטיינר).

  4. לוחצים על Add URL (הוספת כתובת URL) ומדביקים את כתובת ה-URL של השרת.

  5. שומרים וחוזרים לסביבת העבודה.

4. אימות

לאחר שהגדרתם את שרת התיוג, ודאו שהוא פועל כמתוכנן. בסביבת העבודה ב-Tag Manager, לוחצים על הלחצן Preview (תצוגה מקדימה). אם דף התצוגה המקדימה נטען, סימן שהכול מוגדר כראוי.

תצוגה מקדימה של מספר כתובות URL

אם מיפיתם כמה דומיינים לשרת תיוג יחיד, חשוב לוודא שכל כתובת URL מתווספת להגדרות של מאגר התגים.

במקרה שציינתם כמה כתובות URL, כל הנתיבים (המחרוזת שאחרי שם הדומיין) צריכים להיות זהים.

עבודות לא עובד
כתובת URL 1: example.com/abc
כתובת URL 2: example2.com/abc
כתובת URL 1: example.com/abc
כתובת URL 2: example2.com/def

אם מוסיפים כמה כתובות URL, מופיע סמל ליד הלחצן Preview שמאפשר לבחור את כתובת ה-URL שרוצים להציג בתצוגה מקדימה.

עדכון הגרסה של שרת התיוג

עדכונים חדשים בשרת התיוג מכילים תיקונים לנקודות חולשה באבטחה ותכונות חדשות. מומלץ לפחות לעדכן את שרת התיוג בכל גרסה ראשית של הגרסה (למשל, שדרוג מגרסה 1.x.x ל-2.x.x) כש-Tag Manager מודיע לכם לעדכן.

כדי לעדכן את שרת התיוג, פורסים גרסה חדשה באמצעות אותן הגדרות שהשתמשתם בהן קודם.

  1. פותחים את Cloud Run.
  2. בוחרים את השירות שרוצים לעדכן.
  3. לוחצים על עריכה ופריסה של גרסה חדשה.
  4. מוודאים שכתובת ה-URL של קובץ האימג' בקונטיינר מוגדרת לערך gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable ולוחצים על Deploy.

כדי לוודא שהעדכון בוצע בהצלחה:

  1. במאגר התגים בצד השרת, לוחצים על הלחצן Preview כדי להתחיל סשן חדש של ניפוי באגים ולשלוח בקשה בכרטיסייה נפרדת.
  2. בסיכום, בוחרים בכרטיסייה Console (מסוף) ומוודאים שאין הודעות שבהן התבקשתם לעדכן את שרת התיוג.

Tag Manager עשוי להציג הודעות עם בקשה לעדכן את שרת התיוג למשך עד יום אחרי שהשרת עודכן בהצלחה. עם זאת, בדף התצוגה המקדימה תוצג הודעה מעודכנת לגבי הגרסה של שרת התיוג.