Integraciones CRM

Referrer Tracker se integra fácilmente con los principales CRMs del mercado. Los datos de tracking capturados en tus formularios pueden enviarse directamente a tu CRM para enriquecer tus leads.

Enviar leads a Referrer Tracker (API de conversiones)

Si quieres que tu CRM (o middleware) envíe leads/conversiones a Referrer Tracker para su posterior sincronización con plataformas publicitarias, utiliza el endpoint de ingesta de conversiones.

Importante: Usa destination para indicar a qué plataforma va esta conversión (por ejemplo: meta o google). Esto evita colisiones cuando el mismo event_name existe en varias plataformas.

El campo event_name (o su alias conversion_type) debe coincidir con el conversionType configurado/mapeado para ese destination en tu cuenta (por ejemplo: Lead, LeadQualified, Purchase, etc.).

Nota: event_name / conversion_type es el “tipo de conversión” interno (CRM). El nombre del evento real que se envía a Meta se define en tu mapeo como metaEventName.

Si el evento no tiene un mapeo configurado para ese destino, la conversión se guardará igualmente, pero no podrá procesarse/enviarse.

Identificadores (email/teléfono): Puedes enviar email y phone en texto plano. No hace falta hashearlos: la aplicación se encargará de normalizarlos y hashearlos durante el procesamiento/envío a las plataformas.

Autenticación: Este endpoint requiere Bearer token. Usa tu API key como token:

Authorization: Bearer TU_API_KEY

Endpoint

POST /api/conversions/ingest

Reglas de deduplicación

  1. La deduplicación se realiza por lead_id + (event_name / conversion_type) + destination.
  2. Si además envías un click id (gclid, fbclid, msclkid, etc.), se tendrá en cuenta también para deduplicar.

Importante (múltiples conversiones por lead): puedes enviar varias conversiones para el mismo lead (por ejemplo: Lead, LeadQualified, Purchase) usando el mismo lead_id, y cambiando conversion_type en cada evento.

Ejemplos:

  • lead_id=12345 + conversion_type=Lead
  • lead_id=12345 + conversion_type=LeadQualified
  • lead_id=12345 + conversion_type=Purchase

Notas de campos

¿Van en data o fuera? Puedes enviar email, phone, value y currency tanto en top-level como dentro de data. La API los aceptará en cualquiera de los dos formatos y los extraerá a columnas dedicadas para facilitar el procesamiento.

Value / currency y el mapeo:

  • Si tu mapeo configura un value y/o currency fijo: esos valores se usarán como referencia para el envío. En ese caso, puedes omitirlos en el payload o enviarlos igualmente para trazabilidad.
  • Si tu mapeo no fija valor/moneda: envía value y currency en el payload para que el sistema los utilice al sincronizar con la plataforma.

Ejemplo (cURL)

curl -X POST https://www.referrertracker.com/api/conversions/ingest \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer TU_API_KEY" \
  -d '{
    "destination": "meta",
    "conversion_type": "Lead",
    "event_time": "2025-12-19T10:30:00Z",
    "source": "hubspot",
    "external_id": "contact_12345",
    "data": {
      "lead_id": "contact_12345",
      "email": "cliente@example.com",
      "phone": "+34600111222",
      "value": 49.90,
      "currency": "EUR",
      "gclid": "Cj0KCQiA...",
      "first_name": "Ana",
      "last_name": "García"
    }
  }'

HubSpot

HubSpot es uno de los CRMs más populares y la integración es muy sencilla.

Configuración de Campos Personalizados

Primero, crea campos personalizados en HubSpot para almacenar los datos de tracking:

  1. Ve a Settings → Properties en HubSpot
  2. Selecciona el objeto Contact
  3. Click en Create property
  4. Crea los siguientes campos:
Campo: UTM Source
Tipo: Single-line text
Internal name: utm_source

Campo: UTM Medium
Tipo: Single-line text
Internal name: utm_medium

Campo: UTM Campaign
Tipo: Single-line text
Internal name: utm_campaign

Campo: UTM Content
Tipo: Single-line text
Internal name: utm_content

Campo: UTM Term
Tipo: Single-line text
Internal name: utm_term

Campo: Google Click ID
Tipo: Single-line text
Internal name: gclid

Campo: Facebook Click ID
Tipo: Single-line text
Internal name: fbclid

Campo: Referrer URL
Tipo: Single-line text
Internal name: referrer

Formularios de HubSpot

Si usas formularios nativos de HubSpot:

  1. Edita tu formulario en HubSpot
  2. Añade los campos personalizados que creaste
  3. Configúralos como Hidden fields
  4. En el código embed del formulario, añade el script de Referrer Tracker
<!-- Script de HubSpot -->
<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2.js"></script>
<script>
  hbspt.forms.create({
    region: "na1",
    portalId: "TU_PORTAL_ID",
    formId: "TU_FORM_ID"
  });
</script>

<!-- Referrer Tracker -->
<script src="/referrer-tracker.min.js"></script>
<script>
  ReferrerTracker.configure({
    apiKey: 'TU_API_KEY'
  });
</script>

Formularios HTML Personalizados

