Wo WooCommerce Intermédiaire

Real Profit Dashboard — Guide complet

Installation, configuration des coûts, branchement des intégrations publicitaires Meta / Google / TikTok, utilisation du tableau de bord et API REST.

Mis à jour Version du module 1.0.0

Real Profit Dashboard calcule la profitabilité réelle de votre boutique WooCommerce, commande par commande. Ce guide couvre l’installation, la configuration des coûts (COGS, frais de paiement, expédition), le branchement des trois intégrations publicitaires (Meta, Google, TikTok), l’utilisation du tableau de bord et la maintenance courante.

Prérequis

  • WordPress 6.2 ou plus récent
  • WooCommerce 8.0 ou plus récent (compatible HPOS et Cart & Checkout Blocks)
  • PHP 8.0 ou plus récent
  • Un accès administrateur au back-office WordPress
  • Des identifiants d’API pour Meta Ads, Google Ads et/ou TikTok Ads si vous souhaitez activer l’import automatique des dépenses publicitaires (facultatif)

Installation

  1. Rendez-vous dans Extensions → Ajouter → Téléverser une extension.
  2. Sélectionnez le fichier dfrealprofit.zip et cliquez sur Installer.
  3. Activez le plugin.
  4. Un nouveau menu principal Profit Dashboard apparaît dans la barre latérale, sous WooCommerce.

À l’activation, le plugin crée trois tables (wp_dfrp_ad_spend, wp_dfrp_order_metrics, wp_dfrp_sync_log) et planifie deux tâches CRON horaires : synchronisation des dépenses publicitaires et recalcul glissant des 14 derniers jours.

Premiers pas

Renseigner le coût d’achat (COGS) sur vos produits

Le COGS (Cost of Goods Sold, coût des marchandises vendues) est le pilier du calcul de marge. Sans lui, le profit affiché est surestimé.

  • Produit simple : ouvrez la fiche produit, onglet Général, remplissez le champ Coût d’achat avec le montant HT payé au fournisseur.
  • Produit variable : chaque variation dispose de son propre champ Coût d’achat. Il est indispensable de le renseigner variation par variation si les coûts diffèrent (tailles, coloris, matériaux).
  • En masse : le champ est également accessible en écriture via l’API REST WooCommerce (PUT /wp-json/wc/v3/products/{id}, méta _dfrp_cogs), ce qui permet un import en masse depuis un ERP.

Une colonne COGS apparaît dans la liste des produits pour identifier rapidement ceux qui n’ont pas encore été renseignés.

Configurer les frais de paiement

Rendez-vous dans Profit Dashboard → Réglages → Frais de paiement.

  • Stripe, WooCommerce PayPal Payments, Mollie : aucun réglage à faire. Le plugin lit directement les frais réels facturés depuis les méta de commande (_stripe_fee, _ppcp_paypal_fees, _mollie_fee).
  • Autres passerelles : renseignez le barème pourcent + fixe applicable. Par exemple pour un virement gratuit : 0 % / 0 €. Pour un chèque avec frais bancaires : 0 % / 0,15 €. Ces valeurs par défaut sont utilisées si aucune méta de frais réels n’est trouvée sur la commande.

Configurer les coûts d’expédition

Rendez-vous dans Profit Dashboard → Réglages → Coûts d’expédition par défaut. Le tableau liste automatiquement toutes les méthodes de livraison de vos zones WooCommerce.

Pour chaque méthode, renseignez le coût réel moyen payé au transporteur (net de la marge que vous ajoutez au client). Par exemple, si vous facturez 6,90 € une livraison Colissimo qui vous coûte 4,50 €, saisissez 4,50.

Ces valeurs sont des valeurs par défaut. Vous pouvez toujours écraser le coût réel commande par commande (métabox latérale de la fiche commande) si un envoi particulier vous a coûté plus ou moins.

Intégrations publicitaires

Chaque intégration est indépendante. Vous pouvez n’en activer qu’une, deux ou les trois. Toutes sont configurables dans Profit Dashboard → Réglages.

Meta Ads (Facebook + Instagram)

  1. Créez une application dans Meta for Developers ou utilisez une application existante.
  2. Générez un access token long-lived avec le scope ads_read. La documentation officielle est disponible dans Marketing API → Get Started.
  3. Récupérez votre Ad Account ID depuis Meta Business Manager → Paramètres → Comptes publicitaires (format numérique, sans le préfixe act_).
  4. Dans les réglages du plugin, cochez Activer Meta Ads, collez l’access token et l’Ad Account ID.
  5. Enregistrez, puis cliquez sur Synchroniser Ads maintenant depuis le tableau de bord pour valider la connexion.

