Skip to main content

Referencia de evoOrigin

Datos que se guardan en la sesión

El plugin de sistema escribe en la sesión de Joomla un array bajo la clave configurada (por defecto evo_origin). Estas son sus claves:

Clave Contenido Límite
gclid, gbraid, wbraid, msclkid, fbclid Valor del parámetro de la URL 100 caracteres
utm_source, utm_medium, utm_campaign Valor del parámetro de la URL 100 caracteres
hsa_cam Valor del parámetro de la URL 100 caracteres
referer Dominio del referer externo del primer contacto, en minúsculas y sin www. 150 caracteres
referer_interno 1 si el primer referer era un dominio propio

Reglas de captura:

  • Un parámetro de la URL sustituye al valor anterior cada vez que aparece.
  • El referer se guarda una sola vez por sesión: el primero que no sea propio. Solo se guarda el dominio, no la URL.
  • Un referer cuyo dominio coincide con uno de los Dominios propios (o con un subdominio) no cuenta como origen externo.
  • Solo se captura en el frontal, en peticiones GET con formato HTML, y se omiten com_ajax, las peticiones con la cabecera X-Requested-With y los agentes de usuario que contienen «bot», «crawl» o «spider».

Registro de la visita

Con Registrar visitas activo:

  • Se escribe como máximo una fila por sesión de Joomla (el identificador de sesión se guarda como HMAC-SHA256 con una sal derivada del secreto del sitio, no en claro).
  • La fila se escribe solo si la sesión trae algún origen: fuente, medio, campaña, referer o algún identificador de clic.
  • La página de entrada se guarda sin query.
  • Si el visitante se identifica después en la misma sesión, la fila recibe su user_id.
  • Los identificadores de clic solo se guardan si Guardar identificadores de clic está activo.
  • En las estadísticas, una fuente vacía se muestra como (direct) y un medio vacío como (none).

Evento onEvooriginLead

Lo lanza la extensión que crea el lead. evoOrigin lee el origen de la sesión actual y guarda el resumen.

Argumento Contenido Formato
refType Tipo de referencia (por ejemplo, offer) Letras, números, _, . y -; hasta 50 caracteres
refId Identificador de la referencia Lo anterior y :; hasta 100 caracteres
use Joomla\CMS\Factory;
use Joomla\Event\Event;

Factory::getApplication()->getDispatcher()->dispatch(
    'onEvooriginLead',
    new Event('onEvooriginLead', ['refType' => 'offer', 'refId' => (string) $offerId])
);

Comportamiento:

  • Si Guardar la atribución de leads está apagado, o los argumentos no cumplen el formato, no hace nada.
  • Cada pareja refType + refId tiene una sola fila.
  • La primera vez guarda el primer origen y el último origen iguales. En las siguientes, actualiza el último origen solo si la sesión trae algún origen, y suma uno al contador visits cada vez que se lanza el evento.
  • Un error al guardar la atribución nunca impide que se cree el lead.

API REST

Rutas de solo lectura. Usa la cabecera X-Joomla-Token: <token> y el permiso core.manage sobre com_evoorigin. Sin ese permiso, la API devuelve 403.

Método y ruta Devuelve
GET /api/index.php/v1/evoorigin/stats Contadores mensuales: month, source, medium, campaign, visits.
GET /api/index.php/v1/evoorigin/visits Visitas: ip, user_id, landing, source, medium, campaign, referer, created.
GET /api/index.php/v1/evoorigin/leads Resúmenes de atribución de leads.
GET /api/index.php/v1/evoorigin/leads/:id Un resumen por su id numérico.

Parámetros:

Ruta Parámetro Efecto
stats filter_month Mes en formato YYYY-MM
visits filter_source, filter_campaign Filtra por valor exacto
leads filter_ref_type Filtra por tipo de referencia
visits, leads page[limit], page[offset] Paginación; el límite va de 1 a 100 (20 por defecto)

Las respuestas no se guardan en caché. La IP de las visitas sale siempre truncada; si estaba guardada como hash, aparece (hash). Los resúmenes de leads no incluyen los identificadores de clic. Las estadísticas suman el detalle que aún se conserva y los contadores ya agregados.

Herramientas MCP (evoMCP)

Las incluye el plugin del grupo evomcp. Hacen falta evoMCP y que la conexión tenga permiso sobre el componente evoorigin. Además, el usuario necesita core.manage sobre com_evoorigin (y core.delete para borrar).

Herramienta Permiso en evoMCP Qué hace
evoorigin_stats Lectura (estadísticas) Visitas por mes, fuente, medio y campaña. Parámetro opcional month.
evoorigin_list_visits Lectura (visitas) Lista visitas, con IP truncada. Filtros source, campaign, limit (1 a 100), offset. Devuelve datos personales.
evoorigin_list_leads Lectura (leads) Lista resúmenes de atribución. Filtros ref_type, limit, offset.
evoorigin_get_lead_attribution Lectura (leads) Atribución de un lead por ref_type y ref_id.
evoorigin_delete_visits Escritura (visitas) Elimina hasta 100 visitas por id. Exige aprobación humana.
evoorigin_delete_leads Escritura (leads) Elimina hasta 100 resúmenes por id. Exige aprobación humana.
evoorigin_purge_now Escritura (visitas) Ejecuta la purga de retención ahora. Exige aprobación humana.

Las herramientas de escritura admiten dry_run. Con él, el borrado indica qué eliminaría y la purga devuelve los plazos configurados, sin tocar datos. Ninguna herramienta devuelve la IP completa.

Tablas

Con el prefijo de tablas de tu Joomla:

Tabla Nivel Columnas
evoorigin_visits 1 id, session_hash, user_id, ip, landing, source, medium, campaign, referer, click_ids, created
evoorigin_leads 2 id, ref_type, ref_id, first_* y last_* (source, medium, campaign, referer, at), visits, click_ids, created, updated
evoorigin_stats 3 month, source, medium, campaign, visits

Tarea programada

El tipo de tarea es evoorigin.purge. Cada ejecución hace tres cosas:

  1. Suma a las estadísticas las visitas anteriores al plazo de retención del detalle y las borra, en lotes de 1000. Si falla la suma, no borra.
  2. Quita los identificadores de clic de las visitas y de los leads anteriores a su plazo, sin borrar la fila.
  3. Borra los resúmenes de leads cuya última interacción es anterior al plazo en meses.

La purga se ejecuta aunque el registro de visitas esté apagado, de modo que los datos que ya existieran se siguen purgando.