Una vez trabajé con un cliente en un nicho muy específico cuyo producto era muy similar al de la competencia. En este escenario, la competencia de precios era un factor importante para cerrar una venta.
En aquel momento, uno de los objetivos de esta tienda online era mejorar la tasa de conversión. Tras un análisis, identifiqué dificultades para que los usuarios encontraran el producto deseado. Para mejorar esto, recomendé algunas mejoras en la interfaz, como añadir nuevos filtros en las páginas de categorías y también cómo se mostraban algunos filtros existentes al usuario.
Observando las métricas y a través de una herramienta de mapas de calor (Hotjar), noté que esto ayudó a mejorar la navegación del usuario a través de las páginas y les hizo encontrar el producto que necesitaban mucho más rápido.
Pero la tasa de conversión no mejoró. Aumentamos la inversión en medios de pago, reestructuramos la campaña de forma diferente, realizamos pruebas A/B, mejoramos las descripciones de los productos, mejoramos el árbol de categorías y aun así no vimos ninguna mejora.
En uno de estos análisis empecé a notar que el precio de algunos tipos de productos era muy diferente en comparación con los líderes del mercado. Pero necesitaba tener una visión general de los productos y no solo de algunos aleatorios para poder defender este precio, ya que es algo delicado de abordar.
Y aquí es donde llego al punto principal de este artículo. Para mostrarte cómo desarrollé este estudio de precios de la competencia de forma automatizada y rápida (en aquel momento, el coste de contratar una herramienta que realizara esta función era alto y limitado a un pequeño número de productos). En los temas siguientes detallo los caminos que debes seguir para hacer algo para tu escenario.
Además, al final del artículo también proporciono una hoja de cálculo con un ejemplo de una página HTML sencilla que construí en el laboratorio SEO que tenemos en Ecto. Por razones éticas, esta era la forma más justa de enseñar este tipo de práctica y también de no exponer públicamente ninguna tienda. Con esto, podrás ver la fórmula funcionar en una página online (incluso puedes intentar extraer otra información como parte del estudio).
Otra observación es que esta herramienta acaba teniendo ciertas limitaciones en cuanto al número de solicitudes. Creo que algo en el rango de 50 productos (y hasta 3 competidores) debería funcionar bien. Más que eso, recomiendo usar otros métodos de raspado de páginas.
Por ejemplo, si utilizas Screaming Frog, es posible hacer algo similar, ya que tiene el recurso de extraer información de la página y funciona con la misma estructura de referencia que muestro en este artículo. Si dominas algún lenguaje de programación, debes saber que existen algunas bibliotecas como Scrapy o Selenium.
Y ten en cuenta que es posible que tengas que hacer algunos ajustes con el tiempo, ya que los sitios web se someten a frecuentes mejoras y cambios de código.
Extracción de precios de productos a través de hojas de cálculo de Google
Aquí no hay una fórmula mágica con la que puedas extraer esta información con un solo XPath, como los ejemplos que di en los artículos de validación de SEO técnico y en cómo extraer URLs de un Sitemap XML, porque cada caso acaba teniendo algunas particularidades. Por lo tanto, mi idea es mostrar algunos ejemplos prácticos de tiendas online para que entiendas la idea y puedas ajustarla a cualquier caso.
Ejemplo de tienda 1:
El código siguiente lo saqué de una tienda que vende filtros de agua y utiliza una importante plataforma de comercio electrónico como base:
<div itemtype="http://schema.org/Offer" itemscope="itemscope" itemprop="offers">
<link itemprop="availability" href="http://schema.org/InStock">
<meta content="BRL" itemprop="priceCurrency">
<meta itemprop="price" content="99.00">
</div>
Este caso anterior es el más fácil de extraer, ya que utiliza datos de producto estructurados en el HTML de la página, lo que facilita la construcción de nuestro XPath. Para estos casos, sería:
//*[@itemprop='price']/@content
La buena noticia es que el XPath anterior puede funcionar en varias tiendas (aunque dije que no había una fórmula mágica, esta es la que más se acerca), ya que es código estándar y se inserta en la mayoría de las plataformas online. Por lo tanto, aplicándolo en IMPORTXML tendríamos:
=IMPORTXML(url_monitorada;"//*[@itemprop='price']/@content")
Ejemplo de tienda 2:
A continuación, otro fragmento de código extraído de una página de producto, ahora en una página que no tenía marcado de datos estructurados:
<div class="price-box minimalFlag">
<span class="regular-price" id="product-price">
<span class="price">R$479,00</span>
</span>
</div>
En este caso, necesitas construir el XPath, ya que cada tienda acaba teniendo un diseño diferente y, en consecuencia, sus propias estructuras de código. Basándonos en el ejemplo anterior, tendríamos lo siguiente:
//*[@class='regularprice']/span[@class='price']/text()
Donde el elemento text() informa de que solo quiero el texto (dependiendo del XPath puede devolver código HTML y ese no es nuestro objetivo aquí). Los elementos anteriores informan de una jerarquía en relación con la estructura HTML y, en resumen, detallan el camino para llegar hasta allí. La idea aquí no es explicar tanto sobre XPath y si quieres algunos ejemplos, te recomiendo esta XPath Cheatsheet (allí encontrarás ejemplos para extraer varios tipos de elementos en una página).
Hoja de cálculo de plantilla
Para facilitar tus estudios, he hecho una hoja de cálculo de ejemplo:
Y como extra, añadí un XPath para obtener el nombre del producto y también hice una página muy sencilla para mostrar información del producto con fines educativos en nuestro laboratorio SEO:
En esta página hay otra información que puedes practicar extrayendo de la página, como: valoración, descripción y enlaces de la página.
Ahora, para estructurar tu hoja de cálculo de seguimiento, te recomiendo lo siguiente:
- Obtén todas las URLs de los productos de tu tienda que quieras monitorizar.
- Haz lo mismo con tus competidores.
- Organiza las URLs equivalentes en la hoja de cálculo.
- Consejo: utiliza el formato condicional y/o SUMIFS y/o COUNTIFS para agrupar la información (por ejemplo: cuántos productos con precios más altos, % de productos por encima de X dólares, etc.).
¡Comparte un poco de tu experiencia conmigo! ¿Qué te ha parecido este formato de explicación? ¿Has utilizado esta fórmula antes? Y si tienes alguna pregunta, ¡no dudes en preguntar!