Product Metrics

Search

Product MetricswithMagento

Server-side tracking for Magento, built for POAS bidding on Google Ads and Meta.

Install the Product Metrics module for your Magento line: 2.4, 2.0, or 1.9 and OpenMage. Every order then reaches Google Ads and Meta from your own domain, confirmed from Magento, with its revenue, profit, customer type and lifetime value.

Log in with Google, no credit card

  • Every ad blocker
  • Your own store domain
  • Included in Pro

What every Magento order sends

Order #1042Paid

Revenue
€139.99
Profit
€50.91
Customer
New
Lifetime value
€420
  • Sent fromyourstore.com/…
  • Through every ad blocker
  • Google AdsReceived
  • MetaReceived

POAS bidding on both

Illustrative data

A browser tag or Product Metrics on Magento. What reaches Google Ads and Meta.

A browser tag and Product Metrics on Magento compared
What countsProduct Metrics on MagentoFull Signal Tracking, server-sideA browser tag / GTMGoogle tag, Google Tag Manager or Meta Pixel
Ad blockersGets through every ad blockerBlocked, also behind Google tag gateway or server-side GTMSee the ad blocker test
Safari ITPFirst-party cookie lasts 30 daysTags load, cookies cut to 7 days
Where it runsServer-side, from your own domainIn the visitor’s browser
PurchasesConfirmed from the Magento order; refunds adjustAs the browser reports them
ProfitFrom the item cost on each Magento orderOrder value only
New customersMarked new or returning, with lifetime valueNot marked by default
POAS biddingOn Google Ads and MetaGoogle AdsMetaNot without profit in the conversion
  • Yes
  • Partly or not by default
  • No

What it adds to your Magento store. Profit, every purchase, new customers.

  • Bid on profit with POAS

    Google AdsMeta

    Each order reaches Google Ads and Meta with its profit, so both can bid on POAS. It works on ROAS right away; connect margins to switch to POAS.

    POAS vs ROAS
  • Every purchase counts

    Full Signal Tracking gets through every ad blocker. It runs on a unique endpoint on your own domain that auto-rotates if it is ever blocked.

    How Full Signal Tracking works
  • Win new customers

    Google AdsMeta

    Each purchase is marked new or returning, with its lifetime value, so Google Ads and Meta can tell first orders apart and bid for new customers.

    MER and nCAC calculator

Trusted by ecommerce teams running Google Shopping at

  • DocHorse
  • Rajapack
  • Soundimports
  • FDX.com
  • beterwitgoed.nl
  • snackje.nl
  • 1M+ products analysed
  • €750K+ monthly Shopping spend under management
  • Founder's work nominated at the Dutch Search Awards: Best Measurement Campaign 2023 · Best Use of Data 2024

Same ROAS, different profit. POAS shows which product pays.

POAS = ROAS × contribution margin %. At a POAS of 1 a product breaks even; above 1 it earns more than its ads cost.

  • Product A

    ROAS
    4
    Contribution margin
    40%
    POAS
    1.6

    After €100 of ads:Earns €60

  • Product B

    ROAS
    4
    Contribution margin
    20%
    POAS
    0.8

    After €100 of ads:Loses €20

Illustrative data

Work out your POAS

Live in 5 easy steps. One for 2.4, 2.0, or 1.9 and OpenMage.

Analyse your products for free

Log in with Google, no credit card

  1. Install the Product Metrics module
  2. Save your configuration file
  3. Run Magento cron
  4. Allow the script in your CSP
  5. Pick your purchase conversion action
Step details and who does it
  1. 1.Install the Product Metrics moduleFrom the Adobe Commerce Marketplace, as a ZIP or with Composer. Install the one module that matches your Magento line, then run setup, compile and refresh the cache.
  2. 2.Save your configuration fileProduct Metrics generates one configuration file per store view. Save it on the server where the module expects it.
  3. 3.Run Magento cronCron sends order changes to Product Metrics every two minutes, so keep it running.
  4. 4.Allow the script in your CSPIf your store sets a Content Security Policy, allow its own script path.
  5. 5.Pick your purchase conversion actionConnect Google Ads in Workspace → Tracking and choose where purchases land.

Who does it

A developer or admin with shell access to the Magento server.

How it runs on Magento. What runs where.

Install
Module from the Adobe Commerce Marketplace, as a ZIP or with Composer, plus a configuration file and Magento cron
Tracking endpoint
Script and collector on random paths on your own domain, served by the module
Consent
Cookiebot, OneTrust, Usercentrics, Osano or your own setConsent call
Orders and refunds
Change notices sent by cron, then a separately signed read of the order; credit memos included
Cost price
The item cost stored on the Magento order
New customers
The first paid order per store view, by customer account or guest email
Versions
Tested on Magento 2.4.7-p8, 2.0.18, 1.9.4.5 and OpenMage 20.15.0

Your endpoint is a random path on your own domain. No tracking names in the URL.

The module serves the Product Metrics script and collector from your own domain, each on a random path with no words like “track”, “collect” or “analytics” in it. An adblocker sees a request to your own shop.

