Optimize Google Shopping for Margin, Returns and Stock

Drei getrennte Gruppen unmarkierter Keramikobjekte in einem hellen Prüfbereich: verkaufsfähige Ware, Rückläufer zur Prüfung und eine geschützte Reserve

Contribution beyond the revenue headline

Why a good Shopping ROAS does not prove a good contribution margin

If you want to optimize Google Shopping for margin, looking at the revenue in your advertising account is not enough. Two products can achieve the same ROAS yet deliver completely different financial results. What matters is the amount left after the cost of goods sold, returns, variable fulfilment costs and advertising, and whether you can reliably fulfil the additional demand.

The decision starts with the item sold

For a small or medium-sized business with a limited advertising budget, this distinction has immediate practical consequences. A product with strong sales can tie up considerable capital, be returned frequently or have a high purchase cost relative to its selling price. Another may generate less visible revenue but contribute more to the business after all attributable costs. An across-the-board budget increase initially amplifies both effects.

This approach therefore brings together three questions: What contribution does a product actually make? How reliable are its returns data? How much saleable stock is available for additional orders? The central working tool is a Shopping contribution register with returns and stock checks. It brings the data, uncertainty and next action together in one view.

The focus is on operational decisions about the contribution of your existing product range. A complete GTIN and feed quality review, resolving disapproved products and general seasonal segmentation are separate tasks. Here, the aim is to identify the financial implications of your product data and translate them into controlled changes to Shopping campaigns.

A common basis for calculation

Define contribution before comparing products

Revenue, gross profit and contribution margin serve different purposes

Start with net amounts excluding VAT and an explicit definition of the costs included. Original order revenue describes the amount recorded at purchase. Revenue retained after returns accounts for subsequent refunds. The cost of goods sold covers the goods that customers actually keep; returned items that cannot be resold may also require write-offs.

Contribution margin before advertising = retained net revenue − cost of goods kept by customers − write-offs on returns − variable shipping and fulfilment costs − actual payment fees − returns processing costs.

Contribution margin after advertising = contribution margin before advertising − allocated advertising costs.

This definition gives you a working measure that you can manage, rather than a complete profit calculation. Fixed costs, financing, staff costs that are not directly attributable to orders and other overheads may fall outside it. Document that boundary so that a positive contribution is not prematurely described as business profit.

Also set your own target contribution: for example, an amount in euros per order or a percentage of retained net revenue. The calculated advertising allowance is the contribution margin before advertising minus this minimum contribution. A positive remainder alone is not automatically sufficient when it still has to fund warehousing, the team and other operating costs.

Compare only values with the same scope. If the conversion value includes VAT or shipping revenue but your inventory management analysis does not, the figures create a false impression of precision. Include retained shipping charges and additional variable commissions where applicable. For mixed baskets, allocate shared costs once using a documented method, such as weight or the value of the goods. The total must reconcile with the actual order.

Your central working tool

Build a Shopping contribution register with clear responsibilities

One row connects product economics, data status and action

The register can start as a carefully maintained spreadsheet. The essential link is between the product ID, order line and decision period. An export from the advertising account alone is rarely enough. You also need information from inventory management, returns processing and warehouse management. Anyone approving a decision must be able to see who supplied each value and when it was last checked.

Data categoryRequired valueSourceCheckOwnerDecision supported
IdentityItem ID and order lineShop and feedUnambiguous matchingShop teamBring the values together
RevenueNet revenue and refundsOrdersConsistent value definitionFinance teamCalculate retained revenue
Variable costsCost of goods sold, shipping, feesInventory management and billingPeriod and cost scopeFinance teamDetermine contribution before advertising
ReturnsStatus, costs, resaleReturns processingFlag unresolved casesCustomer service and warehouseAssess uncertainty and losses
StockUnreserved units and replenishmentWarehouse managementDeduct reservationsPurchasing and warehouseEnsure additional demand can be fulfilled
AdvertisingCosts and documented actionGoogle Ads and change logAllocation and test periodMarketingMake the budget decision traceable

Use unique and stable item IDs; each variant needs its own identifier. Only aggregate variants if their costs, returns patterns and ability to fulfil demand are sufficiently comparable. The guide Set up Merchant Center and your product feed correctly explains the technical foundations.

