Saltar al contenido principal
Usa propiedades (como Tags de usuario e identificadores como External ID) para personalizar mensajes y cargas de entrega con sintaxis Liquid. OneSignal renderiza los marcadores Liquid en el momento del envío, usando datos ya almacenados en el usuario, suscripción, Journey, mensaje, plantilla, aplicación u organización. Puedes usar estos datos para personalizar mensajes, webhooks de Journey y Event Streams.

Cuándo usar la personalización con propiedades

Usa la personalización con propiedades para renderizar contenido en el momento del envío utilizando datos que ya existen en OneSignal, más comúnmente Tags de usuario, External ID y campos de suscripción como correo electrónico o número de teléfono. Este es el enfoque correcto cuando:
  • Los datos ya están almacenados en OneSignal
  • Quieres que los marcadores Liquid se reemplacen automáticamente cuando se envía el mensaje
  • No necesitas obtener o calcular datos nuevos en el momento de la entrega
Si el valor debe obtenerse o calcularse en el momento del envío (por ejemplo, precios en tiempo real o inventario), usa Data Feeds o nuestra API con custom_data.Si el valor proviene del evento que causó que un usuario ingresara o avanzara en un Journey, usa la personalización con Custom Events.

Compatibilidad de canales

Cada canal admite tipos de propiedades y campos específicos.
Admite Propiedades de usuario y suscripción en:
  • Asunto, Responder a y Pre-encabezado
  • Cuerpo del mensaje
  • Atributos HTML (por ejemplo: <img src="{{ image_url }}" />)
  • Acciones de botón (URLs, mailto, etc.)

Cómo funciona la personalización con propiedades

OneSignal reemplaza los marcadores Liquid con los valores de propiedad correspondientes para el usuario y la suscripción que recibe el mensaje.
Liquid
Hi {{ first_name | default: "friend" }}!
Congrats on reaching level {{ level | default: "1" }}!
Si un usuario tiene los tags first_name: Jon y level: 5, verá:
Text
Hi Jon!
Congrats on reaching level 5!

Si un usuario no tiene tags configurados, verá los valores predeterminados en su lugar.

Referencia de objetos Liquid de propiedades

Usa esta sección para consultar los nombres exactos de objetos y campos disponibles en Liquid.

Propiedades de usuario y suscripción

Usa user para datos a nivel de usuario. Usa subscription cuando necesites valores específicos del canal como dirección de correo electrónico o número de teléfono.
user.tags
Los Tags del usuario. Puedes hacer referencia a los tags de varias maneras:
  • Usa la key directamente o coloca la clave después de tags
  • Tags de ejemplo configurados: first_name: Jon, level: 5
Liquid
Your first name is {{ first_name }}.
Your first name is {{ user.tags.first_name }}.
Your level is {{ level }}.
Your level is {{ user.tags.level }}.
  • Itera sobre los tags con sintaxis de bucle for. Este ejemplo muestra pares clave:valor separados por comas.
Liquid
{% for tag in user.tags %}
{{ tag[0] }}: {{ tag[1] }}
{% unless forloop.last %},
{% endunless %}{% endfor %}
user.external_id
El External ID del usuario.
Liquid
Your user ID is {{ user.external_id }}.
Your user ID is {{ subscription.external_id }}.
user.onesignal_id
El OneSignal ID del usuario.
Liquid
Your OneSignal user ID is {{ user.onesignal_id }}.
subscription.email
La dirección de correo electrónico de la suscripción de correo electrónico que recibe el mensaje.
Liquid
Thanks for subscribing with email {{ subscription.email }}.
subscription.phone_number
El número de teléfono de la suscripción SMS que recibe el mensaje.
Liquid
Thanks for subscribing with phone number {{ subscription.phone_number }}.
user.language
El código de idioma del usuario.
Liquid
Preferred language: {{ user.language }}
Preferred language: {{ subscription.language }}
user.subscriptions
Las Subscriptions del usuario.
  • Itera sobre las suscripciones con sintaxis de bucle for.
  • Este ejemplo muestra el token y el ID de cada suscripción separados por comas.
JSON
{
  "subscriptions": "{% for subscription in user.subscriptions %}{% if subscription.subscription_token %}{{ subscription.subscription_token }}: {{ subscription.id }}{% unless forloop.last %}, {% endunless %}{% endif %}{% endfor %}"
}
subscription.unsubscribe_token
El token utilizado con la API para cancelar suscripción de correo electrónico con token.
Unsubscribe: https://your-domain.com/unsubscribe?token={{ subscription.unsubscribe_token }}

Propiedades de Journey

El objeto journey te permite hacer referencia al nombre del Journey o acceder a la personalización con Custom Events para el Journey.
journey.name
El nombre del Journey.
JSON
{
  "journey_name": "{{ journey.name }}"
}

Propiedades de mensaje

El objeto message proporciona acceso al ID del mensaje, nombre e ID de plantilla que pueden ser útiles para Event Streams, junto con acceso a custom_data para personalizar mensajes enviados desde tu backend.
message.id
El ID del mensaje establecido por OneSignal.
{
  "message_id": "{{ message.id }}"
}
message.name
El nombre del mensaje establecido por ti, el remitente.
{
  "message_name": "{{ message.name }}"
}
message.template_id
El ID de la plantilla establecido por OneSignal.
{
  "template_id": "{{ message.template_id }}"
}

