שליחת אותה הודעה לכל בסיס המשתמשים שלך אינה סגמנטציה—זו ספאם. שיעור ה-CTR צונח (חלק מהלקוחות איבדו עד 70% פתיחות בחודש), מספר הביטולים עולה, ו-iOS מתחילה להגביל את המשלוחים באמצעות הגבלת משלוחים של Apple Push Notification עבור אפליקציות עם שיעורי מעורבות נמוכים. אנחנו פותרים זאת טכנית, לא רק שיווקית—עיצוב סכמות תגיות, אינטגרציית SDK, והגדרת טריגרים. אנחנו מבטיחים עלייה של 25% בשיעור הפתיחות וחציית שיעור התלונות.
למה סגמנטציה חשובה למשלוחיות
Apple ו-Google עוקבות אחרי התנהגות המשתמשים עם התראות push. אם יותר מדי משתמשים מבטלים או לא פותחים התראות, המשלוחים מתעכבים. עבור iOS, הגבלת קצב מתרחשת ברמת APNs. סגמנטציה היא הדרך היחידה לשמור על משלוחיות גבוהה. בלעדיה, אתה מסתכן בכך ש-30% מההתראות לעולם לא יגיעו למשתמשים.
איך סגמנטציה עובדת ברמת ה-SDK
כל פלטפורמת push (OneSignal, Firebase, Braze, Airship) בונה סגמנטים משני מקורות: מאפייני משתמש (תגיות, מאפיינים) ונתוני התנהגות (אירועים, סשנים, רכישות).
בצד הלקוח, המשימה פשוטה—לשלוח נתונים בצורה נכונה:
// Android — после каждого значимого действия
OneSignal.User.addTag("subscription_tier", "premium")
OneSignal.User.addTag("last_active_days", "0")
OneSignal.User.addTag("preferred_category", "electronics")
// При изменении локации (с разрешения пользователя)
OneSignal.User.addTag("region", "UA-30") // iOS — то же самое для тегов и событий
OneSignal.User.addTag("onboarding_completed", "true")
OneSignal.User.addTag("cart_items_count", "\(cart.items.count)")תגיות הן מחרוזות. כל ההשוואה נעשית בצד השרת. חשוב: אל תשלח תגית בכל הפעלת אפליקציה—זה תעבורה מיותרת. שלח רק כשהערך משתנה.
סגמנטים התנהגותיים וטריגרים
המקרה הנפוץ ביותר הוא שליחה מבוססת טריגר לפי אירוע: משתמש נטש עגלה, לא פתח את האפליקציה במשך 7 ימים, השלים אונבורדינג אבל לא ביצע פעולה ראשונה.
זה דורש לוגיקה בצד השרת. הלקוח הנייד רק מתעד אירועים:
// Firebase Analytics — события автоматически доступны в Audience Builder
FirebaseAnalytics.getInstance(context).logEvent("checkout_started") {
param("cart_value", 1250.0)
param("items_count", 3L)
}ב-Firebase Audiences, אפשר לבנות סגמנט: "משתמשים שהפעילו // Android — после каждого значимого действия OneSignal.User.addTag("subscription_tier", "premium") OneSignal.User.addTag("last_active_days", "0") OneSignal.User.addTag("preferred_category", "electronics") // При изменении локации (с разрешения пользователя) OneSignal.User.addTag("region", "UA-30") אבל לא // iOS — то же самое для тегов и событий OneSignal.User.addTag("onboarding_completed", "true") OneSignal.User.addTag("cart_items_count", "\(cart.items.count)") ב-24 השעות האחרונות"—ואז לשלוח התראה דרך FCM או Firebase In-App Messaging.
גיאו-סגמנטציה
סגמנטציה גיאוגרפית ל-push אינה "נמצא בקייב כרגע", אלא "האזור של המשתמש מהפרופיל" או גדרות גיאוגרפיות.
OneSignal תומכת בזיהוי מיקום אוטומטי עם // Firebase Analytics — события автоматически доступны в Audience Builder FirebaseAnalytics.getInstance(context).logEvent("checkout_started") { param("cart_value", 1250.0) param("items_count", 3L) } . אבל Apple ו-Google מהדקות את המיקום ברקע. אמין יותר: להעביר אזור מפרופיל המשתמש כתגית.
עבור גדרות גיאוגרפיות אמיתיות (התראה בכניסה לאזור)—CoreLocation ב-iOS עם checkout_started או Geofencing API באנדרואיד דרך purchase_complete. זה עובד עם התראות מקומיות או push שקט לעדכון נתונים.
סגמנטים לפי מכשיר ופלטפורמה
{
"filters": [
{
"field": "device_type",
"relation": "=",
"value": "iOS"
},
{
"operator": "AND"
},
{
"field": "app_version",
"relation": ">=",
"value": "3.0"
}
]
}שימושי כשמשחררים תכונה זמינה רק בגרסה חדשה—אל תשלח deep link למסך שלא קיים באפליקציה הישנה.
טעויות נפוצות בסגמנטציה
תגיות נקראות בצורה לא עקבית: חלק מהמפתחים משתמשים ב-setLocationShared(true), אחרים ב-CLLocationManager.startMonitoring(for:), ועוד אחרים פשוט מוסיפים או מסירים תגית. כתוצאה מכך, הסגמנט "משתמשים עם תגית GeofencingClient = { "filters": [ { "field": "device_type", "relation": "=", "value": "iOS" }, { "operator": "AND" }, { "field": "app_version", "relation": ">=", "value": "3.0" } ] } " מפספס את אלה שפשוט יש להם את התגית ללא ערך.
עדיף לתקן את סכמת התגיות ב-enum נפרד:
object UserTags {
const val SUBSCRIPTION = "subscription_tier"
const val REGION = "region_iso"
const val LAST_ORDER_DAYS = "last_order_days_ago"
fun updateLastOrderDays(daysSince: Int) {
OneSignal.User.addTag(LAST_ORDER_DAYS, daysSince.toString())
}
} השוואת פלטפורמות לסגמנטציה
| פלטפורמה | סוגי סגמנטים | מורכבות אינטגרציה | מגבלות (תוכנית חינמית) |
|---|---|---|---|
| OneSignal | מאפיינים + אירועים + גיאו | נמוכה | 10,000 מנויים |
| Firebase | מאפיינים + אירועים (Audiences) | בינונית | אין מגבלת מנויים |
| Braze | מאפיינים + אירועים + Canvas | גבוהה | תקופת ניסיון |
הניסיון שלנו ולוחות זמנים
עבדנו על פרויקטים ניידים במשך שנים רבות ויישמנו סגמנטציה ל-20+ אפליקציות עם קהלים של 10,000 עד 500,000 משתמשים. אנחנו משתמשים בגישות מוסמכות ל-Apple ו-Google APIs.
עיצוב סכמת תגיות ואירועים התנהגותיים, יישום אינטגרציית SDK ב-iOS + אנדרואיד (או Flutter), הגדרת סגמנטים אוטומטיים בצד הפלטפורמה—5–8 ימי עסקים. שרשראות טריגר מורכבות עם לוגיקה בצד השרת (למשל, Braze Canvas או cron workers מותאמים)—החל משבועיים.
קבל ייעוץ על הגדרת סגמנטציה
אם יש לך פרויקט עם התראות push, צור איתנו קשר. נעריך את הארכיטקטורה הנוכחית שלך, נציע סכמת סגמנטציה אופטימלית, וניתן מחיר מדויק. ניסיון ואחריות לאיכות כלולים. בקש ייעוץ כדי ללמוד איך להגדיל את שיעור הפתיחות ולהפחית עומס על התשתית.
רשימת בדיקה של טעויות נפוצות
- שמות תגיות לא עקביים (true/false לעומת 1/0).
- שליחת תגיות בכל הפעלה במקום רק בשינוי.
- התעלמות מגדרות גיאוגרפיות בגלל מורכבות היישום.
- שימוש באותו מסר לכל הסגמנטים.
- חוסר בדיקות על מכשירים עם גרסאות OS שונות.







