Última modificación: 12 de septiembre de 2025
Uso de contenido programable para personalizar correos electrónicos con datos de tu cuenta de HubSpot usando HubL. El origen de los datos que puedes utilizar en un correo electrónico programable dependen de tu suscripción de HubSpot:
  • Si tienes una suscripción a Marketing Hub Pro, puedes utilizar datos de objetos estándar del CRM, como contactos, empresas y productos.
  • Si tienes una suscripción a Marketing Hub Enterprise, también puedes utilizar fuentes de datos estructuradas como tablas de HubDB y objetos personalizados. Estos datos se pueden filtrar según las propiedades de contacto del destinatario.
Por ejemplo, en un sitio web inmobiliario, los prospectos podrían completar un formulario con sus necesidades de vivienda. El envío de formularios podría desencadenar un workflow que le envíe al prospecto un correo electrónico con casas en las que pueda estar interesado.

Límites de envío de correo electrónico

Puedes incluir las funciones de HubL del CRM crm_object, crm_objects y crm_associations en un correo electrónico programable, pero cualquier correo que incluya estas funciones específicas está sujeto a los siguientes límites según el número de destinatarios a los que se lo estés enviando:
500.0001
250.0002
165.0003
125.0004
100.0005
El envío de un correo electrónico que cumple o excede uno de los límites anteriores retrasará o cancelará el envío de tu correo. Además de los límites descritos anteriormente, ten en cuenta las advertencias adicionales que se indican a continuación:
  • Si clonas un correo electrónico programable, no se podrá enviar mientras el original aún esté en estado de procesamiento. Debes esperar al menos 1 hora entre cada envío de correo electrónico.
  • No puedes realizar una prueba A/B para un correo electrónico programable que incluya una función de HubL crm_object, crm_objects o crm_associations. Los correos electrónicos enviados mediante estas funciones tienen tiempos de envío significativamente más lentos que otros correos, lo que puede producir resultados inexactos en las pruebas.

1. Crear un módulo de correo electrónico programable

Para crear el módulo de correo electrónico para acceder a tus datos de HubDB u objeto personalizado:
  • En tu cuenta de HubSpot, navega hasta Marketing > Archivos y plantillas > Administrador de diseño.
  • En la parte superior izquierda, haz clic en Archivo, y luego selecciona Nuevo archivo.
  • En el cuadro de diálogo, selecciona Módulo para el tipo de archivo y luego haz clic en Siguiente. Luego, selecciona la casilla de verificación Correos electrónicos e introduce un nombre para el archivo.
  • Haz clic en Crear.
  • Para habilitar el correo electrónico programable para el módulo:
    • En el inspector de la derecha, activa el interruptor Activar módulo para correo electrónico programable beta.
    programmable-email-switch0
  • También puedes habilitar el correo electrónico programable para una plantilla de correo electrónico codificada agregando isEnabledForEmailV3Rendering: true en la parte superior del archivo. enable-design-manager-template-for-programmable-email
Con el módulo creado, agregarás entonces el código para acceder a los datos desde tu CRM. En los siguientes ejemplos se muestra cómo consultar desde diferentes fuentes de datos.

Objetos estándar

Puedes utilizar las funciones de HubL como crm_object, crm_objects y crm_associations para consultar datos de objetos estándar en tu cuenta, como contactos, empresas o productos. El siguiente código utiliza la función de HubL crm_object para consultar los datos de un producto con un ID de 2444498793 y representar el nombre, la descripción y el precio:
{% set product = crm_object("product", 2444498793, "name,description,price") %}

<div>
  <p>
    <span>Name: </span>
    <span>{{ product.name }}</span>
  </p>
  <p>
    <span>Description: </span>
    <span>{{ product.description }}</span>
  </p>
  <p>
    <span>Price: </span>
    <span>{{ product.price }}</span>
  </p>
</div>

Objetos personalizados

