LealUp Docs
Integraciones

Importar CSV

Carga masiva de clientes desde CSV — columnas requeridas, mapping, validación, mejores prácticas.

El import por CSV es la forma más rápida de poblar LealUp el primer día, especialmente si estás migrando de Gainsight, ChurnZero, Planhat, o simplemente de una hoja de cálculo.

Cuándo usarlo

  • Onboarding inicial — importar tu cartera completa (20–2000 clientes en minutos).
  • Migración de CS tool anterior — el export → import es la forma universal.
  • Bulk update — cambiar owner de muchos clientes a la vez, actualizar tier, etc.
  • Backfill de campos personalizados — poblar un campo nuevo para toda la cartera.

Dónde

Admin → Clientes → Importar CSV

Requiere rol admin o director.

Columnas requeridas

Tu CSV debe tener al menos estas columnas (case-insensitive, aceptamos múltiples nombres comunes):

ColumnaAlternativas aceptadasTipo
namecustomer_name, company, account_nametexto
email_domaindomain, primary_domaintexto
arrarr_usd, annual_revenue, acvnúmero
owner_emailcsm_email, csm, owneremail

Columnas opcionales recomendadas

ColumnaPara qué
statusActivo, Trial, Churned, Paused (default: Activo)
renewal_datefecha ISO 8601 (YYYY-MM-DD)
countrycódigo ISO 3166 (CL, MX, BR, US, etc.) o nombre
segmentvalor que matchee con tu configuración de segmentos
tierPlatinum / Gold / Silver / Bronze
industryFintech / Retail / Healthtech / etc.
created_atcuando el cliente empezó contigo (defaults a hoy)

Campos personalizados

Cualquier columna con el prefijo cf_ se trata como campo personalizado:

  • cf_tier → mapea al campo custom tier.
  • cf_acv_target_usd → mapea a acv_target_usd.

El campo debe estar previamente creado en Admin → Campos personalizados. Si no existe, LealUp ofrece crearlo durante el import.

Flow del wizard

  1. Subir archivo — max 10 MB, formato .csv (UTF-8 recomendado, soporta también latin-1).
  2. Preview — LealUp muestra las primeras 10 filas, detecta headers automáticamente.
  3. Mapping — columnas del CSV ↔ campos de LealUp. Auto-sugiere, pero puedes override.
  4. Validación — errores y warnings por fila:
    • Email inválido → error (fila skippeada).
    • ARR no numérico → error.
    • Dominio duplicado con cliente existente → warning (opción: skip / update / merge).
    • Campo custom inexistente → warning (opción: crear o skip).
  5. Dry-run report — summary: "Crear X, actualizar Y, skippear Z". Descargable como log.
  6. Confirmación — click "Importar".
  7. Procesamiento en background — para CSVs grandes (>500 rows), corre async. Notificación al terminar.

Ejemplo de CSV mínimo

name,email_domain,arr,owner_email
Acme Inc,acme.com,145000,[email protected]
Globex,globex.io,80000,[email protected]
Initech,initech.cl,32000,[email protected]

Ejemplo con campos opcionales y custom

name,email_domain,arr,owner_email,renewal_date,segment,cf_tier,cf_industry
Acme Inc,acme.com,145000,[email protected],2026-06-15,Enterprise LATAM,Platinum,Fintech
Globex,globex.io,80000,[email protected],2026-08-20,Mid-Market,Gold,Retail

Validación en detalle

Errores (fila no se crea)

  • Email del owner no existe en el workspace como usuario activo.
  • ARR no numérico o negativo.
  • Dominio vacío cuando es columna requerida.
  • Fecha mal formateada (renewal_date debe ser ISO 8601).
  • Valor de DROPDOWN fuera de las opciones (ej. tier: Ultra cuando solo tienes Platinum/Gold/Silver).

