DocumentacionTests A/B

Tests A/B

Prueba dos versiones de una plantilla en una campana y elige la ganadora por tasa de apertura.

Un test A/B reparte los envios de una campana entre dos versiones de la misma plantilla y mide cual funciona mejor. MailingCore atribuye aperturas y clics por variante y elige la ganadora al cerrarlo.

Modelo

EntidadQue es
AbTestEl test: plantilla, estado, trafficSplit y variante ganadora
AbVariantCada version (versionId) con sus contadores sentCount, openCount, clickCount

Estados: DRAFTRUNNINGCOMPLETED (o CANCELLED).

Endpoints

MetodoRutaDescripcion
GET/ab-testsListar tests con nombre de plantilla y asuntos de cada variante
POST/ab-testsCrear un test (nace en DRAFT con dos variantes)
POST/ab-tests/:id/startDRAFTRUNNING
POST/ab-tests/:id/completeRUNNINGCOMPLETED, fija la ganadora

Guardias: JwtAuthGuard + TenantGuard (autenticacion de dashboard).

Crear un test

POST /ab-tests
Authorization: Bearer <accessToken>
X-Tenant-Id: {tenantId}
Content-Type: application/json

{
  "name": "Asunto onboarding",
  "templateId": "tmpl_123",
  "variantAId": "ver_a",
  "variantBId": "ver_b"
}
CampoRequeridoNotas
nameSiNombre del test
templateIdSiPlantilla en test (debe ser de tu tenant)
variantAId / variantBIdSiLas dos versiones a comparar
trafficSplitNoSe guarda; hoy las dos variantes se crean con peso 50/50

Como se ejecuta

  1. Arranca el test (/start) para ponerlo en RUNNING.
  2. Envia una campana con esa plantilla. Por cada destinatario, MailingCore elige una variante con un reparto ponderado (RNG criptografico) e incrementa su sentCount.
  3. El tracking atribuye la primera apertura y el primer clic de cada email a la variante correspondiente (openCount / clickCount).
  4. Cierra el test (/complete): la ganadora es la variante con mayor tasa de apertura (openCount / sentCount); en empate gana la primera.