Skip to content

How to set a Google Shopping target ROAS, step by step

Record product costs in Shopify and turn each margin band into a break-even floor. Label the bands in Merchant Center and give each label its own campaign and Target ROAS. Then leave it for about two weeks and judge it weekly, not daily.

By , Founder & CEOUpdated 9 min read

Run the numbers for your store: the free break-even ROAS calculator.

Usually, you set a Google Shopping target ROAS in three places. Shopify gives you the margin, Merchant Center labels products by margin, and Google Ads holds one target per labelled campaign. Start each target at your break-even floor or above, then leave it alone for about two weeks before you judge it.

Every menu path below was copied from Shopify's and Google's help pages on 1 October 2026. Since June 2026, Google has been renaming "Maximize conversion value with a Target ROAS" to plain "Target ROAS", so you may meet either label. Standard Shopping and Performance Max both get a route, because Shopping ads run in both.

Step by step

  1. Record what each product costs you. Shopify reports profit only for products and variants that had a cost recorded when they sold, so this comes first. Menu path: Shopify admin > Products > (product) > Price section > Cost per item > Save.
  2. Read the margin per order, shipping included. The Profit margin by order report sets what customers paid against the product costs, shipping costs, duties and import taxes your store paid. That is closer to what a Shopping sale leaves you than a product page's margin. Menu path: Shopify admin > Analytics > Reports > Category filter > Profit Margin > Profit margin by order.
  3. Turn margins into floors. Sort products into two or three margin bands, since Google says performance generally improves with fewer, larger campaigns. Divide 1 by each band's margin and multiply by 100, because Google Ads takes targets as percentages. The break-even ROAS calculator shows the sum. Menu path: none, this step is arithmetic.
  4. Put your margin on Google's basis. With Shopify's Google & YouTube app, the purchase value Google receives is the subtotal minus discounts, without shipping charges or taxes. So the margin you divide by should be what that value leaves after product cost and the shipping you pay. Menu path: none, Google documents the value on its Shopify event parameters page.
  5. Label each band in Merchant Center. Custom labels group products for bidding and reporting, and Google's own example label is Margin, with LowMargin and HighMargin. An attribute rule can set the label from data you already send, such as product type, but rules need the Advanced data source management add-on. Menu path: Merchant Center > Data sources > Product sources > (your source) > Attribute rules > Add attribute rule.
  6. Check the conversion window. A new Google Ads conversion counts purchases within 30 days of a click unless someone changed it. Target ROAS optimises for whatever window you choose. Write the window next to your target. Menu path: Google Ads > Goals > Conversions > Summary > (purchase action) > Edit settings > Click-through conversion window.
  7. Read each campaign's recent ROAS. Add Conv. value/cost and look at the last 4 weeks, leaving out the most recent conversion delay. For Shopping, the Products page lists conversion metrics per item, custom label included. Menu path: Google Ads > Campaigns > Columns > Modify columns > Conversions > Conv. value/cost.
  8. Split Standard Shopping by label. Use one campaign per band, because Google says separate ad group targets can restrict Smart Bidding. Inside each campaign, subdivide All products by the custom label and exclude the other bands. Menu path: Campaigns > (campaign) > (ad group) > Product groups > + next to All products > Subdivide by > Custom label.
  9. Or split Performance Max by label. Google recommends grouping items with custom labels and then targeting those labels in listing groups. Give each band its own campaign, with its asset group's listings filtered to that label. Menu path: Campaigns > (Performance Max campaign) > Asset groups > Listing groups > pencil icon next to All products > Subdivide by.
  10. Enter the target. In Standard Shopping, change the bid strategy to Target ROAS and type your floor or more. In Performance Max, the "Set a target return on ad spend" box can arrive ticked with Google's suggestion, so replace it with your number. Menu path for Standard Shopping: Campaigns > (campaign) > Settings > Bidding > Change bid strategy > Target ROAS > Save.
  11. Judge it after about two weeks. Google suggests giving the strategy 15 days to run before you evaluate it, and reviewing weekly rather than daily. Compare the Avg. Target ROAS column with the actual Conv. value/cost. Menu path: Campaigns page > Columns > Performance > Avg. Target ROAS.

A worked example

Start with one store's Break-even sheet: at a 40% margin, break-even ROAS is 2.5x, because 1 divided by 0.40 is 2.5. That line covers product cost only, and the export holds no spend, so it is not a ROAS the store reached.

Now three invented bands, in round numbers. For illustration, say the margins after shipping and fees are 50%, 35% and 20%.