Warnings (fila se crea con reserva)

  • Dominio duplicado — ya existe cliente con ese email_domain. Elige: skip (default), update (merge campos), or create-anyway (raro).
  • ARR = 0 — se crea pero se flaggea como "sin ARR".
  • País no reconocido — se crea pero se flaggea.

Info (no bloqueante)

  • Clientes en Trial con ARR — OK, alimenta el cálculo del tier de plan.
  • Duplicados por nombre — si no hay dominio pero sí nombre, warning "posible duplicado".

Matching de clientes existentes

Al importar, LealUp busca en orden:

  1. email_domain match exacto.
  2. external_id (si lo estás seteando vía columna external_id).
  3. Match fuzzy por nombre (threshold 90%).

Si hay match, ofrece opciones:

  • Skip — no tocar.
  • Update — actualizar campos que están vacíos en LealUp con valores del CSV.
  • Overwrite — pisar con lo del CSV (destructivo, requiere confirmación).

Bulk update

Si tu CSV trae solo clientes que ya existen (todos matchean), el flow es efectivamente un bulk update:

  • Todos los ARR nuevos pisan los viejos.
  • Owner_email nuevo reasigna ownership.
  • Campos custom se actualizan.

Útil para:

  • Actualizar ARR después de un ejercicio anual de RevOps.
  • Reasignar masivamente cartera por CSM que dejó.
  • Actualizar un campo nuevo para todo el portfolio.

Rollback

Si después del import descubres un error:

  • Admin → Audit log → Filtrar por "bulk_import" → encontrar el import ID.
  • Deshacer import → revierte todos los cambios en esa operación.

Ventana: 24h desde el import. Después, manual.

Migrar de Gainsight / ChurnZero / Planhat

Proceso sugerido:

1. Export desde el tool anterior

  • Gainsight: Companies → Export (CSV completo con custom fields).
  • ChurnZero: Accounts → Export.
  • Planhat: Companies → Export.
  • Custify: Customers → Export.

2. Limpia el CSV

  • Renombra columnas a las nombres estándar de LealUp (o mapeo en el wizard).
  • Elimina columnas que no te interesan (simplifica).
  • Verifica el formato de fechas (ISO 8601).

3. Import con dry-run

  • Primera pasada: dry-run only (no commitea).
  • Revisa errores y warnings en calma.
  • Ajusta el CSV o mapping.

4. Import real

  • Compromételo.
  • Verifica sample de clientes (busca 3–5 al azar y chequea que todo esté bien).

5. Complementa con integraciones

  • Conecta Gmail/Calendar → el timeline se reconstruye hacia adelante (no hay import histórico).
  • Conecta Zendesk/Jira para soporte.
  • Opcional: import de eventos históricos via POST /v1/ingest/events batch.

6. Recrea playbooks

  • Los playbooks no se migran automáticamente (lógicas distintas entre tools).
  • Empieza con los 5 playbooks sembrados de LealUp y adapta.

Problemas comunes

"UTF-8 se rompe con caracteres latinos"

  • Guarda el CSV como UTF-8 con BOM.
  • Si tu CSV viene de Excel, usa "Save As → CSV UTF-8".

"LealUp dice 'too many errors'"

  • Si >25% de filas fallan, el import se pausa para revisar.
  • Descarga el log, arregla el CSV, reintenta.

"Import se trabó en proceso"

  • CSVs grandes (>5000 rows) corren async.
  • Admin → Audit log → Imports — ver estado.
  • Si quedó en "processing" >2h, contacta soporte con el import ID.

"Clientes sin owner"

  • Si un owner_email del CSV no existe como usuario activo, la fila falla.
  • Solución: crea los usuarios primero en Admin → Equipo, luego re-importa.

Límites

  • Máximo 10 MB por archivo (aprox 50k filas con columnas típicas).
  • Máximo 10 imports simultáneos en cola por workspace.
  • Columnas: max 50 por CSV.

Para volúmenes mayores, contacta soporte (Scale/Enterprise pueden usar el endpoint POST /v1/admin/bulk-import directamente via API).

On this page