DocumentazioneTest A/B
Test A/B
Metti alla prova due versioni di un template in una campagna e scegli la vincente per tasso di apertura.
Un test A/B ripartisce gli invii di una campagna tra due versioni dello stesso template e misura quale funziona meglio. MailingCore attribuisce aperture e clic per variante e sceglie la vincente alla chiusura.
Modello
| Entita | Che cos'e |
|---|---|
| AbTest | Il test: template, stato, trafficSplit e variante vincente |
| AbVariant | Ogni versione (versionId) con i contatori sentCount, openCount, clickCount |
Stati: DRAFT → RUNNING → COMPLETED (o CANCELLED).
Endpoint
| Metodo | Percorso | Descrizione |
|---|---|---|
GET | /ab-tests | Elenca i test con nome del template e oggetto di ogni variante |
POST | /ab-tests | Crea un test (nasce in DRAFT con due varianti) |
POST | /ab-tests/:id/start | DRAFT → RUNNING |
POST | /ab-tests/:id/complete | RUNNING → COMPLETED, fissa la vincente |
Guard: JwtAuthGuard + TenantGuard (autenticazione dashboard).
Creare un test
POST /ab-tests
Authorization: Bearer <accessToken>
X-Tenant-Id: {tenantId}
Content-Type: application/json
{
"name": "Oggetto onboarding",
"templateId": "tmpl_123",
"variantAId": "ver_a",
"variantBId": "ver_b"
}
| Campo | Obbligatorio | Note |
|---|---|---|
name | Si | Nome del test |
templateId | Si | Template sotto test (deve appartenere al tuo tenant) |
variantAId / variantBId | Si | Le due versioni da confrontare |
trafficSplit | No | Viene salvato; oggi entrambe le varianti si creano con peso 50/50 |
Come funziona
- Avvia il test (
/start) per portarlo aRUNNING. - Invia una campagna con quel template. Per ogni destinatario MailingCore sceglie una variante con una ripartizione ponderata (RNG crittografico) e incrementa il suo
sentCount. - Il tracking attribuisce la prima apertura e il primo clic di ogni email alla variante corrispondente (
openCount/clickCount). - Chiudi il test (
/complete): la vincente e la variante con il tasso di apertura piu alto (openCount / sentCount); in caso di parita vince la prima.