Cómo integrar WooCommerce con HubSpot: CRM, deals y workflows
Conecta WooCommerce con HubSpot: plugin oficial, sync de contactos y deals, propiedades custom, workflows esenciales, errores comunes y verificación de DKIM y DMARC.
HubSpot encaja especialmente bien con tiendas WooCommerce que tienen un componente B2B fuerte: presupuestos, ventas asistidas por humanos, ciclos de venta largos, cuentas con varios contactos. Es más caro que Klaviyo o Brevo, pero la fortaleza es el CRM y los workflows complejos. Esta guía cubre la integración real, qué se sincroniza, cómo configurar deals desde pedidos, los errores comunes y la parte de entregabilidad cuando HubSpot envía marketing.
Para qué sirve la integración WooCommerce ↔ HubSpot
Una vez conectadas obtienes:
- Sync de contactos con propiedades automáticas (último pedido, total gastado, marca recurrente).
- Sync de companies para B2B con dominios de email.
- Sync de deals que se crean automáticamente a partir de pedidos.
- Sync de productos con line items en deals.
- Tracking onsite con la cookie de HubSpot para attribution multi-touch.
- Workflows disparados por eventos (carrito abandonado, post-compra, lifecycle stage, etc.).
A diferencia de Klaviyo (centrado en email/SMS marketing) o Brevo (marketing+transaccional), HubSpot es CRM-first. Si necesitas asistir ventas, gestionar pipeline y forecasting, encaja mejor.
Requisitos previos
- WooCommerce 6.0+ y WordPress 6.0+.
- PHP 7.4+.
- Cuenta HubSpot (Free, Starter, Professional o Enterprise). Marketing Hub Starter mínimo para email marketing decente.
- Permisos de Super Admin en HubSpot.
- Subdominio de envío con configurar SPF y firma DKIM configurados.
Instalación del plugin oficial
HubSpot mantiene HubSpot All-In-One Marketing: Forms, Popups, Live Chat en el repositorio.
- WP Admin → Plugins → Añadir nuevo → busca “HubSpot”.
- Instala el plugin de HubSpot, Inc.
- Actívalo. Aparece menú “HubSpot”.
- Conecta la cuenta vía OAuth.
- Selecciona el portal HubSpot.
Para la sincronización ecommerce hay un módulo separado:
- WP Admin → HubSpot → Add-ons → busca “WooCommerce Integration”.
- Instala (puede pedir HubSpot Marketing Hub Starter o superior).
- Configura el sync: contactos, deals, line items.
- Lanza sync inicial.
Alternativa: la app WooCommerce HubSpot del marketplace de HubSpot, que cubre los mismos casos.
Configuración mínima recomendada
Lifecycle stages
HubSpot estructura contactos por lifecycle:
- Subscriber.
- Lead.
- Marketing Qualified Lead.
- Sales Qualified Lead.
- Opportunity.
- Customer.
- Evangelist.
Configura las reglas:
- Cliente que compra: Lifecycle stage = Customer (manual o vía workflow).
- Subscriber a newsletter sin compra: Lifecycle stage = Subscriber.
- Lead capturado en formulario B2B: Lead o MQL según calificación.
Mapeo de propiedades
Crea propiedades custom en HubSpot para reflejar datos de WooCommerce:
| HubSpot | WooCommerce |
|---|---|
email | customer.email |
firstname, lastname | customer.first_name, customer.last_name |
phone | customer.phone (E.164) |
country | billing.country |
total_spent | sum de pedidos |
last_order_date | fecha último pedido |
total_orders | contador |
customer_lifetime_value | calculado |
Para B2B, mapea company y crea Companies automáticamente desde billing.company.
Consent (RGPD)
HubSpot exige consent explícito para enviar marketing en Europa:
- Activa Subscription Types (Settings → Privacy & Consent → Subscription types).
- En el checkbox del checkout, vincula al subscription type
One to Oneu otro relevante. - Sin consent registrado, los workflows de marketing no se ejecutan.
Eventos típicos a sincronizar
La integración cubre:
| Evento HubSpot | Origen WooCommerce |
|---|---|
contact.created | nuevo cliente |
contact.updated | cambios en cliente |
deal.created | nuevo pedido (estado processing+) |
deal.updated | cambios de estado del pedido |
deal.closed_won | pedido completado |
deal.closed_lost | pedido cancelado |
cart_abandoned | (custom event) carrito sin compra |
subscriber.created | alta en newsletter |
Para eventos custom (download PDF, asistencia a webinar), usa la API:
function hs_log_event( $email, $event_name, $properties ) {
$body = wp_json_encode( [
'eventName' => $event_name,
'email' => $email,
'properties' => $properties,
] );
wp_remote_post( 'https://api.hubapi.com/events/v3/send', [
'headers' => [
'Authorization' => 'Bearer ' . HUBSPOT_TOKEN,
'Content-Type' => 'application/json',
],
'body' => $body,
] );
}
Workflows esenciales
Antes de cualquier campaña masiva, configura:
- Welcome series. Trigger: nuevo subscriber con consent. 3 emails en 7-10 días.
- Abandoned Cart. Trigger: contacto con propiedad
cart_abandoned_atreciente y sin pedido. 1-3 emails. - Post-purchase. Trigger: deal closed_won. Confirmación, cross-sell, review request.
- Lifecycle stage update. Trigger: pedido completado. Actualiza Lifecycle Stage a Customer.
- Winback. Trigger: días desde último pedido > 90.
Para B2B con ciclo largo:
- Lead nurturing. Trigger: form submission. Serie de 5-7 emails con contenido educativo.
- MQL → SQL handoff. Trigger: lead score > umbral. Asigna al equipo de ventas.
Lead scoring
HubSpot Pro permite scoring automático:
- +5 si abre email.
- +10 si visita página de pricing.
- +20 si descarga whitepaper.
- +50 si añade producto al carrito.
- -10 si bounce email.
Cuando el score pasa de 100, dispara workflow para asignar a sales.
Errores comunes y soluciones
”Sync se queda parado”
Causas:
- Memory limit bajo en PHP. Sube a 512M.
- Cron de WP no se ejecuta. Configura cron del sistema apuntando a
wp-cron.php. - Error 429 (rate limit) en API de HubSpot. Si tienes catálogo grande, sincroniza en batches.
”Deals duplicados”
Si tienes varios plugins que escriben en HubSpot (HubSpot WP plugin + Zapier + integración custom), pueden duplicar. Audita y centraliza en un único origen.
”Consent no se respeta”
HubSpot bloquea envíos sin consent registrado. Si activas un workflow y no salen emails, suele ser falta de Subscription Type asociado al contacto. Revisa Contact → Communications subscriptions.
”Customer match falla con cuentas guest”
WooCommerce permite guest checkout. HubSpot une contactos por email; si el guest cambia de email entre pedidos, se duplica. Soluciones: forzar registro o hacer merge manual.
”Tracking cookie no carga”
HubSpot inyecta <script src="https://js.hs-scripts.com/PORTAL_ID.js"> en el header. Si tienes caché que minifica scripts externos, revisa exclusiones. Si tienes consent banner, asegúrate de que solo bloquea HubSpot hasta consent (cookie banner first-party debe permitir bypass para usuarios identificados).
”Workflows no se disparan”
Causas:
- Lifecycle stage incorrecto.
- Trigger mal configurado (filtros AND vs OR).
- Contacto sin consent.
- Workflow inactivo (en Draft).
Verificación: ¿todo funciona?
- Pedido de prueba. Compra con tu email aceptando marketing. HubSpot → Contacts: tu email aparece con
last_order_dateactualizado. HubSpot → Deals: nuevo deal con line items correctos. - Carrito abandonado. Añade al carrito, mete email en checkout, abandona. HubSpot → Contacts → tu email → Activity: debe registrar el evento.
- Email real. Workflow envía email. Cabeceras:
Authentication-Results: mx.google.com;
dkim=pass [email protected] header.s=hs1
spf=pass smtp.mailfrom=bounce.tutienda.com
dmarc=pass header.from=tutienda.com
Si DKIM falla, revisa HubSpot → Settings → Marketing → Email → Email sending domains.
Implicaciones de entregabilidad
HubSpot envía desde su infraestructura. Recomendaciones:
- Subdominio dedicado (
mail.tutienda.comonews.tutienda.com). - Autentica el dominio en HubSpot → Settings → Email sending domains.
- Política DMARC en
p=nonedurante 2-4 semanas. Verifica reportes RUA. Despuésquarantine. - Activa List-Unsubscribe one-click. HubSpot lo añade por defecto.
- Warming progresivo si la base lleva mucho sin envíos.
- Monitoriza bounces SMTP en HubSpot → Reports → Email.
- Revisa evitar spam en Gmail y vigila Postmaster Tools.
HubSpot vs alternativas para WooCommerce
- HubSpot vs Klaviyo. Klaviyo gana en eventos granulares y product feed dinámico para B2C. HubSpot gana en CRM, ciclos largos, B2B (ver integrar WooCommerce con Klaviyo).
- HubSpot vs Mailchimp. Mailchimp más barato, menos potente. HubSpot escala mejor con la operación de ventas.
- HubSpot vs Brevo. Brevo más barato y simple. HubSpot mejor en automatización compleja y CRM (ver integrar WooCommerce con Brevo).
Cuándo HubSpot tiene sentido
HubSpot encaja si:
- Tu ecommerce tiene componente B2B fuerte con presupuestos.
- Combinas ventas online y ventas asistidas por equipo.
- Necesitas pipeline visual con stages, forecasting y reporting.
- Operas en varios canales (email, SMS, llamadas, chat) y quieres unificarlos.
Si solo es B2C con catálogo y compras impulsivas, HubSpot es overkill. Klaviyo o Brevo dan más valor por euro.
Workflows avanzados con webhooks
Para casos no cubiertos por la integración estándar:
// En functions.php
add_action( 'woocommerce_order_status_processing', 'enviar_webhook_hubspot', 10, 1 );
function enviar_webhook_hubspot( $order_id ) {
$order = wc_get_order( $order_id );
$body = wp_json_encode( [
'eventName' => 'pedido_grande',
'email' => $order->get_billing_email(),
'properties' => [
'order_id' => $order->get_id(),
'order_total' => $order->get_total(),
'is_b2b' => $order->get_billing_company() ? true : false,
],
] );
wp_remote_post( 'https://api.hubapi.com/events/v3/send', [
'headers' => [
'Authorization' => 'Bearer ' . HUBSPOT_TOKEN,
'Content-Type' => 'application/json',
],
'body' => $body,
] );
}
Esto permite disparar workflows custom (alerta a sales, segmentación VIP, etc.) sin depender del sync estándar.
Recursos relacionados
Si quieres profundizar, prueba estas herramientas gratuitas: Domain Health, mail tester, validador SPF y validador DMARC.
¿Necesitas que alguien lleve tu canal de email entero? Abalola Mail es la agencia de email marketing para ecommerce de Abalola para ecommerce: estrategia, producción y operación del stack sobre Klaviyo, Mailchimp o Brevo.