שיעורי פתיחה נמוכים ושיעורי קליקים עומדים הם נקודת כאב נפוצה עבור משווקי אימייל. במקום להסתמך על אינטואיציה, בדיקות A/B מספקות נתונים אובייקטיביים לקבלת החלטות. סטטיסטיקות מראות ש-70% מקמפיין האימייל אינם משתמשים בבדיקות A/B, ובכך מפספסים עד 30% מההמרות הפוטנציאליות. בדיקת A/B מבוצעת היטב יכולה להגדיל את ההכנסה לכל אימייל ב-20-30% ללא עלויות תנועה נוספות. זה מאושר על ידי מקרים של הלקוחות שלנו: חברת מסחר אלקטרוני אחת הגדילה את שיעור הקליקים פי 1.8 בשלושה חודשים לאחר יישום בדיקות שיטתיות, והפיקה הכנסה חודשית נוספת של 5,000 דולר.
בדיקות מאורגנות כראוי משפרות לא רק את שיעורי הפתיחה אלא גם את נאמנות הקהל. חשוב להבין שתוצאות אמינות דורשות גודל מדגם מספק—לפחות 1,000 נמענים לכל גרסה. יישמנו פרקטיקה זו ביותר מ-50 פרויקטים ואנחנו מוכנים לחלוק את הניסיון שלנו. תוצאות מובהקות סטטיסטית מאפשרות בחירה בטוחה של הגרסה הטובה ביותר ומגדילות את ההמרה. בדיקות A/B לקמפיין אימייל יעילות פי 2-3 יותר מניחושים אינטואיטיביים בבחירת שורת נושא.
בעיות שאנחנו פותרים
הטעות העיקרית היא בדיקה ללא תוכנית וללא גודל מדגם מספק. לדוגמה, שליחת 200 אימיילים עם שורות נושא שונות והכרזה על מנצח על סמך 3 פתיחות נוספות אינה מובהקת סטטיסטית. גודל מדגם לא מספק הוא הגורם העיקרי לתוצאות לא אמינות. עם שיעור פתיחה של 20% ואפקט רצוי של 5%, יש לשלוח לפחות 1,300 אימיילים לכל גרסה. רבים מזניחים זאת ומקבלים מנצחים שגויים. בעיות נוספות כוללות:
- עומס יתר בבדיקות: ניסיון לבדוק 10 השערות בפיצול אחד—פוגע בטוהר הניסוי.
- גורמים חיצוניים שלא נלקחו בחשבון: יום בשבוע, שעה ביום, עונתיות.
- עצירה מוקדמת: הכרזה על מנצח לאחר שעה כשהנתונים עדיין לא התייצבו.
איך לארגן נכון בדיקת A/B
התהליך מתחיל בניסוח השערה. לדוגמה: "שורת נושא מותאמת אישית תשפר את שיעור הפתיחה ב-15%." קבעו את המדד (שיעור פתיחה, CTR), בחרו משתנה אחד (שורת נושא), חשבו את גודל המדגם. לאחר החישוב, חשוב להגדיר נכון את הפיצול. אנו משתמשים בחלוקה אקראית עם בקרה על פלחי משתמשים כדי למנוע הטיה. לדוגמה, אם יש לכם מנויים מאזורים שונים, ודאו שהם מחולקים באופן שווה בין הגרסאות. לאחר מכן הגדירו את מערכת הפיצול:
interface ABTestVariant {
id: 'A' | 'B' | 'C';
subject: string;
templateId: string;
weight: number; // доля трафика, например 0.5 для 50/50
}
interface ABTest {
id: string;
campaignId: string;
variants: ABTestVariant[];
winnerMetric: 'open_rate' | 'click_rate';
sampleSize: number; // сколько отправить на тест
winnerSendAt?: Date; // когда отправить победителя остальным
}
async function sendABTest(test: ABTest, users: User[]) {
// Перемешать пользователей случайно
const shuffled = users.sort(() => Math.random() - 0.5);
// Разделить на группы согласно весам
let offset = 0;
for (const variant of test.variants) {
const count = Math.floor(test.sampleSize * variant.weight);
const group = shuffled.slice(offset, offset + count);
offset += count;
await Promise.allSettled(
group.map(user => sendVariantEmail(user, variant, test.id))
);
}
// Сохранить информацию о тесте
await db.abTests.create(test);
// Запланировать определение победителя
if (test.winnerSendAt) {
await scheduleWinnerSelection(test.id, test.winnerSendAt);
}
}
async function sendVariantEmail(user: User, variant: ABTestVariant, testId: string) {
const html = await renderTemplate(variant.templateId, { user });
const emailLogId = await sendEmail({
to: user.email,
subject: variant.subject,
html,
});
await db.abTestParticipants.create({
testId,
variantId: variant.id,
userId: user.id,
emailLogId,
});
}
מידע נוסף על חישוב גודל מדגם
כדי לחשב את גודל המדגם המינימלי, השתמשו בנוסחה: n = (Z^2 * p * (1-p)) / d^2, כאשר Z=1.96 לרווח בר-סמך של 95%, p הוא שיעור הפתיחה הצפוי, ו-d הוא האפקט המינימלי שניתן לזיהוי. לדוגמה, עם p=25% ו-d=5%, יש צורך בכ-1,200 נמענים לכל גרסה.
מה לעשות אם התוצאות אינן מובהקות סטטיסטית
לאחר איסוף הנתונים, הפעילו סקריפט לקביעת מנצח:
async function determineWinner(testId: string): Promise<'A' | 'B' | 'C'> {
const test = await db.abTests.findById(testId);
const stats = await db.query<{ variant_id: string; sent: number; opened: number; clicked: number; }>(
` SELECT p.variant_id, COUNT(DISTINCT p.id) AS sent, COUNT(DISTINCT oe.email_log_id) AS opened, COUNT(DISTINCT ce.email_log_id) AS clicked
FROM ab_test_participants p
LEFT JOIN email_open_events oe ON oe.email_log_id = p.email_log_id
LEFT JOIN email_click_events ce ON ce.email_log_id = p.email_log_id
WHERE p.test_id = $1
GROUP BY p.variant_id `,
[testId]
);
const withRates = stats.map(s => ({
...s,
open_rate: s.opened / s.sent,
click_rate: s.clicked / s.sent,
}));
// Проверить статистическую значимость (z-test для пропорций)
const winner = withRates.reduce((best, current) => {
const metric = test.winnerMetric === 'open_rate' ? 'open_rate' : 'click_rate';
return current[metric] > best[metric] ? current : best;
});
return winner.variant_id as 'A' | 'B' | 'C';
}
// Отправить победителя оставшимся пользователям
async function sendWinnerToRemainder(testId: string) {
const winnerId = await determineWinner(testId);
const test = await db.abTests.findById(testId);
const winnerVariant = test.variants.find(v => v.id === winnerId)!;
// Пользователи, не попавшие в тест
const participantIds = await db.abTestParticipants.getUserIdsByTest(testId);
const remainderUsers = await db.users.findExcluding(participantIds, test.campaignId);
await Promise.allSettled(
remainderUsers.map(user => sendVariantEmail(user, winnerVariant, testId)
)
);
}נקודה מרכזית: בדקו מובהקות סטטיסטית. השתמשו במבחן z לפרופורציות. אם p-value > 0.05, אין להכריז על מנצח. במקרים כאלה, האריכו את הבדיקה או חזרו להעריך את ההשערה.
| מדד | נוסחה | דוגמה לקבוצה A (n=1000) |
|---|---|---|
| שיעור פתיחה | נפתחו / נשלחו | 250/1000 = 25% |
| שיעור קליקים | נלחץ / נשלחו | 50/1000 = 5% |
| מובהקות סטטיסטית | מבחן z | z > 1.96 → מובהק |
| שלב | משך |
|---|---|
| אנליטיקה והשערות | 1–2 ימים |
| פיתוח מערכת פיצול | 3–5 ימים |
| בדיקת פיילוט | 1–2 ימים |
| השקה והדרכה | 1–2 ימים |
מה כלול בעבודה שלנו
- ביקורת קמפיינים נוכחיים וניסוח השערות.
- פיתוח מערכת פיצול עם איסוף מדדים משולב.
- הגדרת קביעת מנצח אוטומטית ושליחת יתרת הנמענים.
- תיעוד על פירוש תוצאות.
- תמיכה לאחר היישום למשך חודש אחד.
תהליך
- אנליטיקה – סקירת סטטיסטיקות האימייל שלכם, זיהוי צווארי בקבוק.
- עיצוב – בחירת משתנים, חישוב גודל מדגם, הגדרת מעקב.
- יישום – כתיבת קוד מערכת הפיצול, אינטגרציה עם הפלטפורמה שלכם.
- בדיקות – הפעלת בדיקת פיילוט, אימות הלוגיקה.
- השקה – עלייה לאוויר, הדרכת הצוות שלכם.
עלות היישום תלויה בתשתית הקיימת ובמספר הבדיקות המקבילות. אנו עורכים ביקורת מקדימה ומספקים נתון מדויק.
לוח זמנים ותוצאות
זמן יישום ממוצע: 5 עד 10 ימים, תלוי במורכבות האינטגרציה. בתוך זמן זה, תקבלו:
- מערכת בדיקות A/B פעילה.
- תוצאות מובהקות סטטיסטית ראשונות.
- המלצות להמשך אופטימיזציה.
ההשקעה בבדיקות A/B מחזירה את עצמה בתוך החודש הראשון. צרו קשר לייעוץ לגבי הפרויקט שלכם. אנו מבטיחים גישה מקצועית ודיווח שקוף.
לצוות שלנו יש ניסיון של 5+ שנים בשיווק באימייל, עם יותר מ-50 בדיקות A/B שיושמו. המומחים שלנו מוסמכים ב-ESP פופולריים.
לפי מחקר של Campaign Monitor, התאמה אישית משפרת את שיעורי הפתיחה ב-26%. בדיקות A/B יכולות לשפר את שיעורי הפתיחה ב-20-30% בהשוואה לשליחות אחידות. הזמינו יישום בדיקות A/B וקבלו תוצאות ראשונות תוך שבוע.







