Audiences
Construcción y exportación de audiencias comportamentales (retargeting, supresión, winback, lookalike) a plataformas de ads, con RFM y consentimiento.
Advanced
Activacion de Audiencias
Construye segmentos de comportamiento de tu data de eventos y envialos a plataformas de ads para retargeting, supresion, winback y campanas lookalike.
Que son las Audiencias?
Las audiencias son segmentos de usuarios construidos de data de comportamiento recolectada por RELO. Te permiten targetear, suprimir, o re-enganchar usuarios en plataformas de ads basado en su comportamiento real de compra y navegacion.
Las audiencias se construyen de queries a ClickHouse contra el historial completo de eventos y se cachean en DragonflyDB para lookups rapidos de membresia.
Tipos de Audiencias
Tipo
Descripcion
Actualizacion
Caso de Uso
retargeting
Abandonadores de carrito, viewers de producto
Cada hora
Re-enganchar usuarios que mostraron intencion
suppression
Compradores recientes
Tiempo real
Excluir compradores para evitar desperdicio de ads
winback
Compradores de alto valor inactivos (30+ dias)
Diario
Re-activar usuarios valiosos dormidos
lookalike
Top convertidores como semilla de ML
Semanal
Find new users similar to best buyersEncontrar nuevos usuarios similares a mejores compradores
cross-sell
Compro segmento A, probable que compre B
Semanal
Promover productos complementarios
Como se Construyen las Audiencias
-- Example: High-value Marca mobile buyers who haven't purchased in 30 days
-- This query runs in ClickHouse against the full events table
SELECT DISTINCT device_id
FROM events
WHERE client_id = 3 -- Marca
AND product_line = 'MX' -- Mobile segment
AND event_type = 'purchase'
AND revenue > 15000 -- High value (> $15K MXN)
AND event_time > now() - INTERVAL 180 DAY -- Purchased in last 6 months
AND event_time < now() - INTERVAL 30 DAY -- But not in last 30 days
AND bitAnd(consent_flags, 4) = 4 -- Consented to DSP export
-- Result: ~12,000 device_ids
-- These are stored in DragonflyDB as a set for fast membership checks
-- SET audience:winback_mx_highvalue {device_id_1, device_id_2, ...}
Segmentacion RFM
RELO usa analisis RFM (Recencia, Frecuencia, Monetario) para puntuar y segmentar usuarios automaticamente. La vista materializada RFM en ClickHouse se actualiza cada 5 minutos.
Dimension
Score 5 (Mejor)
Score 1 (Peor)
Recency
Compro en ultimos 7 dias
Ultima compra hace > 90 dias
Frequency
5+ compras en 6 meses
1 sola compra
Monetary
Gasto total > $50K MXN
Gasto total < $2K MXN
Segmentos RFM tipicos derivados de los scores:
Segmento
Patron RFM
Accion
Campeones
R=5, F=5, M=5
Semilla lookalike, recompensas de lealtad
En Riesgo
R=1-2, F=4-5, M=4-5
Campanas de winback
Clientes Nuevos
R=5, F=1, M=1-3
Nurturing, cross-sell
Hibernando
R=1, F=1, M=1
Excluir o descuento fuerte
Requisitos de Consentimiento
Las audiencias que se exportan a DSPs siempre requieren bit 2 (0x04) — DSP Export en el bitmask de consentimiento. Esto se aplica del lado del servidor sin importar la definicion de la audiencia.
// Consent bitmask (default 0xFF = all enabled, Mexico LFPDPPP is opt-out)
Bit 0 (0x01): Analytics - Basic event tracking
Bit 1 (0x02): Personalization - Product recommendations
Bit 2 (0x04): DSP Export - REQUIRED for audience export
Bit 3 (0x08): Cross-Client - Share identity across RELO clients
Bit 4 (0x10): Email - Email marketing
Bit 5 (0x20): Push - Push notifications
Bit 6 (0x40): Extended Retention - Keep data beyond 24mo TTL
Bit 7 (0x80): Reserved
// Check in query: WHERE bitAnd(consent_flags, 4) = 4
Destinos de Exportacion
Plataforma
Metodo
Tipos de Evento
Latencia
Meta (Facebook/Instagram)
Conversions API (CAPI)
Purchase, AddToCart, ViewContent, InitiateCheckout
Real-time (batched every 5s)Tiempo real (batch cada 5s)
Google Ads
Enhanced Conversions API
Purchase, Custom conversions
Casi tiempo real
TikTok
Events API
Purchase, AddToCart, ViewContent
Tiempo real
DV360
Audience API
Listas de audiencia
Batch diario
The Trade Desk
First-Party Data API + UID2
Segmentos de audiencia
Batch diario
Detalles de Integracion Meta CAPI
Los eventos de compra se envian a Meta en tiempo real via la Conversions API. El backbone en Go agrupa hasta 1,000 eventos por request y envia cada 5 segundos. Las llaves de matching incluyen:
em— Email hasheado (SHA-256)ph— Numero de telefono hasheadofbp— Cookie del pixel de Facebook (del pixel web)fbc— Click ID de Facebook (de parametros de URL)external_id— device_id unificado de RELOmadid— GAID / IDFA (cuando esta disponible)
Afinidad de Producto & Cross-Sell
RELO calcula una matriz de afinidad de producto de los datos de compra en ClickHouse. Esto identifica que productos se compran frecuentemente juntos, habilitando audiencias de cross-sell.
-- Product affinity query (ClickHouse materialized view)
-- Finds: "Users who bought Galaxy S24 also bought Galaxy Buds"
product_a: Galaxy S24 Ultra | product_b: Galaxy Buds Pro | co_purchase_count: 234
product_a: Galaxy S24 Ultra | product_b: Galaxy Watch 6 | co_purchase_count: 189
product_a: QLED 65" TV | product_b: Soundbar Q990C | co_purchase_count: 156
-- Cross-sell audience: users who bought product_a but NOT product_b
-- Export to Meta for targeted retargeting campaigns
Analisis de Retencion por Cohortes
RELO trackea la retencion por cohortes — agrupando usuarios por su mes de primera compra y trackeando cuantos regresan en meses posteriores. Esto alimenta el timing de audiencias de winback.
-- Cohort retention matrix (ClickHouse materialized view)
Cohort | Month 0 | Month 1 | Month 2 | Month 3 | Month 6
----------|---------|---------|---------|---------|--------
Jan 2026 | 100% | 18% | 12% | 9% | 5%
Feb 2026 | 100% | 22% | 14% | - | -
Mar 2026 | 100% | - | - | - | -
-- Key insight: ~18-22% of buyers return within 30 days
-- After 30 days, drop-off is steep -> winback window = 30-90 days
Timing optimo de winback: El analisis de cohortes muestra que la mejor ventana de winback es 30-60 dias despues de la ultima compra. Usuarios que no han regresado despues de 90 dias tienen muy baja probabilidad de regresar sin incentivos fuertes.
API: Construir una Audiencia
POST https://ingest.relo.mx/audiences/build
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
"client_id": 3,
"name": "Winback - MX High-Value 30-90d",
"audience_type": "winback",
"within_days": 180,
"inactive_days": 30,
"min_revenue": 15000,
"filter": {
"product_line": "MX",
"require_consent": 4
}
}
// Response 200:
{
"audience_id": "01HXYZ123456789ABCDEFGHIJ",
"name": "Winback - MX High-Value 30-90d",
"device_count": 12450,
"status": "built",
"built_at": "2026-03-18T15:30:00Z"
}