PriceBee.es

Por qué el precio de tu listado en el comparador va por detrás del precio de tu web

El precio del feed y el de la web se desajustan por motivos predecibles: horarios de generación, caché, redondeo del IVA y promociones que empiezan a medianoche. Te explicamos de dónde viene el retraso y cómo corregirlo.

Un comprador llega desde un listado de un comparador esperando pagar 149. La página de producto dice 164. Vuelve atrás, hace clic en la siguiente tienda y tú has pagado por un clic que nunca iba a convertir. Si ocurre con suficiente frecuencia, el comparador marcará tu feed, suprimirá las ofertas en las que no puede confiar o te pedirá que lo corrijas antes de volver a listarte.

La discrepancia de precios rara vez se debe a que alguien haya escrito mal una cifra. Casi siempre es un problema de tiempos o de definición: el feed se generó en un momento y se leyó en otro, o el número del feed significa algo ligeramente distinto del número que aparece en la página. Ambos casos tienen arreglo, pero solo cuando puedes ver dónde está realmente el retraso.

Los cuatro relojes entre tu base de datos y el listado

No existe un único momento en el que tu precio se hace visible en un comparador. Hay al menos cuatro, y cada uno añade retraso.

Generación. La mayoría de las tiendas construyen el XML de forma programada (por ejemplo, un cron job a las 03:00) y lo escriben en un archivo estático. Todo lo que cambia después de las 03:00 es invisible hasta la siguiente ejecución. Si solo generas una vez al día, tu caso peor de desfase son 24 horas antes de sumar nada más.

Lectura (fetch). El comparador lee el archivo según su propio calendario, que puede coincidir o no con el tuyo. Si generas a las 03:00 y la lectura se hace a las 02:30, tus listados van un día entero por detrás de tu archivo, no unos pocos minutos.

Caché. Este es el que pilla desprevenida a más gente. Una CDN o un proxy inverso delante de la URL de tu feed servirá encantado una copia en caché durante horas después de que hayas escrito un archivo nuevo. El archivo en disco es correcto, el que ve tu propio navegador también lo es porque accedes al origen, y la versión que recibe el crawler es la de ayer. Comprueba las cabeceras de respuesta de la URL de tu feed desde fuera de tu red: Cache-Control, Age y Last-Modified te dirán de inmediato si algo por el camino está reteniendo una copia.

Procesamiento de la importación. Los feeds grandes tardan en analizarse, cotejarse e indexarse. Normalmente son minutos y no horas, pero no es cero.

Súmalos con honestidad. Una tienda que genera a diario y a la que leen a diario tiene en la práctica una ventana de desfase de hasta dos días, no «aproximadamente uno». Una tienda que genera cada hora, sirve el feed sin caché y recibe una lectura cada pocas horas está a unas pocas horas de ir en directo.

Decide tu tolerancia y luego elige un calendario

La frecuencia de generación adecuada depende de la rapidez con la que se muevan tus precios. Si reajustas precios automáticamente frente a la competencia, un feed diario no se sostiene: estarás anunciando un precio que abandonaste antes de comer. Si fijas los precios a mano y los cambias unas pocas veces al mes, generar cada hora no te aporta nada.

Una regla práctica: tu intervalo de generación debería ser más corto que el tiempo que tarda un cambio de precio en importar comercialmente. Para la mayoría de las tiendas eso significa cada hora para precio y stock, y reconstruir con menos frecuencia los campos descriptivos, que pesan más.

Si generar todo el catálogo cada hora resulta caro, divide el trabajo. Construye el feed completo una vez al día y mantén los campos de precio y disponibilidad en un ciclo más corto, ya sea regenerando solo esos campos dentro del mismo archivo o publicando un feed ligero aparte, si el comparador lo admite. Comprueba qué acepta el canal antes de montarlo: no todos admiten actualizaciones parciales (delta).

Asegúrate de que el número signifique lo mismo en ambos sitios

