מה Google Tag Manager עושה ומה הוא לא עושה?
GTM הוא לא כלי אנליטיקס. הוא לא שומר נתונים ולא מציג דוחות. התפקיד שלו הוא להחליט איזה קוד נטען באיזה רגע ואיזה מידע הקוד מקבל. GA4, Google Ads, Meta, LinkedIn, TikTok ו-Microsoft Clarity הם הכלים שמקבלים את הנתונים. GTM הוא שכבת הניהול שמעליהם.
היתרון המרכזי הוא הפרדה בין צוות הפיתוח לצוות המדידה. המפתחים אחראים פעם אחת על התקנת GTM ועל דחיפת אירועים ל-dataLayer. מכאן צוות המדידה מוסיף, משנה ובודק תגים בלי לחכות לגרסה חדשה של האתר. החיסרון הוא שכל מי שיש לו הרשאת פרסום יכול להכניס לאתר קוד שישבור אותו או יפגע בפרטיות. לכן ניהול הרשאות וגרסאות הוא חלק מההטמעה ולא תוספת.
מהם תגים, טריגרים ומשתנים?
כל container בנוי משלושה רכיבים. כדאי להבין אותם לפני שמתחילים, כי כמעט כל תקלה ב-GTM היא טריגר שנורה בזמן הלא נכון או משתנה שמחזיר ערך ריק.
| רכיב | מה הוא עושה | דוגמה |
|---|---|---|
| תג (Tag) | הקוד שנשלח לכלי חיצוני | תג אירוע GA4 בשם generate_lead, תג המרה של Google Ads, Meta Pixel |
| טריגר (Trigger) | התנאי שקובע מתי התג נורה | Custom Event בשם generate_lead, צפייה בעמוד שכתובתו מכילה thank-you |
| משתנה (Variable) | ערך שמשמש תגים וטריגרים | משתנה dataLayer בשם form_name, מזהה המדידה של GA4, כתובת העמוד |
מעבר לשלושת אלה יש תבניות (Templates). תבנית היא קוד מוכן שמשמש בסיס לתג או למשתנה. Google ושותפים רבים מפרסמים תבניות בגלריה של GTM ותבנית ייעודית עדיפה כמעט תמיד על קוד שמודבק ב-Custom HTML.
אילו סוגי טריגרים כדאי להכיר?
GTM מציע עשרות סוגי טריגרים, אבל רוב ה-container הטובים בנויים על מעט מאוד מהם. ככל שיותר אירועים מגיעים מ-dataLayer, כך פחות טריגרים תלויים בעיצוב העמוד.
| טריגר | מתי הוא נורה | שימוש מומלץ |
|---|---|---|
| Initialization | לפני כל טריגר אחר בטעינת העמוד | Google tag והגדרות הסכמה |
| Page View | בתחילת טעינת העמוד | תגים שצריכים לרוץ בכל עמוד, כמו פיקסל בסיס |
| Custom Event | כשהאתר דוחף ל-dataLayer אירוע בשם מסוים | לידים, רכישות, הרשמות וכל אירוע עסקי |
| Click | בלחיצה על אלמנט או קישור | לחיצות על מספר טלפון, על מייל או על וואטסאפ, כשאין אירוע מהאתר |
| History Change | כשהכתובת משתנה בלי טעינת עמוד מלאה | אתרים ואפליקציות מבוססי JavaScript (SPA) |
| Element Visibility | כשאלמנט מופיע במסך | הודעת הצלחה של טופס, כשאין ברירה אחרת |
כשטריגר מבוסס על לחיצה או על נראות של אלמנט, כדאי להגדיר אותו לפי מזהה קבוע (id או מאפיין data) ולא לפי טקסט או מחלקת עיצוב. כך שינוי עיצוב לא ישבור את המדידה.
זרימת נתונים
איך GTM עובד: אירוע אחד, טריגר אחד, כמה יעדים
dataLayer.push
event = generate_lead
dataLayer, הטריגר בודק את שם האירוע והתגים שולחים את הנתונים לכל פלטפורמה.התרשים מציג את המסלול של אירוע אחד: האתר דוחף אירוע ל-dataLayer, טריגר מזהה את שם האירוע ומפעיל את התגים שמחוברים אליו וכל תג שולח את הנתונים לכלי שלו. אירוע אחד יכול להפעיל כמה תגים. לכן נכון לבנות אותו פעם אחת עם כל הפרמטרים.
מה זה dataLayer ולמה הוא בא לפני כל תג?
dataLayer הוא מערך JavaScript שהאתר כותב אליו מידע על מה שקרה: איזה טופס נשלח, איזה מוצר נוסף לסל או מה ערך ההזמנה. GTM קורא מהמערך הזה. בלי dataLayer, GTM נאלץ לנחש לפי לחיצות, כתובות ומבנה העמוד. ניחוש כזה נשבר בכל שינוי עיצוב.
dataLayer טוב מתחיל במסמך שמגדיר לכל אירוע את השם, הרגע המדויק שבו הוא נדחף, הפרמטרים והערכים האפשריים שלהם ודוגמת קוד מלאה. פירטנו את המבנה במדריך איך כותבים מסמך dataLayer שמפתח יכול ליישם. כדי לחסוך עבודה בנינו גם מחולל dataLayer.push שמייצר קוד תקין לפי מפרט GA4 יחד עם ההגדרות הנדרשות ב-GTM.
איך מתקינים את Google Tag Manager באתר?
ההתקנה כוללת שני קטעי קוד שמקבלים ב-GTM: קטע אחד גבוה ככל האפשר בתוך ה-head וקטע noscript מיד אחרי פתיחת ה-body. באתר וורדפרס אפשר להוסיף אותם דרך התבנית או דרך תוסף ייעודי. העיקר הוא לוודא שהם נטענים בכל העמודים בדיוק פעם אחת.
לפני ההתקנה בודקים מה כבר קיים באתר. במקרים רבים יש קוד gtag של GA4 בתבנית, פיקסל של Meta שהוסיף תוסף או container ישן של סוכנות קודמת. כל קוד כזה יספור בכפילות את מה ש-GTM ימדוד. הכלל הוא container אחד לאתר וכל התגים בתוכו.
איך מגדירים GA4 דרך GTM?
מאז ספטמבר 2023 תג ההגדרות של GA4 ב-GTM הוחלף ב-Google tag. מגדירים Google tag אחד עם מזהה המדידה של הנכס (G-XXXXXXX) ומפעילים אותו בטריגר Initialization או בצפייה בעמוד. לכל אירוע מתוכנית המדידה יוצרים תג GA4 Event עם שם האירוע והפרמטרים שלו, שמופעל בטריגר Custom Event עם אותו שם שנדחף ל-dataLayer.
פרמטרים שחוזרים בכל האירועים, כמו סוג משתמש או שפת האתר, מגדירים פעם אחת במשתנה מסוג Event Settings ומחברים לכל התגים. כך שינוי אחד מתעדכן בכל המקומות. ההגדרות בצד GA4, כמו מימדים מותאמים ואירועי מפתח, מפורטות במדריך GA4 המלא.
איך מטמיעים פיקסלים של מדיה ב-GTM?
לכל פלטפורמת פרסום גדולה יש תבנית ייעודית בגלריה של GTM. התבנית יודעת לטעון את הפיקסל פעם אחת, לכבד את Consent Mode ולקבל פרמטרים מסודרים, למשל Event ID משותף לפיקסל ול-Conversions API. קוד שמודבק ב-Custom HTML לא נהנה מכל אלה, קשה לבדוק אותו ומאפשר להכניס לאתר כל קוד. השווינו בין שתי השיטות בשבעה ממדים במדריך פיקסלים ב-GTM בתבנית ייעודית ולא ב-Custom HTML.
איך מגדירים Consent Mode ב-GTM?
Consent Mode מעביר לתגים את מצב ההסכמה של המשתמש. בפועל מתקינים תבנית של מערכת ניהול ההסכמה (CMP) שמגדירה מצב ברירת מחדל לפני שתגים אחרים נטענים ומעדכנת אותו אחרי שהמשתמש בוחר. תגי Google כוללים בדיקות הסכמה מובנות. לתגים אחרים מגדירים בהגדרות המתקדמות של התג איזו הסכמה נדרשת כדי שיירו. בהגדרות ה-container אפשר להפעיל את מסך Consent Overview שמציג את מצב ההסכמה של כל התגים במקום אחד.
מאז מרץ 2024 Google דורשת את הפרמטרים ad_user_data ו-ad_personalization עבור משתמשים מהאזור הכלכלי האירופי, כדי להמשיך להשתמש בתכונות של קהלים ופרסום מותאם. האם להפעיל Basic או Advanced היא החלטה שתלויה במדיניות הפרטיות ובקהל. עץ ההחלטה שבנינו עוזר לבחור.
איך עובדים עם Preview, סביבות עבודה וגרסאות?
אף שינוי לא מתפרסם בלי בדיקה במצב Preview. מצב Preview פותח את האתר עם Tag Assistant ומראה לכל אירוע אילו תגים נורו, אילו לא ומה היה הערך של כל משתנה ברגע הזה. זה הכלי הראשון לאבחון כמעט כל תקלה.
סביבות עבודה (Workspaces) מאפשרות לכמה אנשים לעבוד במקביל בלי לדרוס זה את השינויים של זה. בחשבון חינמי יש שלוש סביבות עבודה. כל פרסום יוצר גרסה. כשנותנים לגרסה שם ותיאור ברורים, אפשר לחזור לגרסה קודמת בלחיצה אחת כשמשהו נשבר. הרשאות המשתמשים ב-container מחולקות לקריאה, עריכה, אישור ופרסום. הרשאת פרסום כדאי לתת לשניים או שלושה אנשים לכל היותר.
מומלץ לקבוע מוסכמת שמות אחידה, כי container עם מאות רכיבים בלי שמות ברורים הופך לבלתי ניתן לתחזוקה:
| רכיב | מבנה השם | דוגמה |
|---|---|---|
| תג | כלי - סוג - אירוע | GA4 - Event - generate_lead |
| טריגר | סוג - תנאי | CE - generate_lead |
| משתנה | סוג - שם | DLV - form_name |
| גרסה | תאריך - מה השתנה | 2026-10-27 - הוספת מדידת טופס צור קשר |
מתי עוברים ל-Server-Side GTM?
ב-Server-Side GTM הדפדפן שולח את הנתונים לשרת של הארגון והשרת מעביר אותם לכלים. היתרונות הם שליטה במידע שיוצא מהאתר, אמינות גבוהה יותר מול חוסמי פרסומות ופחות קוד בדפדפן. החסרונות הם עלות אירוח חודשית ותחזוקה של מערכת נוספת. זה לא מתאים לכל ארגון. הצגנו מסגרת החלטה לשישה פרופילים של ארגונים והשוואת עלויות במדריך מתי מדידה בצד שרת מתאימה לארגון.
מהן הטעויות הנפוצות ב-Google Tag Manager?
טריגר Form Submission לטפסים. הטריגר המובנה נורה גם כשהשליחה נדחתה בגלל שדה חסר ולא מזהה טפסים שנשלחים ב-AJAX. התוצאה היא לידים שלא קיימים. הפתרון הוא אירוע ב-dataLayer אחרי הצלחה, כמו שהסברנו במדריך מדידת טופס Elementor.
טריגר של כל העמודים לתג המרה. תג המרה של Google Ads שמחובר ל-All Pages סופר כל ביקור כהמרה. בודקים ב-Preview שתגי המרה נורים רק באירוע הנכון.
מדידה לפי טקסט של כפתור או מבנה העמוד. כשהעיצוב משתנה, הטריגר מפסיק לעבוד בשקט, בלי שגיאה. זו בדיוק הסיבה לעבוד עם dataLayer.
Custom HTML לכל דבר. קשה לבדוק, עוקף את Consent Mode ופותח פתח לקוד לא מאובטח.
פרסום בלי Preview ובלי שם לגרסה. כשמשהו נשבר, אין דרך לדעת מה השתנה ומתי.
יותר מדי בעלי הרשאת פרסום. אנשים שעזבו את הארגון או סוכנויות קודמות שעדיין יכולים לשנות את האתר.
תג שנשען על unload. מאז Chrome 155 אירוע unload לא מופעל כברירת מחדל בכרום. תג Custom HTML שמאזין לו כדי לשלוח יציאה מהעמוד, זמן שהייה או נטישת טופס הפסיק לשלוח נתונים מרוב הגולשים בכרום. איך מאתרים ומתקנים תגים כאלה.
איך בודקים שה-container עובד?
הבדיקה הבסיסית נעשית במצב Preview: מבצעים כל פעולה מתוכנית המדידה ובודקים לכל אירוע שהתגים הנכונים נורו פעם אחת עם הערכים הנכונים. אחר כך בודקים בצד היעד: DebugView ב-GA4, דוח האבחון של פעולת ההמרה ב-Google Ads ו-Test Events במנהל האירועים של Meta. לבסוף, אחרי כמה ימים, משווים את המספרים לכלי האמת, כמו CRM או מערכת ההזמנות. כדאי גם לחזור לבדיקה אחרי כל שינוי משמעותי באתר, כי שינוי עיצוב או תוסף חדש יכולים לשבור מדידה בלי שאף אחד ישים לב.
אם ה-container אצלכם עמוס, לא מתועד או שאתם לא בטוחים מה נמדד בו, אנחנו מבצעים הטמעה ובדיקה של Google Tag Manager, כולל אפיון dataLayer למפתחים ותגים בתבניות ייעודיות. פרטים בעמוד הטמעת Google Tag Manager או דרך טופס הקשר.
שאלות נפוצות
מה זה גוגל תג מנג'ר (Google Tag Manager)?
גוגל תג מנג'ר, או בקיצור GTM, הוא מערכת חינמית של Google לניהול כל קודי המדידה והפרסום באתר מתוך ממשק אחד. במקום לבקש מהמפתחים להוסיף קוד בכל פעם שרוצים פיקסל חדש או אירוע חדש, מתקינים באתר container אחד ומנהלים בתוכו תגים, טריגרים ומשתנים.
האם Google Tag Manager מחליף את Google Analytics 4?
לא. GTM הוא הכלי שמפעיל קודים באתר. GA4 הוא כלי המדידה שמקבל את הנתונים ומציג דוחות. הדרך המומלצת היא להתקין את GA4 דרך GTM, כך שכל המדידה מנוהלת במקום אחד.
מה ההבדל בין תג, טריגר ומשתנה?
תג הוא הקוד שרץ, למשל שליחת אירוע ל-GA4 או פיקסל של Meta. טריגר קובע מתי התג נורה, למשל כשהאתר דוחף אירוע רכישה ל-dataLayer. משתנה הוא ערך שהתג או הטריגר קוראים, למשל סכום ההזמנה או שם העמוד.
למה צריך dataLayer אם אפשר להגדיר טריגר על לחיצה בכפתור?
טריגר שמבוסס על טקסט של כפתור או על מבנה העמוד נשבר בשקט ברגע שהעיצוב משתנה, בלי שום שגיאה. אירוע שהאתר דוחף ל-dataLayer לא תלוי בעיצוב, מתועד למפתחים ונשאר יציב. לכן dataLayer בא לפני כל תג.
מתי כדאי לעבור ל-Server-Side GTM?
כשרוצים שליטה על הנתונים שנשלחים לפלטפורמות הפרסום, פחות סקריפטים שרצים בדפדפן של הגולש וחיבורים מצד השרת כמו Meta Conversions API. לאתר קטן עם מדידה בסיסית זה בדרך כלל מיותר. לאתר מסחר עם תקציבי מדיה משמעותיים זה משתלם.
איך בודקים ש-Google Tag Manager מותקן ועובד?
מפעילים Preview ב-GTM ועוברים על המשפך המרכזי באתר כדי לראות שכל תג נורה באירוע הנכון ופעם אחת בלבד. אחר כך מאמתים ב-DebugView של GA4 שהאירועים מגיעים עם הפרמטרים הנכונים. אחרי כמה ימים משווים את המספרים למערכת ההזמנות או ל-CRM.
עוד מדריכים בנושא Google Tag Manager
מקורות
Google for Developers: The data layer, Google for Developers: Install Tag Manager for web pages, Tag Manager Help: User permissions, Tag Manager Help: Mapping ad_storage to ad_user_data, Google for Developers: Set up consent mode