Si tienes una cuenta de Marketing Hub Enterprise, puedes consultar datos de un objeto personalizado que hayas creado en tu cuenta. El siguiente código recupera datos de un objeto personalizado llamado Propiedad, devolviendo valores (por ejemplo, ubicación, precio) almacenados en las propiedades del objeto personalizado. Ten en cuenta que el siguiente ejemplo utiliza el nombre totalmente calificado del objeto personalizado como primer argumento cuando se ejecuta la función de HubL crm_objects.
  • El nombre totalmente calificado comienza con el ID de la cuenta de HubSpot (precedido por p), seguido de un guion bajo y el nombre en plural en minúsculas del objeto personalizado (por ejemplo, properties).
  • Puedes recuperar un fullyQualifiedName de un objeto haciendo una solicitud GET a la API del esquema de objetos del CRM.
{% set real_estate_listings = crm_objects("p2990812_properties", "", "listing_name,location, price, address, type") %}

{% for home in real_estate_listings.results %}
    {{ home.address}} <br>
	{{ home.price }} <br>
	<img
	alt="{{ home.name }}"
	src="{{ home.hero_image }}"
	style="outline: none; max-width: 100%;"
	width="260px"
	/>
	<br>
	<hr>
{% endfor %}
Para filtrar los datos que se devuleven para cada destinatario, puedes agregar un parámetro query, el cual filtrará los resultados por las propiedades de contacto del destinatario. Consulta la lista completa de opciones de filtros.
{% set query = "price__lte="~contact.budget_max|int~"&price__gte="~contact.budget_min|int~"&city="~contact.city"&order=listing_name" %}
{% set real_estate_listings = crm_objects("p2990812_Property", query, "listing_name,location, price, address, type") %}
{% for home in real_estate_listings.results %}

  ...

{% endfor %}

HubDB

Si tienes una cuenta de Marketing Hub Enterprise, puedes usar datos de una tabla de HubDB en tu correo electrónico. El siguiente código utiliza la función de HubL hubdb_table_rows para recuperar todos los datos de la tabla. Esto enumerará todas las propiedades inmobiliarias en el correo electrónico, mostrando los detalles de cada propiedad junto con su imagen.
{% set real_estate_listings = hubdb_table_rows(1234567) %}

{% for home in real_estate_listings%}
    {{ home.address}} <br>
	{{ home.price }} <br>
	<img
	alt="{{ home.name }}"
	src="{{ home.hero_image.url }}"
	style="outline: none; max-width: 100%;"
	width="260px"
	/>
	<br>
	<hr>
{% endfor %}
Para filtrar los datos que se devuelven para cada destinatario, puedes agregar un parámetro query, que filtrará los resultados por las propiedades de contacto especificadas. Consulta la lista completa de opciones de filtros.
{% set query = "price__lte="~contact.budget_max|int~"&price__gte="~contact.budget_min|int~"&persona="~contact.hs_persona.value~"&order=listing_name" %}

{% for home in real_estate_listings %}

	...

{% endfor %}

2. Agregar el módulo a un correo electrónico

Con el módulo publicado, ahora lo agregarás al cuerpo del correo electrónico de arrastrar y soltar.
  • En tu cuenta de HubSpot, navega hasta Marketing > Correo electrónico.
  • Selecciona el correo electrónico que creaste.
  • En la barra lateral izquierda, en Contenido, haz clic en Más. Encuentra tu módulo de correo electrónico programable y luego arrástralo hasta el cuerpo del correo.
drag-and-drop-email-editor-more-modules Si configuraste el módulo para filtrar datos por propiedades de contacto específicas, la vista previa del correo electrónico aparecerá en blanco. Esto se debe a que la herramienta de correo electrónico no se ha configurado para obtener una vista previa del correo por un contacto específico. Para obtener una vista previa de cómo será el correo electrónico para un contacto específico:
  • En la parte superior derecha, haz clic en Acciones y luego selecciona Vista previa.
email-actions-menu0
  • En la siguiente pantalla, haz clic en el menú desplegable Ver como un contacto específico y luego selecciona un contacto.
preview-email-as-specific-contact0 Ahora deberías ver solo los datos relevantes para el destinatario, filtrados por sus propiedades de contacto. Captura de pantalla de la vista previa del correo electrónico Si una plantilla o módulo de correo electrónico contiene código personalizado con HubL no resuelto, aparecerá un módulo de marcador de posición en su lugar. placeholder-module-in-programmable-email

Más tutoriales enfocados en HubDB

HubSpot Academy