The script tag in the page head carries no customer data; the script itself is never cached. The order success block isn’t cached either.

  • Adblocker benchmark: which blockers stop the standard Google tags, tested with the real extensions.

Orders come from Magento, not from the browser. Credit memos make a new revision.

When an order changes, the module notes only its ID. Cron sends that notice, signed, to Product Metrics, which then reads the order back from your store through a separately signed request: totals, tax, discounts, shipping, refunds and lines, with configurable products resolved to the child product.

A credit memo creates a new revision of the order, and a cancelled order is marked cancelled. Cron also re-checks orders, so a missed notice is picked up.

Magento’s order cost becomes profit per order. A profit report Magento doesn’t give you.

Magento stores a cost on each order item. Product Metrics reads it with the order, so profit uses the cost the order was placed with, and each purchase reaches Google Ads and Meta with its profit.

Product Segmentation works on ROAS straight away. Connect margins to switch it to POAS.

New customers are marked before Google Ads and Meta see them. Per store view.

The module checks for an earlier paid order in the same store view, by customer account or by guest email. The first paid order makes a new customer; every later one is returning. Cancelled orders don’t count.

Each purchase reaches Google Ads and Meta marked new or returning, with its revenue, profit and lifetime value. In Google Ads, that is eight conversion actions Product Metrics creates and manages for you:

  • Product Metrics - New Customer
  • New Customer Profit
  • Returning Customer
  • Returning Customer Profit
  • Revenue
  • Profit
  • Revenue LTV
  • Profit LTV

Product Metrics shows nCAC, what you pay for a new customer, per product and as an average, so you can increase priority on products that bring in first orders.

Magento and Google Shopping: keep your feed, add the signal. Product Metrics is not a feed tool.

Getting Magento products into Google Shopping takes a feed extension that sends them to Merchant Center. Keep the one you use.

Product Metrics works on top of it. Product Segmentation segments your products by clicks and return and writes the labels you approve to Merchant Center, so your Shopping and Performance Max campaigns can increase or lower each product’s priority. Full Signal Tracking sends every Magento order back to Google Ads with its profit.

Requirements and limits. What to check before you install.

  • Magento 2.4, 2.0, or 1.9 and OpenMage. Tested on 2.4.7-p8 (PHP 8.2), 2.0.18 (PHP 5.6), 1.9.4.5 (PHP 5.6) and OpenMage 20.15.0 (PHP 8.2).
  • One module per Magento installation, and one installation per store view.
  • Shell access to save the configuration file, and Magento cron running.
  • A Content Security Policy that allows the store’s own script path.
  • Order cost is read when the order currency matches the base currency.
  • Refunded orders are sent without a profit figure, because Magento doesn’t record what happened to the returned items.

Questions about Magento. Short answers.

Does it send Magento orders to Meta too?

Yes. Full Signal Tracking sends revenue, profit, new and returning customers and lifetime value to Google Ads and Meta, so POAS bidding works on both.

Do I need margin data to start?

No. It works on ROAS right away; connect margins to switch to POAS. Full Signal Tracking is included in the Pro subscription.

Which Magento versions does Product Metrics support?

Magento 2.4, Magento 2.0, and Magento 1.9 with OpenMage, each with its own module. It is tested on 2.4.7-p8, 2.0.18, 1.9.4.5 and OpenMage 20.15.0.

Does it replace my Magento Google Shopping feed extension?

No. Keep your feed extension for products in Merchant Center. Product Metrics adds product segments as Merchant Center labels, and server-side purchases with profit and new customers.

Does the module need an admin user or API token?

No. It has no admin screen and uses no Magento API token. Requests between your store and Product Metrics are signed.

Will Google Ads count orders twice next to my current tag?

The Magento order number is sent as the transaction ID. Google Ads deduplicates matching IDs within the same conversion action. If your existing tag uses a separate purchase action, choose which purchase action is primary for bidding and keep the other secondary; the ID alone does not deduplicate across actions.

Is Product Metrics an attribution tool?

No. It sends every confirmed purchase to Google Ads and Meta, with consent, so their bidding learns from all of them. It doesn’t share credit across channels.

Does it get through adblockers?

Yes. Full Signal Tracking runs on a unique endpoint on your own domain, and if that endpoint is ever blocked, it auto-rotates to a fresh one. Consent still decides what is sent.

Product Metrics on other platforms. Same tracking, each platform’s own setup.

  • Shopify

    Install the app from the Shopify App Store. Orders go to Google Ads and Meta from your own store domain, with profit from the costs you keep in Shopify.

  • WooCommerce

    Install a WordPress plugin and paste a token. Orders go to Google Ads and Meta from your own domain, with profit from your WooCommerce costs.

  • Lightspeed

    Connect your Lightspeed eCom shop. Orders go to Google Ads and Meta from your own shop domain, with profit from the cost prices in Lightspeed.

  • Shopware 6

    Install the Shopware 6 plugin and paste a token. Orders go to Google Ads and Meta from your own domain, with profit from your Shopware purchase prices.

See your products’ profit in Google Ads. Start with a free analysis.

Find your hidden profit30-second estimate · no login
Analyse your products for freeFree analysis, no credit card

Not ready to connect? Book a demo: a video call with Berend, then a demo account.