Wo WooCommerce Intermedio

Real Profit Dashboard — Guía completa

Instalación, configuración de costes, conexión de las integraciones publicitarias Meta / Google / TikTok, uso del panel y API REST.

Actualizado Versión del módulo 1.0.0

Real Profit Dashboard calcula la rentabilidad real de tu tienda WooCommerce, pedido a pedido. Esta guía cubre la instalación, la configuración de costes (COGS, comisiones de pago, envío), la conexión de las tres integraciones publicitarias (Meta, Google, TikTok), el uso del panel y el mantenimiento corriente.

Requisitos

  • WordPress 6.2 o superior
  • WooCommerce 8.0 o superior (compatible HPOS y Cart & Checkout Blocks)
  • PHP 8.0 o superior
  • Acceso de administrador al back-office de WordPress
  • Credenciales de API para Meta Ads, Google Ads y/o TikTok Ads si deseas activar la importación automática del gasto publicitario (opcional)

Instalación

  1. Ve a Plugins → Añadir nuevo → Subir plugin.
  2. Selecciona el archivo dfrealprofit.zip y haz clic en Instalar.
  3. Activa el plugin.
  4. Aparece un nuevo menú principal Profit Dashboard en la barra lateral, bajo WooCommerce.

Al activarse, el plugin crea tres tablas (wp_dfrp_ad_spend, wp_dfrp_order_metrics, wp_dfrp_sync_log) y programa dos tareas CRON horarias: sincronización del gasto publicitario y recálculo móvil de los últimos 14 días.

Primeros pasos

Introducir el coste de compra (COGS) en tus productos

El COGS (Cost of Goods Sold, coste de las mercancías vendidas) es la base del cálculo del margen. Sin él, el beneficio mostrado está sobreestimado.

  • Producto simple: abre la ficha del producto, pestaña General, rellena el campo Coste de compra con el importe sin IVA pagado al proveedor.
  • Producto variable: cada variación tiene su propio campo Coste de compra. Es imprescindible rellenarlo variación por variación si los costes difieren (tallas, colores, materiales).
  • En masa: el campo también es escribible vía la API REST de WooCommerce (PUT /wp-json/wc/v3/products/{id}, meta _dfrp_cogs), lo que permite importaciones masivas desde un ERP.

Una columna COGS aparece en el listado de productos para identificar rápidamente los que aún no se han configurado.

Configurar las comisiones de pago

Ve a Profit Dashboard → Ajustes → Comisiones de pago.

  • Stripe, WooCommerce PayPal Payments, Mollie: no hay que configurar nada. El plugin lee las comisiones reales directamente desde las metas del pedido (_stripe_fee, _ppcp_paypal_fees, _mollie_fee).
  • Otras pasarelas: introduce el esquema porcentaje + fijo aplicable. Por ejemplo para una transferencia gratuita: 0 % / 0 €. Para un cheque con comisiones bancarias: 0 % / 0,15 €. Estos valores por defecto se usan si no se encuentra ninguna meta de comisión real en el pedido.

Configurar los costes de envío

Ve a Profit Dashboard → Ajustes → Costes de envío por defecto. La tabla lista automáticamente todos los métodos de envío de tus zonas WooCommerce.

Para cada método, introduce el coste real medio pagado al transportista (neto del margen que añades al cliente). Por ejemplo, si facturas 6,90 € un envío Correos que te cuesta 4,50 €, introduce 4,50.

Estos valores son valores por defecto. Siempre puedes sobrescribir el coste real pedido a pedido (metabox lateral de la ficha del pedido) si un envío concreto te ha costado más o menos.

Integraciones publicitarias

Cada integración es independiente. Puedes activar solo una, dos o las tres. Todas se configuran en Profit Dashboard → Ajustes.

Meta Ads (Facebook + Instagram)

  1. Crea una aplicación en Meta for Developers o usa una existente.
  2. Genera un access token long-lived con el ámbito ads_read. La documentación oficial está en Marketing API → Get Started.
  3. Recupera tu Ad Account ID desde Meta Business Manager → Configuración → Cuentas publicitarias (formato numérico, sin el prefijo act_).
  4. En los ajustes del plugin, marca Activar Meta Ads, pega el access token y el Ad Account ID.
  5. Guarda y haz clic en Sincronizar Ads ahora desde el panel para validar la conexión.