Add a status to each row, such as “provisional”, “reconciled” or “ready for a decision”. A missing purchase cost is an unresolved data question. It should be interpreted neither as zero euros nor as an especially high margin. This makes it clear whether a decision rests on observed values, an estimate or information that is still incomplete.

Understand what Google's features provide

Use profit optimization only with a suitable data foundation

An available feature does not replace a clear business definition

In an article published in March 2025, Google describes profit optimization as a beta for Performance Max and Standard Shopping. The source still carries that designation at the fact-check on 19 September 2026. Check availability and setup in the specific account. This is not a promise of availability for every account in Germany, nor does it mean that existing revenue campaigns switch automatically.

Essential data components include conversions with cart data and information on the cost of goods sold. Cart data connects a purchase with the items it contains, their prices and quantities. For reporting, the products sold must be present in the feed of the linked Merchant Center account, and the submitted item IDs must match exactly. A total value alone does not provide these details.

Start by checking the data flow: Which purchase action is used? Which item ID is transmitted? Does it match the product source in Merchant Center? Are quantity, price and currency transmitted consistently? For mixed baskets, you must not allocate the entire order value to each individual item again.

Important for implementation: Populating cost_of_goods_sold alone does not activate profit optimization. Check the data provided, the optimization selected and the actual campaign settings separately.

If the account continues to bid on revenue values for the time being, the contribution register is still useful. You can create groups based on product economics, set spending limits and check results against your own contribution margin. However, do not describe this approach as automatically activated Google profit optimization.

A cost model with clear boundaries

Distinguish Google's gross profit from your full contribution margin

A correct COGS field does not represent the whole order

The Merchant Center attribute cost_of_goods_sold for product costs describes a product's cost of goods sold. Maintain a traceable basis for it, such as the applicable purchase price under your agreed costing method. Price changes and supplier changes need an effective date so that you do not silently revalue historical sales using new cost figures.

Google calculates gross profit as revenue minus the reported cost of goods sold (COGS). This measure is not the same as your contribution margin after returns, fulfilment, payment fees and advertising. The additional costs your business actually bears depend on your processes and contracts. Keep this distinction visible in your analysis.

A high gross margin can shrink considerably because of expensive shipping, time-consuming inspections of returned goods or payment fees that are not refunded. Conversely, a high return rate does not necessarily imply a loss if the original margin is sufficient and most goods can be resold. Both questions require actual cost amounts to answer.

Do not make missing costs look favourable: If COGS is missing or unreliable, the contribution figure concerned is incomplete. Do not set the value to zero. Record the data limitation and withhold financial approval until a plausible basis is available.

Display Google metrics and your internal contribution figures alongside each other with unambiguous names. The team can then see whether it is looking at an advertising platform metric, an estimated order contribution or a reconciled cohort figure.

A worked example

Three products, the same ROAS and three different decisions

A fictional July model makes the difference visible

Consider three fictional product cohorts from 1 to 31 July 2026. Each contains 100 orders with exactly one item priced at 100 euros excluding VAT after discounts, with no shipping revenue. Original net revenue of 10,000 euros and advertising costs of 2,000 euros for each cohort produce the same initial revenue ROAS of 5.0. All costs are allocated fully and without overlap, including advertising interactions that did not lead to a purchase. This simplified allocation is an assumption of the model.

At the fictional review cutoff of 15 September 2026, these cohorts are treated as closed after checking delivery dates, applicable return periods and known returns. A has five returns and a cost of goods sold of 40 euros per unit; all five can be resold. B has 20 returns at a cost of goods sold of 75 euros per unit, including two write-offs. C has 30 returns at a cost of goods sold of 35 euros per unit, including six write-offs.

ProductReturnsRetained net revenueVariable costs excluding advertisingAdvertising costsContribution after advertising
A5 of 100€9,500€4,640€2,000€2,860
B20 of 100€8,000€7,110€2,000−€1,110
C30 of 100€7,000€3,700€2,000€1,300

Each cohort bears 600 euros for picking, packaging and the original outbound shipping, plus 200 euros in payment fees still incurred after fee adjustments. Each return costs a further eight euros, including return postage and processing. A incurs 3,800 euros in cost of goods sold for items kept by customers, plus 600 + 200 + 40 euros. For B, the figures are 6,000 euros plus a 150-euro write-off, plus 600 + 200 + 160 euros. For C, they are 2,450 euros plus a 210-euro write-off, plus 600 + 200 + 240 euros.

This leaves contribution margins before advertising of 4,860 euros for A, 890 euros for B and 3,300 euros for C. The five, 18 and 24 returned items that can be resold, respectively, go back into inventory at their purchase cost. Their cost of goods sold is recognized only when they are sold later; no further impairment is assumed. B produces a negative contribution despite the same initial ROAS. C contributes positively despite having the highest return rate. Whether 1,300 euros meets your own target contribution is a separate decision.

Returns need a time reference

Evaluate returns against their original order cohort

A refund today does not automatically belong to a sale today

Match returns to their original orders. Otherwise, you may end up comparing the advertising for a strong sales week with refunds from an entirely different demand period. The register therefore includes both the order period and a review cutoff. Pending returns and items whose condition is still unresolved are explicitly identified.

For recent cohorts, use an expectation clearly marked as an estimate. You can derive it from older product cohorts that are sufficiently similar. Keep the expected cost of returns separate from the amount subsequently established. A small number of cases, a new supplier or a change in the product's contents can limit comparability.

The date of 15 September in the example is simply a fictional cutoff for closed July cases. It does not establish a general waiting period. Judge whether your cohort has matured sufficiently from the actual pattern of orders, returns and processing. Warehouse delays do not demonstrate permanently lower return costs. Cases that come to light later require a reassessment.

Also distinguish physical receipt from release for resale. A returned unit becomes usable stock again only when it has been inspected and actually released. The same item cannot be counted both as already freely available and as an additional expected return into stock.

Two different working schedules: The later internal cohort review supports a reliable decision about contribution. Process known refunds and required Google Ads corrections promptly under the relevant technical rules. Do not routinely wait for a cohort to close before doing so.

Measurement and corrections

Keep conversion values and refunds traceable

A correction needs an unambiguous original conversion

Check the purchase action, transaction ID and link to the original conversion. Document which system identifies a refund and submits the correction. For Shopify, it helps to clearly separate data flows and purchase measurement. A return recorded in GA4 does not prove that Google Ads and every cart report have been corrected automatically.

Google Ads distinguishes between restating a conversion's value and retracting the conversion. RESTATE submits the new total value, rather than just the refund amount. If there are several partial returns, it must account for all previous adjustments. RETRACT retracts the conversion. Once a conversion has been retracted or its value adjusted to zero, no further adjustments to that event are possible. Check the amount and the matching to the original conversion before submitting the adjustment.

The Google guide to conversion adjustments recommends, in the version checked on 19 September 2026, uploading no earlier than 24 hours after the original conversion. It specifies seven days from the first recording for adjustments to be used by automated bidding and 54 days in total for adjustments. These are the parameters stated in that guide, rather than universal deadlines for every conversion and import type. Check the method you use and correct known cases promptly. Late returns remain relevant to the internal contribution calculation even when they can no longer influence bids in the same way.

Do not substitute an internal contribution margin for revenue without checking the implications. If the optimization signal changes, the definition, transmission and campaign logic must align. Otherwise, you end up comparing old revenue ROAS figures with a new type of value under the same name. Maintain independent order and cost accounting for financial oversight.

Supply capacity sets a limit

Compare stock coverage with your actual replenishment schedule

Unreserved stock is the starting point for additional demand

Before approving advertising, you need units that are saleable and have not already been reserved. Deduct open orders and any other firm reservations. Blocked goods, unchecked returns and unconfirmed incoming deliveries do not count as freely available stock. Compare this inventory with a daily dispatch forecast whose basis you can explain.

Stock coverage in days = freely available stock ÷ expected number of units dispatched per day.

The stock check is a separate snapshot taken on 15 September 2026. Returns from the July order cohort that have been approved for resale and are still in stock are already included. The eight pending September returns for A and twelve for C are not additional available units. The forecast covers further dispatches, including demand expected from planned advertising, but excludes reservations that have already been deducted. Future returns are not offset against demand in advance.

ProductSaleable stockReservedFreely availableDispatches per dayStock coverage
A3993065 days
B26020240460 days
C801070514 days

A is financially attractive, but its stock will not last until the confirmed replenishment arrives in ten days. B has ample stock and still generates a loss. C covers seven days of procurement lead time plus three days of the business's own buffer. This does not establish a universal threshold for approval; your delivery times and their variability determine how much coverage you need.

The availability value in the feed must reflect the actual conditions under which customers can buy the product. Do not use out_of_stock as an invented pause switch for goods that customers can purchase. Likewise, automatic updates in Merchant Center only supplement accurate product data and do not replace a reliable source of stock information.

The four decision gates

Use the register to identify a clear next action

The sequence protects against contradictory budget decisions

Always assess a product in the same sequence. This prevents a high margin from obscuring unanswered data questions, or a large stockholding from obscuring a negative contribution margin amount. The following four decision gates form the register's practical workflow. Each approval applies to the documented state of the data and inventory at that time.

1. Review

Are revenue, costs and returns sufficiently reliable? If essential information is missing, the case remains under review. Distinguish observed values from justified estimates and specify which information is still outstanding.

2. Correct

Does the contribution margin reach your own target? If not, investigate purchasing costs, the selling price, reasons for returns and advertising costs. Additional stock is not, on its own, a reason to invest more in advertising.

3. Secure supply

Does stock coverage cover the procurement lead time and your operating buffer? If not, coordinate advertising with confirmed replenishment. Include demand from other sales channels in this assessment.

4. Approve

If the data, target contribution margin and supply capacity are sufficient, start with a limited change. Assign an owner, set a review date and define stopping criteria. Successful past performance does not justify unlimited budget increases.

In the example, A generates a positive contribution margin amount but needs its supply secured; A must also meet the business's own contribution margin target. B requires a correction to its economics. C may qualify for a test, provided that its €1,300 after advertising meets the individual contribution margin target and the underlying data is considered sufficiently reliable. This condition belongs in the decision itself, not only in the subsequent evaluation.

From the register to the product group

Transfer economic classifications using custom labels

A classification only becomes a control when a rule acts on it

Custom labels can connect the register with the campaign structure. Merchant Center provides custom_label_0 through custom_label_4. Define a small number of understandable values, for example for contribution margin status and stock approval. The classification must fit the product and campaign structure you actually use.

One possible label identifies products as “Review”, “Correct”, “Secure supply” or “Approve”. The underlying euro amounts, assessment dates and responsibilities remain in the register. This gives the feed a manageable classification while keeping the reasoning behind the decision traceable.

A label alone does not change a budget or a bid, nor does it automatically exclude a product. That requires an appropriate campaign setting, a deliberately configured rule or another technically verified implementation. Document the action that actually follows from each label value and who monitors it.

One value is allowed per product for each label attribute; across the account, each attribute can have no more than 1,000 distinct values. A manageable list of statuses is sufficient here. The underlying calculation takes place in your data process. It accounts for pending returns or supplier delays only if that information is actually available.

A practical limit: A label should serve a stable purpose in decision-making. Individual values that change every day make evaluation more difficult. Update the assignment when there is a substantive change of status, and record when and why it changed.

Separate campaigns with a clear purpose

Create separate controls only where you need them

The structure follows the economic decision

Separate campaigns make sense when you actually need to manage different budgets, objectives or financial limits. Detailed segmentation alone does not improve contribution margin. It can divide already small datasets even further and make day-to-day maintenance more difficult. Start with the decision conflict that separating campaigns is intended to resolve.

In Standard Shopping, product groups segment the range, for example by your own labels, and allow exclusions. The documented manual bidding interface permits group CPCs; this does not describe every Smart Bidding strategy. Product groups do not thereby receive their own budget allocation. According to Google, excluded products can still receive clicks and impressions for up to 48 hours.

In Performance Max, listing groups control which products are included within asset groups. Google sets bids automatically according to the campaign objective. A label creates neither a separate listing group budget nor an individual manual CPC. Also check the final URL and URL expansion: filtering products does not necessarily restrict every landing page that users can reach.

Make sure that the same product does not unintentionally appear in competing test and comparison groups. Keep price promotions, feed changes and budget tests separate as well. If several influencing factors change at the same time, it becomes difficult to attribute an improved contribution margin to any one action later.

A realistic working rhythm

Combine daily stock checks with a regular contribution margin review

Marketing, purchasing and the returns team need the same view of decisions

Daily: operational changes

Check relevant stock shortages, missed delivery dates and known refunds. Correct available product data promptly and flag cases where the previous advertising approval is no longer justified. For stable products, an automated reconciliation with a focused exception list is sufficient.

Weekly: economic decisions

Discuss new approvals, unusual returns and ongoing tests. Compare the contribution margin with the agreed target, resolve outstanding cost items and log every relevant budget or grouping change together with the next review date.

The regular review does not need to become a major reporting project. For a small range, a list of products whose status or required action has changed is enough. Advertising costs, returns and freely available stock should each refer to their stated reporting date. Make differences in data freshness clearly visible.

Allocate advertising costs as precisely as the data allows. The Google reports on cart metrics distinguish advertised products from products actually sold; the item clicked need not be the item purchased. Missing COGS makes gross profit comparisons incomplete. Document any necessary cost allocations and also review important decisions at group level.

Use the review to address causes outside the advertising account as well. Unclear size information, inaccurate expectations or inconsistent quality cannot be resolved through a different bid alone. Alongside the advertising action, the register entry should therefore name the person responsible for correcting the underlying issue.

Test within defined limits

Evaluate changes using additional contribution margin amounts and clear limits

Give each status an appropriate action and a review criterion

A positive historical average does not mean that additional advertising spend will generate the same contribution margin. A larger budget can bring in more expensive orders; at the same time, greater demand changes how long stock will last. Before each test, therefore, state the improvement you expect and the result that would cause you to stop the action.

StatusTriggerActionReview criterionResponsibility
ReviewCosts or returns unclearComplete the allocation and dataA traceable basis for the calculationFinance team and marketing
CorrectContribution margin target missedInvestigate the cause and test a limited changeContribution margin reaches the agreed thresholdMarketing and purchasing
Secure supplyInsufficient stock coverageCoordinate advertising and replenishmentConfirmed supply capacityPurchasing and warehouse
ApproveData, contribution margin and stock meet requirementsStart a limited budget testHigher contribution margin amount with sufficient stockMarketing

Define the test start date, products and review dates, and calculate your Google Ads spending allowance on a transparent basis. Economic suitability does not replace the ability to finance the spend. Compare similar demand conditions and identify special promotions. A before-and-after comparison without a control group provides guidance; it does not automatically prove that advertising caused every change.

For recent orders, the impact of returns initially remains an estimate. First assess the test using expected costs, then reassess it later using mature cohorts. An immediate stock constraint or a clear financial shortfall can nevertheless require an earlier operational correction.

Common decision errors

Avoid shortcuts that hide economic problems

A simple rule must not obscure the relevant cause

“A high ROAS means a larger budget.” This rule overlooks differences in costs and returns. In the model, scaling B would lack an economic justification despite its initial ROAS of 5.0. Check the remaining contribution margin amount first, then the ability to fulfil demand.

“A lot of returns means immediate exclusion.” The return rate alone says little about the effect in euros. C remains positive in the example even though it is returned more often. Still investigate the reasons for returns and the processing costs; a positive contribution margin is no reason to ignore avoidable problems.

“The warehouse is full, so the ads need to run harder.” Selling through stock can be an objective in its own right, for example because capital is tied up or the goods may lose value. In that case, it needs an explicitly agreed loss limit or contribution margin threshold. Do not confuse this special case with a standard approval based on contribution margin.

“More automation will solve the missing data.” A rule can process incomplete inputs faster, but it cannot supply the missing business information. Missing cost of goods sold, returns counted twice or an outdated delivery date must be resolved at the source.

Combining several shortcuts can be particularly expensive: an optimistic conversion value, a blanket estimate of returns and a stock figure that includes unchecked returned goods. The register counters this by keeping the assumptions, limits and responsible owner attached to every approval.

Start in manageable steps

Introduce the Shopping contribution register for a limited range first

A reliable pilot is the foundation for later automation

  1. Week 1: Connect definitions and data. Select an economically relevant product group. Agree on the net revenue definition, the costs included, the allocation of returns and the contribution margin target. Review a few real orders all the way from purchase through refund and approval of stock for resale.
  2. Week 2: Reconcile older cohorts. Calculate contribution margin amounts for order groups that are as complete as possible. Resolve missing costs and document where only estimates are possible. Check the inventory calculation independently of the retrospective contribution margin analysis.
  3. Week 3: Translate statuses into controls. Assign products to the four decision gates. Set up the necessary labels and specific campaign actions. Check a few cases to confirm that the selected action actually affects the intended set of products.
  4. Week 4: Evaluate a limited test. Review the first orders, spending and stock movements. Identify expected return costs as estimates. Set the later date for the reconciled cohort assessment, and only then gradually expand the scope.

Four weeks is an implementation plan here, not a guarantee of statistically or economically conclusive results. With few purchases, long delivery routes or delayed returns, a reliable assessment takes longer. The pilot should first establish whether the data and allocation of responsibilities work in practice.

Then automate recurring steps whose business logic has already been resolved. Exceptions such as failed deliveries, unusual returns or a changed cost basis still require an understandable checklist. Even the best technical connection is useful only if someone takes responsibility for the decisions it produces.

Frequently asked questions

FAQ on optimizing Google Shopping around margins, returns and stock

What ROAS is economically sufficient for Google Shopping?

There is no universal target. What matters is your cost model, the impact of returns and the contribution margin amount needed to cover further operating costs. In the example, the same initial ROAS of 5.0 produces both positive and negative contribution margin amounts. Derive a threshold from comparable net values and your own contribution margin target instead of adopting a blanket industry benchmark.

Does Google Shopping automatically optimize for margin when COGS is in the feed?

No. The cost of goods sold attribute initially supplies data. Google's profit optimization is a beta feature for Performance Max and Standard Shopping with its own requirements, and it needs to be assessed separately. Check availability, setup and the optimization signal used in the account. Your own contribution margin after additional costs also remains a separate measure for checking economic performance.

Should products with many returns always be excluded?

No. Check the remaining contribution margin amount, the reasons for returns and whether returned items can be resold. A high return rate can still leave a positive contribution margin after additional costs; a lower rate can already be a problem when margins are tight. The decision depends on euro amounts and your own target. Recurring quality or information problems need to be corrected regardless.

When do returned items count as available stock again?

After they have actually been checked and approved for resale. A notified return shipment or the mere receipt of the goods is not enough. Items already approved for resale must not also be planned as expected incoming returns. Unsaleable goods remain excluded and may cause a separately recorded loss of value. This prevents stock from being counted twice.

May I mark goods that customers can buy as out_of_stock to stop ads?

The availability value must match the actual conditions of sale. Do not use it as an artificial advertising switch. If you want to limit additional demand because stock is scarce, use an appropriate campaign or product control. The right setting depends on the campaign type and your structure; the feed, landing page and ordering process must remain consistent.

Are custom labels enough to automate contribution margin management?

Labels classify products. On their own, they change neither budget nor bid and do not trigger automatic exclusion. That requires a specific technical or manual action. Record in the register which effect each label value should have, who is responsible for assigning it and how you check that precisely the intended products are affected.

Must I wait until a returns cohort is complete before correcting conversions?

No. Process known refunds promptly within the technical limits that apply to your Google Ads method. The later cohort review is an internal assessment of contribution margin with its own cutoff date. It does not justify a blanket delay in conversion adjustments. Differences that can no longer be corrected in the advertising system later remain traceable in your internal calculation.

Can a small shop start without a large data platform?

Yes. A limited range, reliable exports and a shared register can be enough to get started. Unique product identifiers, consistent cost accounting and clear responsibilities matter more than the software. Clearly flag small sample sizes and estimates. Automate the data connection first, then the decisions whose rules have proved effective in the pilot.

Turn figures into decisions

Approve budget where contribution margin and supply capacity align

The next step is an approval you can explain

Optimizing Google Shopping around margins means connecting advertising values with the actual economics of your orders. The Shopping contribution register brings costs, returns and freely available stock together for this purpose. It shows whether you should first review the data, correct the contribution margin, secure replenishment or approve a controlled test.

Start with a product group for which orders and costs can be allocated reliably. Agree on the economic target, document the state of the data and check the specific effect of each campaign change. This makes a budget decision understandable to marketing, purchasing and management.

If you would like to apply this contribution margin approach to your existing advertising, you can work with Salestudia to review Google Shopping and Merchant Center together. The focus is on the feed, product economics, measurement and campaign priorities with a clear rationale.