Google Ads utilise OAuth 2. Vous avez besoin de cinq identifiants.

  1. Developer token : demandez-le depuis votre compte Google Ads Manager (MCC), rubrique Outils & paramètres → Configuration → Centre API.
  2. Customer ID : l’ID à 10 chiffres du compte publicitaire dont vous voulez suivre les dépenses (sans les tirets).
  3. OAuth client ID et client secret : créez un projet dans Google Cloud Console, activez l’API Google Ads, créez un client OAuth 2 de type Application de bureau.
  4. Refresh token : obtenez-le une fois via le flux OAuth (cf. documentation Google Ads API v18). Il ne changera jamais.

Le plugin échange automatiquement le refresh token contre un access token à chaque synchronisation, et met en cache ce dernier pendant sa durée de validité (une heure). Vous n’avez rien à faire une fois les identifiants renseignés.

TikTok Ads

  1. Créez une application dans TikTok Business Developers.
  2. Autorisez-la sur votre compte publicitaire pour obtenir un access token.
  3. Récupérez l’Advertiser ID dans TikTok Ads Manager (menu compte, en haut à droite).
  4. Dans les réglages du plugin, cochez Activer TikTok Ads, collez l’access token et l’Advertiser ID.

Attribution multi-touch

Dès l’activation du plugin, deux cookies sont posés sur chaque visiteur : dfrp_ft (first-touch, premier canal connu) et dfrp_lt (last-touch, canal le plus récent). Ils vivent 90 jours.

À chaque visite, le plugin capture les paramètres suivants dans l’URL :

  • UTM standards : utm_source, utm_medium, utm_campaign, utm_content, utm_term
  • Identifiants de clic : fbclid (Facebook), gclid (Google), ttclid (TikTok)

Au moment de la création de la commande, les deux cookies sont figés dans les méta de commande (_dfrp_utm_ft, _dfrp_utm_lt). Le canal normalisé est ensuite déduit du last-touch (avec fallback sur le first-touch), et rangé dans l’une de ces neuf catégories : Facebook, Instagram, Google, TikTok, Email, Organic, Direct, Referral, Other.

Allocation des dépenses publicitaires

Deux modes disponibles dans les réglages :

  • Par commande (par défaut) : la dépense totale d’un canal sur un jour est divisée par le nombre de commandes attribuées à ce canal ce jour-là. Chaque commande reçoit une part égale.
  • Au prorata du CA : la dépense est distribuée proportionnellement au chiffre d’affaires de chaque commande dans le total du jour pour ce canal. Une commande à 300 € reçoit trois fois plus de coût publicitaire qu’une commande à 100 €.

Utilisation du tableau de bord

Le tableau de bord principal est accessible depuis Profit Dashboard → Tableau de bord.

KPI principaux

Sept indicateurs sont affichés en haut de la page, pour la plage sélectionnée :

  • Chiffre d’affaires : revenu net (hors taxes selon réglage, hors remboursements)
  • COGS : somme des coûts d’achat des lignes vendues
  • Frais paiement : total des frais des passerelles
  • Expédition : total des coûts réels d’expédition
  • Publicité : total des dépenses publicitaires allouées
  • Profit net : CA − COGS − frais paiement − expédition − pub − autres coûts
  • Marge : profit net / CA en pourcentage

Graphique et canaux

Sous les KPI, un graphique en barres montre le profit quotidien de la plage (barres vertes pour un profit positif, rouges pour une perte).

Le bloc Performance par canal agrège les commandes par canal normalisé avec, pour chacun : nombre de commandes, chiffre d’affaires, dépense publicitaire, ROAS (retour sur investissement publicitaire = CA / dépense pub), profit net et marge.

Filtres et plages de dates

Sept plages prédéfinies : Aujourd’hui, 7 jours, 30 jours, 90 jours, Mois en cours, Année en cours, Plage personnalisée. Les plages sont relatives au jour courant, elles se mettent à jour automatiquement à chaque chargement de la page.

Métabox sur la fiche commande