Al margen de los tiempos, hay un segundo tipo de discrepancia que surge cuando el precio se calcula de forma distinta en el feed y en la página.

  • IVA. El feed debe llevar el precio que paga el consumidor, con el IVA incluido. El fallo clásico es una exportación que lee el precio neto de la base de datos y aplica el IVA con un redondeo distinto al de la tienda online, lo que genera un listado a 82,64 frente a una página que muestra 82,65. Un céntimo basta para activar una verificación automática de precios.
  • Redondeo y formato. Usa el punto como separador decimal, dos decimales, sin separador de millares y sin símbolo de moneda dentro del número, salvo que la especificación lo pida. 1,299.00 y 1 299,00 € provocan fallos de análisis o, peor aún, lecturas erróneas silenciosas.
  • Precios por grupo de cliente. Si tu tienda muestra precios distintos a clientes con sesión iniciada, cuentas profesionales o suscriptores de la newsletter, el feed debe llevar el precio que ve un visitante anónimo. Las exportaciones que se ejecutan con una sesión de administrador a veces recogen un nivel de descuento de empleados.
  • Códigos de descuento. Un precio que solo se aplica con un código al pagar no es el precio del feed. Listarlo es una forma rápida de perder la confianza tanto de los compradores como del canal.
  • Precios por variante. Si la página de producto muestra por defecto la variante más barata pero tu feed exporta el producto padre con un precio medio o el más alto, nunca coincidirán. Exporta cada variante como un artículo independiente, con su propio precio y su propio identificador.
  • Envío. Mantén el coste de entrega en el campo de envío, sin sumarlo al precio. Los compradores suelen ordenar por coste total, y el comparador necesita los dos importes por separado para calcularlo.

Las promociones son el origen de la mayoría de las discrepancias

Una oferta que empieza a medianoche y un feed que se regenera a las 03:00 suponen tres horas de listados con el precio antiguo, algo tolerable. Una oferta que termina a medianoche con el mismo calendario supone tres horas anunciando un precio que ya no respetas, que es la versión que genera reclamaciones.

Ayudan dos hábitos. Primero, programa una regeneración del feed inmediatamente después de cada límite de promoción, y no solo en el intervalo habitual. Segundo, ten cuidado con las zonas horarias de los servidores: si tu tienda funciona en UTC y tus campañas están definidas en hora local, tu promoción empieza una hora antes o después dos veces al año. Comprueba en qué zona horaria cree estar el servidor del cron, no en cuál estás tú.

Si el formato del feed admite un precio de oferta con ventana de validez, úsalo. Indicar al canal que un precio es válido desde una fecha hasta otra es más fiable que correr para regenerar el archivo en el momento justo.

El estado del stock merece el mismo cuidado que el precio

Un clic en un producto agotado se desperdicia exactamente igual que un clic en un precio incorrecto. La disponibilidad suele cambiar más rápido que el precio, así que, si vas a actualizar con frecuencia un solo campo, que sea este.

Sé preciso en lugar de optimista. «En stock» debería significar que puedes enviarlo; un plazo de reposición del proveedor de dos semanas es un estado distinto y debe declararse como tal si la especificación lo permite. Cuando un feed solo acepta «en stock» o «sin stock», decide la regla de forma deliberada: a la mayoría de las tiendas les conviene más marcar como no disponibles los productos con plazos largos que decepcionar a un comprador que esperaba entrega al día siguiente.

La otra mitad del trabajo es la baja. Los productos descatalogados deberían desaparecer del feed por completo en lugar de quedarse con stock cero, y la URL de todo lo que se retire debería devolver un 404 correcto o redirigir a algo relevante, no a una plantilla en blanco.

Una rutina de control que lleva diez minutos a la semana

No puedes corregir un desfase que no ves. Monta una comparación sencilla entre el feed y la web en producción:

  1. Descarga la URL de tu propio feed desde fuera de tu red, como lo haría un crawler, y anota la cabecera Age.
  2. Elige una muestra, por ejemplo cincuenta artículos, con más peso en tus más vendidos y en todo lo que se haya cambiado de precio hace poco.
  3. En cada uno, extrae con un scraper o comprueba a mano el precio y el estado del stock de la página en producción, y compáralos con los valores del feed.
  4. Investiga todo lo que difiera en más que un redondeo, y todo lo que tenga una marca de tiempo en el feed más antigua que el intervalo de generación que has fijado.

Si puedes, ejecútalo como un script programado y configura las alertas con un umbral, no con cada diferencia suelta: unos pocos artículos a mitad de actualización son normales; el 50 % del catálogo no lo es. Vigila también el número total de artículos entre ejecuciones: un feed que de repente pierde un tercio de sus productos suele indicar que un proceso de generación ha fallado a medias, no que el catálogo haya cambiado de verdad.

Las tiendas que menos problemas tienen en los canales de comparación no son las que tienen los feeds más elaborados. Son aquellas en las que el número del archivo es el número de la página, a cualquier hora del día.

Volver al blog

Añade tu tienda

Envíanos los datos de tu tienda y nos pondremos en contacto contigo.

Solo usaremos tus datos para ponernos en contacto contigo.

Usamos cookies de Google Analytics para ver cómo se utiliza el sitio. Solo se instalan si las aceptas.