Every channel names it differently. One SKU, real margin.
Map every channel's listing of a product to one base product (SKU). Laplace then calculates margin and contribution profit by product, with COGS and ad spend counted the same way.
COGS · margin –
Match products by hand, and your margin has gaps.
Every new channel and variant adds more matching work. Any listing that isn't mapped leaves COGS and margin blank (–).
Different listing names per channel
The same product arrives with a different title and variant structure from each storefront. Combining them means matching every listing by hand.
One mismatched name, no COGS
Keep your product master in a spreadsheet, and a small difference in a listing name breaks the COGS lookup. Orders without COGS drop out of your margin.
A cost change means starting over
Every time a unit cost changes, you update the spreadsheet and recalculate margin for past periods.
Raise the match rate, and margin fills in.
Drag the slider. Listings with different names merge into one base product, and COGS and margin change from '–' to real numbers.
0 of 9 listings mapped to base products
| Channel | Listing name | Base product | Revenue | COGS | Margin |
|---|---|---|---|---|---|
| Shopify | Hydrating Lip Balm 10g (Buy 2 Get 1) | Unmatched | $219,600 | – | – |
| Shopify | Vitamin C Serum 30ml | Unmatched | $235,800 | – | – |
| Shopify | Daily Moisturizer 50ml | Unmatched | $235,050 | – | – |
| Amazon | Dewy Lip Balm 10g Single | Unmatched | $164,700 | – | – |
| Amazon | CICA Calming Ampoule 30ml | Unmatched | $212,220 | – | – |
| Amazon | Moisture Daily Cream 50ml | Unmatched | $188,040 | – | – |
| Own store | Hydrating Lip Balm 10 | Unmatched | $109,800 | – | – |
| Own store | [Members] VITAMIN C SERUM | Unmatched | $106,110 | – | – |
| Own store | Daily Moisturizer 50 | Unmatched | $125,360 | – | – |
Product names, channels, quantities, prices, and COGS are sample data for illustration, not customer data.
Unmatched orders skew your margin. The match rate tells you how far to trust it.
The more orders without COGS, the further reported margin drifts from the real one. Change the match rate to see the gap.
Assumptions: $100K in sample revenue. The first orders mapped have a 60% COGS ratio, the rest 75%. Illustrative only, not customer data.
From channel listing to COGS, in one connected chain.
Click a step to see what happens at each stage.
1. Channel listings
Laplace collects the listings sold on each channel automatically. The same product often has a different title and variant structure on each storefront.
- Channel, product name, and variant details collected as-is
- Newly sold listings are flagged as new
- COGS is still unknown at this stage
Rules map most listings, you review the rest.
Auto-match rules run first. Only the listings no rule catches go to your review list, and the match rate bar shows your progress.
- Rules run in a set order, and one rule can map many listings at once
- Only listings no rule catches need manual mapping
- Match settings show rule order and how many listings each rule mapped
- 1nextProduct ID matchesPriority 1
- 2queuedOption code matchesPriority 2
- 3queuedName and attributes matchPriority 3
- queuedManual reviewMap the rest in the match editor
Add COGS and contribution profit appears.
Enter a unit cost for each base product, and margin uses the cost in effect on each order date. Subtract channel fees and ad spend to get contribution profit by product.
- Unit cost history with effective dates for each base product
- COGS, fees, and ad spend counted the same way
- See which products lose money the more you advertise
Amounts in USD. A simplified example: revenue minus COGS, fees, and ad spend. Sample data.
Link ad creatives to products and see ad spend by product.
Laplace reads the product ID in each creative's landing URL to tell which ad promotes which product. Select a creative to follow the flow.
https://shop.example.com/products/view?id=10234&utm_campaign=spring- Revenue
- $4,754
- Ad spend
- $896
- ROAS
- 531%
Matched by the product ID in the landing URL.
Frequently asked questions Check here first.
Still have questions? Contact us and we can help you choose the right setup for your team.
Data mapping lines up fields that each platform names differently with one structure in Laplace. For example, the order number might be order_id on one storefront and receipt_no on another. Once those fields are mapped, Laplace can combine and calculate data from every channel together.
- Fields with different names combine into one dataset
- Cross-channel numbers use the same definitions
- After setup, the same mapping runs automatically every day
It means linking every channel listing or variant that sells the same item to one base product (SKU) in Laplace Data Management. The same product often has a different title or option name on each storefront. Once the listings are linked, you enter COGS and fees once per base product, and the same values apply on every channel.
- One product is no longer counted separately on each channel
- COGS and fees are set once, at the base product level
- Auto-match rules and manual review work together
Partly. Orders that aren't mapped to a base product have no known COGS, so Laplace counts their cost as $0 and margin looks higher than it really is. Laplace shows the match rate next to margin, so you can see how far to trust the number. The higher the match rate, the more accurate the margin.
- See the match rate (%) and unmapped revenue side by side
- Filter to unmapped listings and map them straight from the list
- Once mapped, past data is recalculated on the same basis
Laplace reads the product ID in each ad's landing page URL, links the ad to that base product, and then calculates ad spend and ROAS by product. The landing URL is the source of truth, even when the creative or campaign name points to something else.
- See ad spend and ROAS by product
- Product history continues when you swap creatives
- Review and correct any link by hand