Si usas formularios HTML que envían a HubSpot vía API:

<form id="contactForm">
  <input type="text" name="firstname" placeholder="Nombre" required>
  <input type="email" name="email" placeholder="Email" required>
  
  <!-- Campos ocultos para tracking -->
  <input type="hidden" name="utm_source" id="rt_source">
  <input type="hidden" name="utm_medium" id="rt_medium">
  <input type="hidden" name="utm_campaign" id="rt_campaign">
  <input type="hidden" name="utm_content" id="rt_content">
  <input type="hidden" name="utm_term" id="rt_term">
  <input type="hidden" name="gclid" id="rt_gclid">
  <input type="hidden" name="fbclid" id="rt_fbclid">
  <input type="hidden" name="referrer" id="rt_referrer">
  
  <button type="submit">Enviar</button>
</form>

<script>
document.getElementById('contactForm').addEventListener('submit', async (e) => {
  e.preventDefault();
  const formData = new FormData(e.target);
  
  // Enviar a HubSpot
  const response = await fetch('https://api.hsforms.com/submissions/v3/integration/submit/TU_PORTAL_ID/TU_FORM_ID', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      fields: Array.from(formData.entries()).map(([name, value]) => ({
        name: name,
        value: value
      }))
    })
  });
  
  if (response.ok) {
    alert('¡Gracias! Nos pondremos en contacto contigo.');
  }
});
</script>

Ventaja: Con esta configuración, cada lead en HubSpot tendrá automáticamente toda la información de origen, permitiéndote crear listas, workflows y reportes basados en la fuente de tus leads.

Salesforce

Salesforce permite capturar datos de tracking en los objetos Lead y Contact.

Crear Campos Personalizados

  1. Ve a Setup → Object Manager
  2. Selecciona Lead
  3. Click en Fields & Relationships
  4. Click en New y crea los siguientes campos:
Campo: UTM Source
Tipo: Text(255)
API Name: UTM_Source__c

Campo: UTM Medium
Tipo: Text(255)
API Name: UTM_Medium__c

Campo: UTM Campaign
Tipo: Text(255)
API Name: UTM_Campaign__c

Campo: Google Click ID
Tipo: Text(255)
API Name: GCLID__c

Campo: Facebook Click ID
Tipo: Text(255)
API Name: FBCLID__c

Web-to-Lead Forms

Si usas formularios Web-to-Lead de Salesforce:

<!-- Formulario Web-to-Lead de Salesforce -->
<form action="https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
  <input type="hidden" name="oid" value="TU_ORG_ID">
  <input type="hidden" name="retURL" value="http://tudominio.com/gracias">
  
  <input type="text" name="first_name" placeholder="Nombre">
  <input type="text" name="last_name" placeholder="Apellido">
  <input type="email" name="email" placeholder="Email">
  
  <!-- Campos de tracking -->
  <input type="hidden" name="00N..." id="rt_source">  <!-- Reemplaza 00N... con tu Field ID -->
  <input type="hidden" name="00N..." id="rt_medium">
  <input type="hidden" name="00N..." id="rt_campaign">
  <input type="hidden" name="00N..." id="rt_gclid">
  
  <button type="submit">Enviar</button>
</form>

Nota: En Salesforce, cada campo personalizado tiene un ID único (ej: 00N5g00000ABC123). Encuentra estos IDs en Setup → Object Manager → Lead → Fields & Relationships.

Zoho CRM

Zoho CRM permite capturar datos de tracking mediante formularios web.

Configuración Básica

  1. Ve a Setup → Modules and Fields
  2. Selecciona Leads
  3. Crea campos personalizados para cada parámetro de tracking
  4. En tu formulario web, añade campos ocultos con los nombres exactos
<form action="https://crm.zoho.com/crm/WebToLeadForm" method="POST">
  <input type="hidden" name="xnQsjsdp" value="TU_TOKEN">
  <input type="hidden" name="zc_gad" value="">
  <input type="hidden" name="returnurl" value="http://tudominio.com/gracias">
  
  <input type="text" name="First Name" placeholder="Nombre">
  <input type="text" name="Last Name" placeholder="Apellido">
  <input type="email" name="Email" placeholder="Email">
  
  <!-- Campos de tracking -->
  <input type="hidden" name="UTM Source" id="rt_source">
  <input type="hidden" name="UTM Medium" id="rt_medium">
  <input type="hidden" name="UTM Campaign" id="rt_campaign">
  <input type="hidden" name="GCLID" id="rt_gclid">
  
  <button type="submit">Enviar</button>
</form>

Otros CRMs

El mismo principio se aplica a cualquier CRM:

  1. Crea campos personalizados en tu CRM para almacenar los datos de tracking
  2. Añade campos ocultos en tu formulario con los IDs correctos (rt_source, rt_medium, etc.)
  3. El script rellena automáticamente estos campos antes del envío
  4. Los datos se envían junto con el resto del formulario a tu CRM

CRMs compatibles: Pipedrive, ActiveCampaign, Mailchimp, SendGrid, GetResponse, y cualquier CRM que acepte formularios HTML o tenga API REST.