Band (invented)Margin after costsBreak-even ROASTarget ROAS to type
HighMargin50%2.0x200% or more
MidMargin35%about 2.9x286% or more
LowMargin20%5.0x500% or more

In this worked example, last month's Conv. value/cost for the single campaign was 3.2, or 320%. It clears the first two floors and misses the third. In this worked example, the LowMargin band gets its own campaign at 500%, or leaves Shopping until its costs improve. Google warns that a target set too high may limit your traffic, so in this worked example expect that campaign to spend little.

Now the August change. Say the MidMargin campaign had a 250% target and was limited by budget while it returned 320%. Since 17 August 2026, Google steers campaigns like that closer to the target you set. In this worked example, that pulls the campaign toward 250%, under its 286% floor, so raise the target first.

Last, the window. On one store's Journeys sheet, journeys with 2 to 3 touches took 12.5 days to buy. Inside Google's default 30-day window, a Shopping click that opened such a journey still gets the sale. Cut the window to 7 days and, in this worked example, that click may no longer count. The campaign's ROAS would then fall for reasons that have nothing to do with the ads.

What should I check when the numbers look wrong?

  • Target ROAS is not on offer. Shopping needs at least 15 conversions per Merchant Center ID in the last 30 days first. Until then, Maximize clicks or Manual CPC builds the history.
  • Clicks fell after the switch. Google says Target ROAS might reduce your clicks, because it lowers bids on clicks that miss the target. That is the strategy working, not breaking.
  • The campaign barely spends. The target sits above what the auction will sell you right now. Lower it toward the floor, never through it.
  • Products show as Excluded. They sit in no active product group. Subdivide All products again, or add a group for them.
  • The new labels are missing. New or edited custom labels can take 24 to 48 hours to appear in Google Ads. Wait, then check that the attribute rule was applied.
  • ROAS looks better than your bank balance. Google's list of the events the Shopify app sends contains no refund event. Nothing in that list tells Google about a return, so build your refund rate into the margin instead.
  • You want profit, not revenue, in the report. Conversions with cart data, plus the cost_of_goods_sold attribute in Merchant Center, give Google Ads gross profit metrics. Google says the cost you share is for reporting and does not need to be exact.

What to do this week

  1. Cost your ten best sellers. In Shopify, open Products, then each best seller, and fill in Cost per item in the Price section. Pass: the Profit Margin reports show a gross margin for them from today on. Fail: they stay blank, which means the cost did not save.
  2. Add one margin label. In Merchant Center, go to Data sources, open your product source and add an attribute rule that sets a custom label to LowMargin or HighMargin. Pass: within two days the label appears when you subdivide product groups in Google Ads. Fail: it does not, so check that the rule was applied and the source reprocessed.
  3. Give one band its own target. Start with the highest-margin band, in its own campaign, at its floor or above. Pass: after about two weeks the actual ROAS sits near the target and the campaign still spends. Fail: spend dries up, so the auction cannot sell that band at a profit right now.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: Profit reports (Shopify Help Center); Shopify event parameters (Google for Developers); Use custom labels for Shopping ads (Google Ads Help); Set up your attribute rules (Google Merchant Center Help); About conversion windows (Google Ads Help); About Target ROAS bidding (Google Ads Help); Set up Target ROAS bidding for Shopping campaigns (Google Ads Help); Tips on measuring Smart Bidding performance (Google Ads Help); Monitor and optimize your Shopping campaigns (Google Ads Help); Manage a Shopping campaign with product groups (Google Ads Help); Manage a Performance Max campaign with listing groups (Google Ads Help); Step 2: Set your bidding preferences (Google Ads Help); Changes to target based bid strategies (Google Ads Help); About conversions with cart data (Google Ads Help); Cost of goods sold [cost_of_goods_sold] (Google Merchant Center Help)

Frequently asked questions

  • How many conversions does Google Shopping need for Target ROAS?
    Google's help asks for at least 15 conversions per Merchant Center ID in the last 30 days. Below that, Google suggests Maximize clicks or Manual CPC to build conversion data first, so keep your floor on paper until the history is there.
  • Can I set a different Target ROAS for each product group?
    Not per product group. Google allows separate ad group targets but says they can restrict Smart Bidding. The cleaner route is a margin label in Merchant Center and one campaign per label, each with its own target.
  • Should I lower my Shopping Target ROAS for Black Friday?
    Toward your floor, never below it. Google suggests reducing the target when bids rise in a sales period, to keep volume. Discounts thin your margin first, so recheck the floor for discounted products before you touch the target.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.