Google Ads usa OAuth 2. Necesitas cinco credenciales.

  1. Developer token: solicítalo desde tu cuenta Google Ads Manager (MCC), sección Herramientas y ajustes → Configuración → Centro API.
  2. Customer ID: el ID de 10 dígitos de la cuenta publicitaria que quieres seguir (sin guiones).
  3. OAuth client ID y client secret: crea un proyecto en Google Cloud Console, activa la API de Google Ads, crea un cliente OAuth 2 de tipo Aplicación de escritorio.
  4. Refresh token: obténlo una vez a través del flujo OAuth (ver documentación de Google Ads API v18). No cambia nunca.

El plugin intercambia automáticamente el refresh token por un access token en cada sincronización, y guarda este último en caché durante su periodo de validez (una hora). Nada que hacer una vez configuradas las credenciales.

TikTok Ads

  1. Crea una aplicación en TikTok Business Developers.
  2. Autorízala en tu cuenta publicitaria para obtener un access token.
  3. Recupera el Advertiser ID desde TikTok Ads Manager (menú de cuenta, arriba a la derecha).
  4. En los ajustes del plugin, marca Activar TikTok Ads, pega el access token y el Advertiser ID.

Atribución multi-touch

Nada más activarse el plugin, se establecen dos cookies en cada visitante: dfrp_ft (first-touch, primer canal conocido) y dfrp_lt (last-touch, canal más reciente). Ambas duran 90 días.

En cada visita, el plugin captura los siguientes parámetros de la URL:

  • UTM estándar: utm_source, utm_medium, utm_campaign, utm_content, utm_term
  • Identificadores de clic: fbclid (Facebook), gclid (Google), ttclid (TikTok)

Cuando se crea el pedido, ambas cookies se fijan en las metas del pedido (_dfrp_utm_ft, _dfrp_utm_lt). El canal normalizado se deriva del last-touch (con fallback al first-touch) y se clasifica en una de estas nueve categorías: Facebook, Instagram, Google, TikTok, Email, Organic, Direct, Referral, Other.

Asignación del gasto publicitario

Dos modos disponibles en los ajustes:

  • Por pedido (por defecto): el gasto diario total de un canal se divide entre el número de pedidos atribuidos a ese canal ese día. Cada pedido recibe una parte igual.
  • Prorrateado por ingresos: el gasto se distribuye proporcionalmente al peso de cada pedido en los ingresos diarios del canal. Un pedido de 300 € recibe tres veces más coste publicitario que uno de 100 €.

Uso del panel

El panel principal está disponible en Profit Dashboard → Panel.

KPIs principales

Siete indicadores se muestran en la parte superior de la página, para el rango seleccionado:

  • Ingresos: ingresos netos (sin impuestos según ajuste, sin reembolsos)
  • COGS: suma de los costes de compra de las líneas vendidas
  • Comisiones de pago: total de comisiones de las pasarelas
  • Envío: total de costes reales de envío
  • Publicidad: total del gasto publicitario asignado
  • Beneficio neto: Ingresos − COGS − Comisiones − Envío − Publicidad − Otros costes
  • Margen: beneficio neto / ingresos en porcentaje

Gráfico y canales

Debajo de los KPIs, un gráfico de barras muestra el beneficio diario del rango (barras verdes para beneficio positivo, rojas para pérdida).

El bloque Rendimiento por canal agrega los pedidos por canal normalizado con, para cada uno: número de pedidos, ingresos, gasto publicitario, ROAS (Return On Ad Spend = ingresos / gasto publicitario), beneficio neto y margen.

Filtros y rangos de fechas

Siete rangos predefinidos: Hoy, 7 días, 30 días, 90 días, Mes en curso, Año en curso, Rango personalizado. Los rangos son relativos al día actual y se actualizan automáticamente en cada carga de página.

Metabox en la ficha de pedido

Cada pedido tiene una metabox Real Profit Dashboard en la barra lateral derecha de su pantalla de edición. Muestra el canal de adquisición detectado y ofrece tres campos de entrada manual que sobrescriben los valores calculados:

  • Comisiones de pago (€): si quieres forzar un valor (por ejemplo tras un reembolso parcial de comisiones)
  • Coste real de envío (€): el importe realmente pagado al transportista para este pedido concreto
  • Otros costes (€): campo libre para cualquier coste específico (aduanas, embalaje especial, devolución del cliente, etc.)

