High ROAS does not tell you whether a product earns money
Enrich your product feed with margin or COGS and map margin segments to a custom label in Google Ads or Meta Ads. Combine price, sales and advertising costs to assess products beyond revenue alone.
Margin-level profitability
- Feed label
- cl_margin
- Required data
- IdoSellGoogle Sheets
- Type
- Products
Why does it matter?
- Revenue is not profit
Scaling by ROAS can favor low-margin or unprofitable products. Revenue alone does not account for the cost of goods.
- Lower ROAS does not rule out potential
A higher-margin product can retain more money despite lower ROAS. Revenue-only assessment may restrict its budget.
- Margin must be matched to a product
Cost data requires a consistent product or variant ID. This connection enables profitability analysis at the correct level.
How to diagnose the problem?
Prepare a source containing a product or variant ID and percentage margin, monetary margin or COGS.
- 1
Add the data through CSV/TXT, XML, JSON, Google Sheets or a BigQuery table and secure the source.
- 2
In Models → Products, add a float field named Margin. Use lookup in table to join the data by ID.
- 3
If the source contains COGS, calculate margin from price and product cost, then run mapping.
Action strategy
- ACreate margin segments
Add a string field named margin segments and define bands appropriate to your assortment. After run mapping, assign the segmentation to an available custom label in the advertising channel.
- BCalculate Profit
Combine regular or promotional price, units sold, COGS and product-level ad spend. The Profit field shows the result after product and advertising costs, complementing ROAS-based assessment.
What to measure?
- Product margin
Analyze the margin assigned to each product or variant.
- Profit
Compare results after deducting product cost and advertising spend.
- Products with negative Profit
Identify products needing further analysis before sales are scaled.
Margin and COGS data support assessment beyond revenue and ROAS. The framework structures cost mapping, margin segmentation and calculation of product results after product and advertising costs.
More frameworks
- #13Customers
Black Week customers
lista_bfcm- IdoSell
- Google Ads
- Meta Ads
- #14Customers
Christmas customers
lista_xmas- IdoSell
- Google Ads
- Meta Ads
- #15Products
Carts without purchases
cl_high_intent- Google Analytics 4
- #16Products
Q4 campaign warm-up
cl_q4_warmup- IdoSell
- Google Ads
Frequently asked questions
Does Profit mean the store's complete net profit?
No. The calculation described includes product and advertising costs, not every operating expense. In Data Octopus, interpret Profit according to the components actually included.
Are percentage and monetary margins interchangeable?
No. They express value differently and require appropriate calculations. In Data Octopus, establish what the field represents before mapping so that percentages are not compared with monetary amounts.
Can variant costs be joined using a parent product ID?
Only if that relationship matches the data and cost structure; it should not be assumed automatically. In Data Octopus, the mapping key should match the level of sales being analyzed.
What should you do with negative-Profit products?
Treat negative Profit as a signal to review pricing, costs and campaigns, not as automatic exclusion. In Data Octopus you can isolate these products in their own segment and track results.
Roll out your first framework
We'll show which playbooks give the fastest results on your data.
