חנות הנעלה: מ-ROAS מתחת ל-3 ליחס דו-ספרתי
חנות שהתחילה עם החזר פרסום גבולי, פחות מ-3. אחרי סידור הפיד והמבנה, ה-ROAS טיפס ליחס דו-ספרתי יציב. סיפור של רווחיות, לא של מחזור.
חנות אונליין להנעלת ילדים. יש משהו נחמד בקטגוריה כזאת: ההורים קונים שוב ושוב, כי הרגליים של הילדים גדלות כל עונה, אבל הם גם רגישים למחיר ומשווים בין חנויות בלי בושה. כשנכנסתי לחשבון בפעם הראשונה, המספר שקפץ לי לעין מיד היה ה-ROAS: פחות מ-3. כלומר כל שקל שהושקע בפרסום החזיר פחות משלושה שקלי מכירות, ואחרי שמורידים את עלות המוצר, זה כבר גבל בלהפסיד כסף על הפרסום. לא קטסטרופה, אבל מצב שבו החנות עובדת קשה, מייצרת מחזור נאה, ובסוף החודש כמעט לא נשאר כלום. חודשים ספורים אחר כך, ה-ROAS עמד על יחס דו-ספרתי יציב.
איך נראה החשבון כשנכנסתי
הרושם הראשון היה של חשבון שרץ, אבל אף אחד לא באמת הביט לו בעיניים כבר הרבה זמן. הייתה קמפיין Performance Max אחת גדולה שבלעה לתוכה את כל הקטלוג: נעלי תינוקות, מגפיים, סנדלים, נעלי ספורט, מבצעי סוף עונה, הכל באותו סל. גוגל קיבל הוראה אחת, “תמכור”, וקיבל תקציב אחד, וניסה לפזר אותו בין אלפי מוצרים בלי שום היררכיה של מה חשוב יותר. התוצאה הצפויה: המערכת התאהבה במוצרים הזולים, כי הם המירו בקלות, והזניחה בשקט את המוצרים היקרים יותר שדווקא שם נמצא הרווח.
לפני שאני נוגע בכפתור אחד, אני תמיד עוצר לשאול: מה החשבון מנסה להשיג, ומה הוא בפועל מתוגמל להשיג. שתי התשובות כאן היו רחוקות זו מזו. בעל החנות רצה רווח, אבל המערכת קיבלה יעד של החזר פרסום כללי, בלי הבחנה בין שקל ממכירה רווחית לשקל ממכירה שכמעט לא מותירה מרווח. כשאתה מגדיר למערכת מטרה, היא תרדוף אחריה בעקשנות מרשימה, גם אם היא לא בדיוק המטרה שהתכוונת אליה. היעד היה תקין על הנייר, אבל הוא תרגם “הצלחה” למחזור, לא לרווח.
עוד דבר שבלט לי: לא הייתה שום דרך פשוטה לראות איפה הכסף באמת נשאר. הדוחות הראו הזמנות, הכנסות ו-ROAS יפה יחסית בחלק מהימים, אבל אף אחד לא חיבר את המספרים האלה לשולי הרווח של כל קטגוריה. חשבון שרץ בלי שכבת הרווחיות מתחתיו הוא כמו נהיגה בלילה בלי פנסים: אתה מתקדם, אבל לא באמת רואה לאן.
מה מצאתי כשירדתי לפיד
בחנות איקומרס, גוגל לא מפרסם מילים שאתה בוחר לו. הוא מפרסם את המוצרים מהפיד שלך. הפיד הוא חלון הראווה, ואם חלון הראווה מבולגן, אין קמפיין בעולם שיציל אותך. אז ירדתי לפיד לפני שנגעתי בכל דבר אחר, וזה מה שמצאתי.
חלק גדול מהכותרות היו שם היצרן בלבד. “דגם 4471, צבע 12”. שום ילד, שום הורה, לא מחפש ככה בגוגל. הורים מחפשים “נעלי ספורט לילדים מידה 30”, “סנדלים לתינוק”, “מגפי גשם לילדות”. הכותרות בפיד פשוט לא דיברו בשפה של הקונה. מעבר לזה, שדה ה-google_product_category היה ריק או שגוי בהמון מוצרים, כך שגוגל בכלל התקשה להבין מה הוא מוכר. היו מוצרים בלי מחיר תקין, מוצרים שהיו במלאי אפס אבל עדיין פעילים בפיד, ומידות שלא הופיעו כמאפיין נפרד אלא הוטמעו בתוך הכותרת בצורה שהמערכת לא ידעה לקרוא.
ואז הבעיה השקטה ביותר: הפיד לא התעדכן בקצב שהמלאי השתנה, ובהנעלת ילדים מידות אוזלות מהר. מוצר שאזל וממשיך להתפרסם שורף כסף על קליקים שמובילים לעמוד “אין במלאי”, וזה נזק כפול, גם ההוצאה וגם החוויה של הלקוח שלא יחזור.
חשוב לי להסביר למה התחלתי דווקא מכאן, ולא מהצעות המחיר או מהתקציב כמו שרוב האנשים היו עושים. אם הפיד עצמו משדר לגוגל מידע שגוי, כל הימור מבוסס על נתונים עקומים, ואתה מכוון את המערכת בדייקנות מושלמת אל היעד הלא נכון. סידור הפיד הוא לא תחזוקה טכנית משעממת, הוא הבסיס שעליו יושבת כל החלטה אחר כך.
מה עשיתי, לפי הסדר
הסדר כאן חשוב, כי כל שלב נשען על הקודם.
קודם כל ניקינו וסידרנו את הפיד. כתבנו מחדש את מבנה הכותרות כך שיכללו את סוג המוצר, קהל היעד והמידה, מיפינו נכון את קטגוריות המוצר של גוגל, ודאגנו שהמחירים והזמינות יזרמו נכון. במקביל הקמתי בקרת פיד שוטפת, כדי שמוצר שאוזל ייצא מהמעגל במהירות ולא ימשיך לגרוף תקציב בשקט. הכותרת בפיד היא לא קישוט, היא שדה ההתאמה המרכזי שגוגל משתמש בו כדי להחליט לאיזה חיפוש להראות את המוצר. כותרת שכתובה בשפת הקונה משפרת גם את הרלוונטיות וגם את שיעור ההמרה, כי מי שמקליק כבר יודע מה הוא הולך למצוא.
רק אחרי שהחלון היה נקי, פירקתי את הקמפיין האחת-לכל לתוך מבנה שמפריד בין קבוצות מוצרים לפי הרווחיות שלהן. לקטגוריות עם שולי רווח בריאים נתתי תקציב ויעד נפרדים, וקטגוריות עם שוליים דקים קיבלו יחס אחר לגמרי. ככה הפסקתי לתת למוצרים הזולים להסתיר את מי שבאמת מרוויח. ההפרדה הזאת עושה עוד דבר חשוב: היא נותנת לכל קבוצת מוצרים תקציב משלה, כך שהמערכת לא יכולה לשאוב את כל הכסף אל הפריט שממיר הכי בקלות ולהרעיב את השאר. במקום מטרה אחת מטושטשת, נתתי למערכת כמה מטרות ברורות, כל אחת עם ההיגיון הכלכלי שלה.
הצעד השלישי היה להזין למערכת ערכי המרה אמיתיים, ולא הזמנה כמו הזמנה. כשהמערכת מבינה שהזמנה של 400 שקל שווה יותר מהזמנה של 90 שקל, היא מתחילה לכוון לעבר ההזמנות הגדולות מעצמה. אם אתה עובד עם tROAS, יעד החזר מבוסס ערך, המערכת חכמה רק כמו הנתונים שאתה מזין לה: כשכל הזמנה נראית לה זהה היא תבחר את הדרך הזולה לייצר עוד הזמנה, וזה כמעט תמיד המוצר הזול. ברגע שהיא רואה את ההפרש בערך, היא מתחילה לחשוב במונחי כסף אמיתי, לא כמות.
ולבסוף הפרדתי את תנועת המותג מהגנרית. חיפוש מותגי הוא ביקוש שכבר קיים, לא ביקוש שהפרסום ייצר, ואנשים שחיפשו את שם החנות היו קונים ממילא. כשמערבבים אותם עם התנועה הגנרית, המספר הכולל נראה מצוין אבל מסתיר את הביצועים האמיתיים של הפרסום שאמור להביא לקוחות חדשים. הפרדתי אותם כדי שנוכל למדוד נקי: כמה עולה להביא קונה שלא הכיר את החנות, וכמה הוא שווה לנו לאורך זמן.
הדילמה שלא הייתה טריוויאלית
בשלב ההפרדה לפי רווחיות עמדתי מול החלטה לא נוחה. חלק מנעלי התינוקות הזולות היו הפריט שהכי המיר, מספרים יפים והמון הזמנות, אבל רווח נמוך לכל מכירה. הפיתוי היה להשקיע שם, כי הדוחות נראים מצוין. עצרתי, ושאלתי את השאלה הנכונה: לא כמה הזמנות זה מביא, אלא כמה כסף נשאר בסוף. הורדנו את הלחץ מהקטגוריה הזאת, נתנו לה לרוץ ברווח נמוך אבל בריא, והסטנו את התקציב אל המגפיים ונעלי הספורט שבהם ההזמנה הממוצעת גבוהה יותר. זה דרש אומץ מול לקוח שהתרגל להסתכל על מספר ההזמנות, אבל ברגע שהצגתי לו את ההפרש במונחי רווח נטו הוא הבין.
אבל יש כאן נקודה שלא הרשיתי לעצמי לפספס: המוצרים הזולים לא היו חסרי ערך. הורה שקונה נעלי תינוק זולות היום הוא בדיוק אותו הורה שיחזור בעונה הבאה למגפיים, ובעונה שאחריה לנעלי ספורט. יש למוצר הזול תפקיד בערך הלקוח לאורך זמן, גם אם הוא לא רווחי בפני עצמו. לכן לא כיביתי את הקטגוריה, רק הורדתי ממנה את מרכז הכובד. האיזון הזה, בין רווח מיידי לערך עתידי, הוא בדיוק המקום שבו ההחלטה מפסיקה להיות נוסחה ומתחילה להיות שיקול דעת.
מה היה יכול להשתבש
כדאי שאהיה כן: כמה מהמהלכים האלה נושאים סיכון, וחשוב לדבר עליו ולא רק על ההצלחה. פירוק קמפיין Performance Max שכבר צבר היסטוריית למידה הוא מהלך עדין, כי המערכת מתחילה מחדש ללמוד כל חלק בנפרד, ובשבועות הראשונים הביצועים יכולים לרדת לפני שהם עולים. לכן לא פירקתי הכל ביום אחד. עשיתי את זה בשלבים, נתתי לכל מבנה חדש חלון למידה סביר, ושמרתי מקורות תנועה יציבים פעילים בזמן שהחדשים התייצבו. אם הייתי מודד אחרי שבוע ומתבהל, הייתי עלול להרוס מהלך נכון רק כי לא נתתי לו זמן.
הסיכון השני היה בהזנת ערכי ההמרה. אם הנתונים על שולי הרווח לא מדויקים, אתה מלמד את המערכת שקר, והיא תרדוף בעקביות אחרי היעד הלא נכון. לכן בדקנו את מספרי הרווחיות מול הנתונים האמיתיים של החנות לפני שהזנו אותם. עדיף לעכב את המהלך ביומיים ולהזין נתון נכון, מאשר לכוון את המערכת אל היעד השגוי במהירות ובביטחון.
ROAS גבוה בדוח לא מספיק. השאלה האמיתית היא מה קורה אחרי עלות המוצר. שם, בשולי הרווח, נופל ההבדל בין חנות שרצה על מחזור לחנות שמנהלת רווח.
התוצאה
ה-ROAS עלה מפחות מ-3 ליחס דו-ספרתי יציב, לאורך זמן ולא כקפיצה חד-פעמית. אבל המספר הזה הוא רק הכותרת. מה שקרה מתחתיו חשוב יותר: התקציב זרם לעבר הקטגוריות שמייצרות רווח אמיתי, ההזמנה הממוצעת עלתה כי המערכת כיוונה להזמנות הגדולות, וההוצאה על קליקים שהובילו לעמודי “אין במלאי” כמעט נעלמה. החנות הפסיקה לעבוד קשה בשביל מחזור והתחילה לעבוד חכם בשביל רווח. ומעבר לכל אלה, ברגע שהפיד נקי והמבנה מפריד לפי רווחיות, החשבון נעשה יציב יותר ופחות תלוי בהתערבות יומיומית, ואפשר להפסיק לכבות שריפות ולהתחיל לחשוב קדימה.
הלקח שאפשר לקחת
אם יש לך חנות אונליין וה-ROAS מאכזב, אל תרוץ קודם כל לשנות הצעות מחיר או להעלות תקציב. תפתח את הפיד. תבדוק אם הכותרות מדברות בשפה של הקונה, אם המידות והזמינות מעודכנות, אם המחירים תקינים, ואם המבנה מפריד בין מה שמרוויח למה שסתם רץ. ברוב המקרים שראיתי, ה-ROAS לא נחסם בכפתור התקציב. הוא נחסם ביסודות שאף אחד לא טרח לסדר.
והלקח הפחות אינטואיטיבי, זה שלוקח הכי הרבה זמן להפנים: מספר ביצועים גבוה יכול להיות בדיוק הדבר שמסתיר את הבעיה. ROAS יפה שמורכב מהמון מכירות זולות ומעט תנועת מותג יכול להיראות מצוין בזמן שהרווח בסוף החודש מדשדש. אני מעדיף מספר צנוע שאני מבין לגמרי מאיפה הוא בא, על פני מספר מרשים שמסתיר בתוכו את מה שבאמת קורה.
שאלות נפוצות
למה להתחיל דווקא מהפיד ולא מהצעות המחיר או מהתקציב? כי בחנות איקומרס הפיד הוא מה שגוגל בפועל מפרסם, לא מילים שאתה בוחר. אם המידע בפיד שגוי, כל הצעת מחיר וכל שינוי תקציב מבוססים על נתונים עקומים, ואתה בעצם מכוון את המערכת בדייקנות אל היעד הלא נכון. סידור הפיד הוא הבסיס שכל החלטה אחר כך נשענת עליו.
מה ההבדל בין ROAS גבוה לרווחיות אמיתית? ROAS מודד כמה שקלי מכירות חזרו על כל שקל פרסום, אבל הוא לא רואה את עלות המוצר. חנות יכולה להציג ROAS יפה בזמן שהרווח בפועל דק מאוד, כי המכירות מגיעות ממוצרים זולים עם שוליים נמוכים. השאלה שאני שואל היא תמיד מה נשאר אחרי עלות המוצר, לא מה מופיע בשורת ההחזר בדוח.
האם כדאי לפרק קמפיין Performance Max אחת לכמה קמפיינים? לא תמיד, אבל כשקמפיין אחת בולעת את כל הקטלוג, המערכת נוטה להשקיע במוצרים שממירים בקלות ולהזניח את אלה שמרוויחים. הפרדה לפי רווחיות נותנת לכל קבוצת מוצרים תקציב ויעד משלה, כך שהמוצרים הזולים לא שואבים את כל הכסף. חשוב לעשות את זה בשלבים, כי פירוק מאבד היסטוריית למידה והביצועים עלולים לרדת לפני שהם מתייצבים.
מה זה ערכי המרה אמיתיים ולמה זה כל כך משנה? זו הזנה של הערך הכלכלי האמיתי של כל הזמנה למערכת, במקום להתייחס לכל הזמנה כאילו היא שווה אותו דבר. כשהמערכת מבינה שהזמנה גדולה שווה יותר מהזמנה קטנה, היא מתחילה לכוון להזמנות הגדולות מעצמה. זו אחת הנקודות שהכי מזיזות את המחט באיקומרס, וגם אחת שהכי הרבה חנויות מדלגות עליה.
למה בכלל להפריד את תנועת המותג מהגנרית? מי שמחפש את שם החנות כבר מכיר אותה ולרוב היה קונה ממילא, כך שכלילת החיפושים האלה באותו קמפיין מנפחת את ה-ROAS על הנייר בלי להביא לקוח חדש אחד. כשמפרידים, אפשר למדוד נקי כמה באמת עולה להביא קונה חדש שלא הכיר את החנות. זה נותן תמונה אמיתית של מה שהפרסום מייצר, לא של הביקוש שהיה קיים בלי קשר.
כמה זמן לוקח לראות שינוי אחרי מהלך כזה? זה משתנה מחנות לחנות, ואני לא נוהג להבטיח לוחות זמנים. מה שכן, אחרי פירוק מבנה או שינוי יעד המערכת צריכה חלון למידה של כמה שבועות, ובתקופה הזאת חשוב לא להיבהל מירידה זמנית ולא לשנות כיוון מוקדם מדי. השינוי האמיתי נמדד לאורך זמן וביציבות, לא בקפיצה של יום או שבוע.
רוצה שנעבור יחד על החשבון שלך ונראה איפה הכסף בורח, אפשר להתחיל בשיחת ייעוץ. ואם מעניין אותך לקרוא איך אני חושב על תוכן ומבנה שמייצרים מכירות, יש עוד כתבות ומדריכים.