Un resumen debajo de los campos muestra en tiempo real: ingresos netos, costes detallados, beneficio y margen. Cada guardado del pedido dispara un recálculo automático.

CRON y sincronización

Dos tareas automáticas están programadas:

  • dfrp_cron_sync_ads (horaria): llama a cada integración activa para recuperar el gasto de los últimos 7 días, campaña por campaña, y actualiza la tabla wp_dfrp_ad_spend.
  • dfrp_cron_recalculate_orders (horaria, encadenada): recalcula las métricas de los pedidos de los últimos 14 días para tener en cuenta el nuevo gasto publicitario importado.

El registro completo de cada ejecución está disponible en Profit Dashboard → Logs de sincronización: estado, duración, número de registros insertados y actualizados, mensaje de error si lo hay.

Si tu WordPress está en un hosting compartido con un WP-Cron poco fiable, recomendamos desactivar DISABLE_WP_CRON y programar un CRON real del sistema cada hora: curl -s https://tu-dominio.com/wp-cron.php > /dev/null.

Recálculo manual

El botón Recalcular 60 días del panel regenera las métricas de todos los pedidos de los últimos 60 días. Úsalo después de:

  • la instalación inicial del plugin (para amorcer el historial)
  • una modificación masiva de los COGS de productos
  • un cambio de los esquemas de comisiones de pago o envío
  • un cambio del modo de asignación del gasto publicitario

La operación es idempotente: relanzarla varias veces da el mismo resultado.

API REST

Tres endpoints están expuestos bajo /wp-json/dfrealprofit/v1/. Requieren la capacidad manage_woocommerce y aceptan autenticación por cookie de WordPress o por Application Password.

  • GET /summary?from=YYYY-MM-DD&to=YYYY-MM-DD — KPIs agregados (ingresos, COGS, comisiones, publicidad, beneficio, margen)
  • GET /series?from=YYYY-MM-DD&to=YYYY-MM-DD — serie diaria (ingresos, costes, beneficio por día)
  • GET /channels?from=YYYY-MM-DD&to=YYYY-MM-DD — rendimiento por canal (pedidos, ingresos, publicidad, ROAS, beneficio, margen)

Estos endpoints permiten conectar un panel externo (Looker Studio, Metabase, Grafana, hoja de cálculo) a las métricas del plugin.

Desinstalación

La desactivación por sí sola no elimina ningún dato. La eliminación completa desde Plugins dispara uninstall.php, que:

  • elimina las tres tablas custom (ad_spend, order_metrics, sync_log)
  • elimina las opciones del plugin
  • desprograma los CRON
  • conserva los COGS de productos y las metas de pedido (datos de negocio valiosos)

Para una limpieza total incluyendo las metas, hay que descomentar dos líneas SQL en uninstall.php antes de desinstalar.

FAQ rápida

¿El plugin es compatible con WooCommerce Subscriptions?

Sí. Cada renovación genera un pedido estándar que se procesa como cualquier otro.

¿Qué ocurre si cambio el precio de un producto?

Nada para los pedidos existentes: el COGS y el precio históricos quedan fijados al momento de la venta. Solo los nuevos pedidos usarán el nuevo precio.

¿Cómo gestionar un reembolso?

Crea un reembolso estándar desde WooCommerce. Los ingresos netos se recalculan automáticamente (el total reembolsado se deduce). Los costes ya soportados (COGS, envío, comisiones, publicidad) permanecen, lo que da la pérdida real.

¿Puedo usar el plugin sin integración Ads?

Sí. Sin integración publicitaria, los costes de publicidad son cero y el cálculo se limita a ingresos netos − COGS − comisiones − envío − otros costes. Ya es mucho mejor que lo que muestra WooCommerce por defecto.

¿Los datos se envían a un servidor externo?

No. Las únicas llamadas externas son las que tú configuras hacia las APIs de Meta, Google y TikTok, para recuperar tu gasto. Ningún dato de tu tienda se envía a DataFirefly ni a terceros.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte