Winsttracking: bieden op winst, niet op omzet
Google Ads en Meta optimaliseren op de conversiewaarde die je ze stuurt. Voor de meeste webshops is dat de omzet, dus een bestelling van €100 met 10% marge telt bij het bieden even zwaar als een bestelling van €100 met 60% marge. Winsttracking stuurt in plaats daarvan de winst van elke bestelling, zodat je campagnes de bestellingen najagen die echt geld opleveren. Dat is bieden op POAS (profit on ad spend) in plaats van op ROAS.
Hoe het werkt
Elke aankoop komt langs je tagging-server voordat hij je server-container bereikt. Staat winsttracking aan, dan zoekt de tagging-server de kostprijs van elk artikel in de bestelling op, berekent de winst en voegt die aan het event toe als mb_profit. In je server-container is dat gewone event data: gebruik {{ed - mb_profit}} als conversiewaarde in je Google Ads- en Meta-tags.
- Je kostprijzen blijven privé. Ze staan op je tagging-server. Ze komen nooit in de browser, in je Tag Manager-container of bij de advertentieplatforms. Google en Meta zien alleen het winstbedrag van elke bestelling.
- Geen extra template of API-aanroep. Niets nieuws om in GTM te importeren en geen wachtwoord in een variabele. De winst staat al op het event voordat de container het ziet.
- Ook voor server-side aankopen. Aankopen die de Shopify-app, de WordPress-plugin of de Shopware-plugin versturen, komen langs dezelfde tagging-server en krijgen dezelfde winst.
De berekening
Per aankoop, uit de artikelen in het event:
- Omzet excl. btw. De artikelprijzen zoals je event ze verstuurt, na korting, zonder btw als je prijzen inclusief btw zijn. De verzendkosten die de klant betaalt tellen mee als je daarvoor kiest.
- Min kostprijzen. De kostprijs van elk artikel maal het aantal. Artikelen zonder kostprijs gebruiken je standaardmarge.
- Min orderkosten. Vaste kosten per bestelling (orderpicken, inpakken), je verzendkosten per bestelling, en de transactiekosten als percentage plus een vast bedrag.
- Min verwachte retouren. Een optioneel retourpercentage verlaagt de winst van elke bestelling met dat aandeel.
Een bestelling met verlies stuurt mb_profit als 0, omdat Google Ads en Meta geen negatieve conversiewaarde accepteren. Het dashboard toont nog steeds het echte bedrag.
Waar de kostprijzen vandaan komen
- Een feed. Een Google Merchant Center-feed met
cost_of_goods_sold, een Channable-feed of elk openbaar CSV-, JSON- of XML-bestand. Measurebase leest hem elke dag in. - Een bestand. Upload een CSV-, TSV-, JSON- of XML-bestand van maximaal 20 MB, en upload een nieuw bestand als je kostprijzen veranderen.
- Shopify. De kostprijs per artikel van elke variant, die je al in Shopify bijhoudt. Kies Use Shopify cost prices in de Measurebase-app. De app vraagt één keer toestemming om kostprijzen te lezen en synchroniseert ze elke nacht.
- WooCommerce. De WordPress-plugin stuurt elke dag de kostprijs van elk product en elke variatie. Hij leest de eigen kostprijs van WooCommerce, de bekende kostprijs-plugins, of een eigen veld dat je opgeeft. Zet het aan onder Instellingen, Measurebase, WooCommerce.
- Shopware. De Shopware-plugin stuurt elke dag de netto inkoopprijs van elk product en elke variant. Zet het aan in de pluginconfiguratie onder Profit tracking (POAS).
Measurebase matcht op elke identifier die een product heeft: product-ID, variant-ID, SKU en GTIN. Welke je events ook als item_id gebruiken, de kostprijs wordt gevonden. Sturen je events de product-ID en hebben de varianten van dat product verschillende kostprijzen, dan telt het product met hun gemiddelde.
Standaardmarges
Niet elk product heeft een kostprijs: cadeaubonnen, nieuwe producten, bundels. Stel een standaardmarge in, voor alles of per item_category, en die artikelen tellen met die marge mee in plaats van uit de winst te verdwijnen. Zonder standaardmarge levert een artikel zonder kostprijs geen winst op.
Instellen
- Voeg je kostprijzen toe. Open in het dashboard je domein, dan Advanced tracking, Profit tracking. Kies een feed, een bestand of je webshop.
- Stel je orderkosten in. Btw, verzendkosten, transactiekosten, vaste kosten per bestelling en standaardmarges. Probeer een voorbeeldbestelling om de uitkomst te controleren.
- Zet het aan. Vanaf dan bevat elke aankoop
mb_profit. - Gebruik het in je tags. Vink Bid on profit (POAS) aan in de GTM-templatebuilder, dan gebruiken de purchase-tags van Google Ads, Meta, TikTok en Snapchat
{{ed - mb_profit}}als waarde. Maak in een bestaande container een Event Data-variabele voormb_profiten gebruik die als conversiewaarde van die tags.
Voordat je je biedstrategie omzet
Winst is lager dan omzet, dus de waarden waar je campagnes van leren dalen. Een doel-ROAS die voor omzet is ingesteld, is te hoog voor winst: verlaag hem in lijn met je marge, of begin met een aparte conversieactie en zet je biedstrategie over zodra die data heeft verzameld. Geef Smart Bidding een paar weken om zich aan te passen.
Controleren of het werkt
- Dekking. Het aandeel van je aankoopomzet dat aan een echte kostprijs gekoppeld is, met de item-ID's die nooit matchten en hoe vaak ze gekocht zijn.
- Recente aankopen. De laatste bestellingen met hun omzet, winst en matchpercentage, om naast je eigen bestelgegevens te leggen.
- De tracking-audit. De tracking-audit waarschuwt als de dekking daalt, als je feed niet meer ververst, en als je Google Ads-conversietags nog omzet sturen terwijl winsttracking aan staat.
Winst in GA4
mb_profit komt met de aankoop ook in GA4 terecht. Registreer het als aangepaste statistiek en GA4 rapporteert winst naast omzet. Houd je je marges liever buiten GA4, sluit de parameter dan uit in je GA4-tag in de server-container.
Veelgestelde vragen
Kunnen Google of Meta mijn kostprijzen zien?
Nee. Alleen de winst van elke bestelling verlaat je tagging-server, als conversiewaarde.
Bij welke abonnementen zit winsttracking?
Bij elk abonnement, ook Starter.
En bestellingen die later worden geretourneerd?
Stel een verwacht retourpercentage in en elke bestelling telt mee met dat aandeel er al af. Losse bestellingen aanpassen na een retour hoort nog niet bij winsttracking.
Mijn webshop werkt met meer dan één valuta. Werkt dat?
Kostprijzen worden in één valuta bijgehouden. Aankopen in een andere valuta worden niet omgerekend: ze tellen in de dekking als niet gematcht, zodat je ziet om hoeveel omzet het gaat.