Propiedades de plantilla

El objeto template proporciona acceso al ID y nombre de la plantilla utilizada para enviar el mensaje. Esto puede ser útil para Event Streams.
template.id
El ID de la plantilla establecido por OneSignal.
{
  "template_id": "{{ template.id }}"
}
template.name
El nombre de la plantilla establecido por ti, el remitente.
{
  "template_name": "{{ template.name }}"
}

Propiedades de aplicación y organización

Los objetos app y org proporcionan detalles sobre la aplicación y organización que envió el mensaje. Esto puede ser útil para Event Streams.
app.id
El ID de la aplicación establecido por OneSignal.
{
  "app_id": "{{ app.id }}"
}
app.name
El nombre de la aplicación establecido por ti, el propietario de la aplicación.
{
  "app_name": "{{ app.name }}"
}
org.id
El ID de la organización establecido por OneSignal.
{
  "org_id": "{{ org.id }}"
}
org.name
El nombre de la organización establecido por ti, el propietario de la organización.
{
  "org_name": "{{ org.name }}"
}

Ejemplo: Carrito abandonado con Tags

Este ejemplo muestra cómo personalizar mensajes de carrito abandonado usando Tags de usuario. Se basa en el tutorial de carrito abandonado. Tags de ejemplo configurados:
JSON
{
  "cart_updated": "unix_timestamp_seconds",
  "product_image": "https://i.imgur.com/ssPCfbC.png",
  "product_name": "24 Pack of Acorns",
  "product_quantity": "1",
  "product_price": "$12.99",
  "cart_items_count": "4",
  "cart_url": "https://yourdomain.com/cart"
}

Plantilla de correo electrónico

1

Crear una nueva plantilla de correo electrónico

Navega a Mensajes > Templates > Nueva plantilla de correo electrónico y abre el editor de arrastrar y soltar.
2

Agregar la estructura de diseño

Crea cinco filas:
  • Filas 1, 2 y 4: una columna con un bloque de Párrafo
  • Fila 3: cuatro columnas con HTML | Párrafo | Párrafo | Párrafo
  • Fila 5: una columna con un bloque de Botón
3

Agregar liquid a los bloques de párrafo

En la fila 1, agrega:
Liquid
We're holding onto {{cart_items_count}} items in your cart, but don't wait too long, other squirrels are getting ahead!
En la fila 2, agrega una descripción de lo que el usuario está viendo:
Text
Currently in your cart:
En la fila 4, agrega otra llamada a la acción:
Text
Checkout now while supplies last!
4

Mostrar el artículo más reciente

En la fila 3, configura las cuatro columnas:Columna 1 (bloque HTML):
HTML
<img src="{{product_image}}" alt="Image" style="max-width:100%;" />
Columnas 2-4 (bloques de texto):
  • Columna 2: {{product_name}}
  • Columna 3: {{product_quantity}}
  • Columna 4: {{product_price}}
5

Agregar la URL del carrito al botón

En el bloque de Botón de la fila 5, establece la URL de acción a:
{{cart_url}}
6

Probar y previsualizar la plantilla

Envía un correo electrónico de prueba a ti mismo usando el botón Probar y previsualizar.
  • Asegúrate de que los tags estén configurados en tu suscripción de correo electrónico.
7

Aplicar estilos a la plantilla

Ahora puedes aplicar tus propios estilos a la plantilla. Consulta Diseñar correos electrónicos con arrastrar y soltar.

Plantilla push

Las notificaciones push tienen espacio limitado, así que muestra un artículo y menciona la cantidad total. Campo de mensaje: Muestra el artículo y la cantidad con gramática correcta usando declaraciones condicionales.
Liquid
{% assign item_count = cart_items_count | plus: 0 %}
{% if item_count == 1 %}
You left {{product_name}} in your cart.
{% endif %}
{% if item_count == 2 %}
You left {{product_name}} and {{item_count | minus: 1}} more item in your cart.
{% endif %}
{% if item_count > 2 %}
You left {{product_name}} and {{item_count | minus: 1}} more items in your cart.
{% endif %}
Campo de imagen:
Liquid
{{product_image | default: "https://i.imgur.com/ssPCfbC.png"}}
Campo de URL de lanzamiento:
{{cart_url | default: "https://yourdomain.com/cart"}}
Ahora puedes crear más plantillas y usarlas en el Journey de carrito abandonado.

Páginas relacionadas

¿Necesita ayuda?Chatee con nuestro equipo de Soporte o envíe un correo electrónico a support@onesignal.comPor favor incluya:
  • Detalles del problema que está experimentando y pasos para reproducir si están disponibles
  • Su ID de aplicación de OneSignal
  • El ID externo o ID de suscripción si corresponde
  • La URL del mensaje que probó en el panel de OneSignal si corresponde
  • Cualquier registro o mensaje de error relevante
¡Estamos felices de ayudar!