Usando Mailchimp en Magento2 (parte 3, sincronizando tus datos de ecommerce)

Hasta ahora vimos cómo instalar y cómo configurar la extensión para sincronizar nuestros subscribers, hoy vamos a ahondar en cómo configurar para sincronizar todos nuestros datos de ecommerce. Esto es: productos, ordenes, customers, carritos.

Lo primero a tener en cuanta es que toooooda esta sincronización se hace en lotes y por medio de cron jobs, así que tenés que, como ya dijimos, si o si configurar tus cron jobs de Magento.

Para empezar, como vimos en los posts anteriores, tenemos que tener nuestra store de Magento conectada con una store de Mailchimp. Una vez que está conectada, tenemos que habilitar el ecommerce en la configuración de la extensión.

Para esto tenemos dos secciones, una de ecommerce.

Y otra para los carritos abandonados.

Vamos a empezar con el ecommerce.

Cuando habilitamos esto, se van a sincronizar todas los productos, las ordenes y los customers, y en caso de seleccionarlos los cupones de descuento.

Lo primero que vemos es que podemos subscribir a todos nuestros customers a la lista (audiencia), aunque esto deberíamos manejarlo con un poco de cuidado ya que Mailchimp en este caso los va a agregar a la lista sin más. Es decir que nunca les va a mandar un mail de double opt-in. ¿Qué pasa en Magento cuando habilito esta opción?. Lo que va a pasar es que en principio, en Magento, no va a pasar nada; pero al ser agregado en Mailchimp la lista entonces va a generar un webhook que va a avisarle a Magento que este customer se convirtió en un subscriber, y luego de un rato también se va a convertir en un subscriber en Magento.

Lo segundo que vemos es una fecha (first date). Si especifico una fecha acá, entonces se van a mandar las ordenes cuya fecha sea mayor a la especificada. Esto es útil cuando mi tienda de Magento tiene una antigüedad ya importante y sincronizar todas las ordenes no tendría mucho sentido, o cuando el volumen de ordenes es muy grande y sincronizarlas tendría un costo elevado.

Acá tenes que tener en cuenta, que las ordenes en Mailchimp quedan con la fecha en que fueron sincronizadas, y no con la fecha real de la orden. Esto definitivamente es una desventaja a la hora de ver los revenues por fecha, pero es algo en lo que la extensión no puede hacer nada lamentablemente.

Lo tercero que ves, es una flag que indica si los precios de los productos ya incluyen o no impuestos, esto claro esto depende de la configuración de tu Magento y es simplemente para que los precios se sincronicen correctamente a Mailchimp.

Sincronizar las ordenes también significa sincronizar los productos, así que se van sincronizando ambas cosas. En principio 100 productos y 100 ordenes cada vez que ejecuta el cron job, con la salvedad que si una orden contiene un producto que aún no fue sincronizado, entonces ese producto se agrega a la sincronización para que la orden no falle.

¿Qué productos se sincronizan?. Todos los simple, virtual, downloadble y configurable. No importa si el producto pertenece a alguna orden o no, de todas formas se sincroniza. Es decir que los bundle, grouped y los custom products no se sincronizan. (Estamos intentando encontrar una solución para los grouped y bundle, pero no es fácil)

Entonces, si no se sincronizan todos los productos, ¿qué pasa cuando una orden contiene alguno de esos productos no soportados?. Acá hay dos situaciones:

  1. La orden contiene otros productos que si son soportados, entonces el producto que no es soportado es excluído de la orden, los totales de la orden son los totales reales, pero en las lineas de la orden el producto que no es soportado no se sincroniza.
  2. La orden sólo contiene productos no soportados, entonces la orden es marcada como con error, y no se sincroniza ya que Mailchimp no soporta ordenes que no tengan lineas.

En la grilla de ordenes vas a ver un ícono que indica el estado de la sincronización de cada orden.

Significa que la orden aún no se sincronizó.

Significa que la orden fue procesada por el cron job, pero que se encontró un error antes de mandarla y no se va a sincronizar (por ejemplo, la orden solo contiene productos no soportados).

Significa que la orden se mando a Mailchimp y se está esperando el resultado de esa sincronización.

Significa que la orden se sincronizó exitosamente.

La orden se sincronizó, pero Mailchimp la rechazó por alguna razón (por ejemplo, el producto no existe).

La orden, una vez sincronizada, fue modificada (por ejemplo, fue shippeada), y debe ser re-sincronizada.

En el caso de algún error (segunda y cuarta opción) vas a encontrar una descripción del error parándote encima del icono (a partir de la versión 1.x.37) y una entrada en la grilla de errores que veremos después.

Mientras la tienda Magento esta sincronizando, vas a notarlo en el Account Details, el Account synced since va a aparecer vacio.

Y cuando termine de sincronizar va a aparecer una fecha.

Tenés que tener en cuenta que hasta que la tienda no esta completamente sincronizada, hay cosas que en Mailchimp no van a andar, ¡¡¡básicamente ninguna automation!!!.

¿Pero que es una automation? Una automation es simplemente una campaña de Mailchimp un tanto especial.

Hay unas cuantas automations pre-definidas. Basta con que vallas en Mailchimp a «connected sites».

Y te va a llevar a una página donde vas a ver todas tus stores de Mailchimp y elegir una de ellas.

Ahí podés ver que tu Mailchimp store esta conectada a un Magento 2. Ves también la fecha de sincronización (la misma que ves en el admin de Magento), y podés elegir entre todas tus stores de Mailchimp.

Como podés ver, acá tenés las cosas mas comunes que probablemente quieras setear.

Vamos en particular a ver el Order Notifications. Vas a encontrar 2 secciones.

Acá podés cambiar quién recibe la notificación (se refiere a los customers de una determinada Mailchimp store). Quién manda ese email (por defecto, el dueño de la lista); y como ves, el start sendind no esta habilitado.

Después tenes una sección donde podés elegir qué mail querés mandar. Por ejemplo, cuando se crea la orden, o cuando se crea un invoice.

Una vez que habilites alguna, vas a ver que también se habilita el «start sending».

¿Te acordás de este icono?

Resulta que cuando se crea un invoice, la orden se marca como para re-enviar, entonces la vas a ver en la grilla con ese icono, y efectivamente se va a mandar, y eso va a desencadenar en Mailchimp que si vos pusiste como habilitado el order invoice, entonces se va a mandar ese automation.

Esto va a pasar no solo con el invoice, sino con un shipping, un credit memo, una anulación, es decir que si modificas la orden, se re-sincroniza, y eso puede disparar un automation en Mailchimp si lo configurás.

¿Que cosa no podes hacer acá?

Lamentablemente si vas al edit design de estas automations, vas a ver que podés cambiar algunas cosas, pero otras no. Por ejemplo una de las cosas que no podés cambiar es el order details, que está en ingles y no se puede cambiar, no way.

Bueno, me prometí que los posts no sean muy pesados, así que la voy a dejar acá por hoy, y la próxima vamos a ver los carritos abandonados.

Publicado por Gonzalo Dominguez

Magento fanatic developer. Do not try and bend the spoon. That's impossible. Instead... only try to realize the truth. There is no spoon. @gonzalezuy