Chaque commande dispose d’une métabox Real Profit Dashboard dans la colonne latérale droite de son écran d’édition. Elle affiche le canal d’acquisition détecté et propose trois champs de saisie manuelle qui écrasent les valeurs calculées :

  • Frais de paiement (€) : si vous voulez forcer une valeur (par exemple pour un remboursement partiel de frais)
  • Coût d’expédition réel (€) : le coût réellement payé au transporteur pour cette commande précise
  • Autres coûts (€) : champ libre pour tout coût spécifique (frais de douane, packaging spécial, retour client, etc.)

Un résumé sous les champs affiche en temps réel : revenu net, coûts détaillés, profit et marge. Chaque enregistrement de la commande déclenche automatiquement un recalcul.

CRON et synchronisation

Deux tâches automatiques sont planifiées :

  • dfrp_cron_sync_ads (horaire) : appelle chaque intégration active pour récupérer les dépenses des 7 derniers jours, campagne par campagne, et met à jour la table wp_dfrp_ad_spend.
  • dfrp_cron_recalculate_orders (horaire, chaînée) : recalcule les métriques des commandes des 14 derniers jours pour tenir compte des nouvelles dépenses publicitaires importées.

Le journal complet de chaque exécution est accessible via Profit Dashboard → Logs de synchro : statut, durée, nombre d’enregistrements insérés et mis à jour, message d’erreur éventuel.

Si votre WordPress est en environnement mutualisé avec un WP-Cron peu fiable, il est recommandé de désactiver DISABLE_WP_CRON et de planifier un vrai CRON système toutes les heures : curl -s https://votre-domaine.com/wp-cron.php > /dev/null.

Recalcul manuel

Le bouton Recalculer 60 jours sur le tableau de bord régénère les métriques de toutes les commandes des 60 derniers jours. Utilisez-le après :

  • l’installation initiale du plugin (pour amorcer l’historique)
  • une modification massive des COGS produits
  • un changement des barèmes de frais de paiement ou d’expédition
  • un changement du mode d’allocation des dépenses publicitaires

L’opération est idempotente : la relancer plusieurs fois donne le même résultat.

API REST

Trois endpoints sont exposés sous /wp-json/dfrealprofit/v1/. Ils requièrent la capacité manage_woocommerce et acceptent une authentification par cookie WordPress ou par Application Password.

  • GET /summary?from=YYYY-MM-DD&to=YYYY-MM-DD — KPI agrégés (CA, COGS, frais, pub, profit, marge)
  • GET /series?from=YYYY-MM-DD&to=YYYY-MM-DD — série quotidienne (CA, coûts, profit par jour)
  • GET /channels?from=YYYY-MM-DD&to=YYYY-MM-DD — performance par canal (commandes, CA, pub, ROAS, profit, marge)

Ces endpoints permettent de brancher un tableau de bord externe (Looker Studio, Metabase, Grafana, feuille de calcul) sur les métriques du plugin.

Désinstallation

La désactivation seule ne supprime aucune donnée. La suppression complète depuis Extensions déclenche uninstall.php, qui :

  • supprime les trois tables custom (ad_spend, order_metrics, sync_log)
  • supprime les options du plugin
  • déplanifie les CRON
  • conserve les COGS produits et les méta de commande (données métier précieuses)

Pour un nettoyage total y compris des méta, il faut décommenter deux lignes SQL dans uninstall.php avant de désinstaller.

FAQ rapide

Le plugin est-il compatible avec WooCommerce Subscriptions ?

Oui. Chaque renouvellement génère une commande standard qui est traitée comme n’importe quelle autre.

Que se passe-t-il si je change le prix d’un produit ?

Rien pour les commandes existantes : le COGS et le prix historiques restent figés au moment de la vente. Seules les nouvelles commandes utiliseront le nouveau prix.

Comment gérer un remboursement ?

Créez un remboursement standard depuis WooCommerce. Le revenu net est automatiquement recalculé (le total remboursé est déduit). Les coûts déjà supportés (COGS, expédition, frais paiement, pub) restent, ce qui donne la vraie perte réelle.

Puis-je utiliser le plugin sans intégration Ads ?

Oui. Sans intégration publicitaire, les coûts pub sont à zéro et le calcul se limite à revenu net − COGS − frais paiement − expédition − autres coûts. C’est déjà largement mieux que ce que WooCommerce affiche par défaut.

Les données sont-elles envoyées à un serveur externe ?

Non. Les seuls appels externes sont ceux que vous configurez vous-même vers les API Meta, Google et TikTok, pour récupérer vos dépenses. Aucune donnée de votre boutique n’est envoyée à DataFirefly ni à aucun tiers.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support