laplace
KOEN
Data Management · Product mapping

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.

Sample data
Channel listings → Base product (SKU)
Marginproducts with COGS
–
Revenue without COGS$15,780
Match rate0%
0 of 9 listings mapped
Hydrating Lip Balm 10g
–
Vitamin C Serum 30ml
–
Daily Moisturizer 50ml
–
3 listings found · a different name on each channelTap to explore

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 (–).

Xshopify_orders.xlsx
ABC
1Listing nameQtyRevenue
2Moisture Lip Balm 10g (Buy 2)——
Xamazon_orders.xlsx
ABC
1Listing nameQtyRevenue
2Dewy Lip Balm 10g Single——
Xstore_orders.xlsx
ABC
1Listing nameQtyRevenue
2Moisture Lip Balm 10——
Same product, 3 different names

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.

Xproduct_master_final_v3.xlsx
ABC
fx=VLOOKUP(A3,master!A:C,3,0)
1Listing nameBase productCOGS
2Moisture Lip Balm 10gLip Balm 10g217
3Dewy Lip Balm Single?#N/A
4Moisture Lip Balm 10…?#N/A
One different name breaks the COGS lookup

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.

Xcogs_2026.xlsx
ABC
1Base productJan–Apr–
2Lip Balm 10g217246
3Ampoule 30ml731731
4Cream 50ml1007?
Recalculating past months

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.

Match rateSample data
0%

0 of 9 listings mapped to base products

Margin
–
No COGS yet
Revenue with COGS
–
0% of total
Base products mapped
0 / 3
Different channel names → one SKU
Channel listings with base product, COGS, and margin (sample data)
ChannelListing nameBase productRevenueCOGSMargin
ShopifyHydrating Lip Balm 10g (Buy 2 Get 1)Unmatched$219,600––
ShopifyVitamin C Serum 30mlUnmatched$235,800––
ShopifyDaily Moisturizer 50mlUnmatched$235,050––
AmazonDewy Lip Balm 10g SingleUnmatched$164,700––
AmazonCICA Calming Ampoule 30mlUnmatched$212,220––
AmazonMoisture Daily Cream 50mlUnmatched$188,040––
Own storeHydrating Lip Balm 10Unmatched$109,800––
Own store[Members] VITAMIN C SERUMUnmatched$106,110––
Own storeDaily Moisturizer 50Unmatched$125,360––
Hydrating Lip Balm 10g
No listings mapped yet, so COGS and margin are blank.
Vitamin C Serum 30ml
No listings mapped yet, so COGS and margin are blank.
Daily Moisturizer 50ml
No listings mapped yet, so COGS and margin are blank.

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.

Sample data
Match rate
0%
20 listingsMapped: 0
COGS at $0
–
Unmapped orders inflate it
Matched orders only
–
Covers 0% of revenue
Fully mapped
34.3%
True margin in this example
Revenue without COGS
100%
of $100K sample
0%25%50%75%100%0%25%50%75%100%
+65.7 pts above true margin
COGS at $0 marginMatched orders onlyTrue marginx-axis: match rate

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
Sample data
Shopify · Hydrating Lip Balm 10g (Buy 2 Get 1)Amazon · Dewy Lip Balm 10g SingleOwn store · Hydrating Lip Balm 10
Auto-match

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
Sample data
Match rate0%
Unmatched listings
20/ 20
  1. 1
    Product ID matches
    Priority 1
    next
  2. 2
    Option code matches
    Priority 2
    queued
  3. 3
    Name and attributes match
    Priority 3
    queued
  4. Manual review
    Map the rest in the match editor
    queued
20 listingscolor = matching rule
Own storeRenew Serum Sample Kit (old version)Unmatched
AmazonSpecial Bundle (revised composition)Unmatched
ShopifyTravel Mini 3-piece SetUnmatched
Rule names and listing counts are sample data.
Contribution profit

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
Sample data
Margin (no COGS)
73.1%
$476Revenue?COGS−$38Fees−$90Ad spendCOGS missingContribution
Without COGS, contribution profit can't be calculated, and margin looks higher than it is.

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.

Sample data
Landing URL
https://shop.example.com/products/view?id=10234&utm_campaign=spring
Meta creative
Spring New Arrivals Carousel
Product ID found
10234
Base product
Hydrating Lip Balm 10g
ROAS by productRevenue ÷ Ad spend
0200400600531%Hydrating Lip Balm 10g354%Vitamin C Serum 30ml245%Daily Moisturizer 50ml
Hydrating Lip Balm 10g
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

Let Laplace handle the analysis.
You focus on strategy.

Try Laplace free for up to 3 weeks, with every feature included.