Skip to content

How to check a 2x ROAS ad before scaling, step by step

If an ad reports 2x, run five checks before adding budget. Check the product's margin after costs, your break-even line and the ROAS on clicks alone. Then confirm GA4 sees the ad and take one modest budget step. Scale further only if the ROAS on clicks clears your line.

By , Founder & CEOUpdated 8 min read

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

If an ad shows 2x, run five checks before you add budget. Find the product's margin after costs and turn it into a break-even line. Split the ROAS by click and view, confirm GA4 sees the ad, then raise the budget one step. Scale further only if the ROAS on clicks alone clears your line.

Ten steps, mostly in Shopify and Meta Ads Manager, with two stops in GA4. Each menu path below is taken from the platform's help pages as they read on 1 October 2026.

Step by step

  1. Find where the budget lives. On Meta you raise the budget above an ad, never the ad itself. It sits on the ad set, or on the campaign when Advantage+ campaign budget is on. Meta says to judge the second kind at campaign level. Menu path: Ads Manager > hover over the ad set or campaign > Edit.
  2. Read the product's margin. Gross profit by product shows each product's Gross margin: net sales minus cost, divided by net sales. It reflects discounts and refunds, and covers only items that had a Cost per item when they sold. Menu path: Shopify admin > Analytics > Reports > Category filter > Profit Margin > Gross profit by product.
  3. Take off what it leaves out. The report sets cost per item against net sales, so shipping, packing and card fees are missing. Take your own rates for those off the Gross margin. Menu path: none, use your shipping invoices and payment statements.
  4. Turn the margin into your line. Divide 1 by the margin that is left, written as a decimal. That is your break-even ROAS: above it each euro of ads earns, below it each euro costs you. The break-even ROAS calculator runs the same sum. Menu path: none, this step is arithmetic.
  5. Split the ROAS by click and view. Meta's click-through counts purchases up to 1 or 7 days after a link click. Its view-through counts them up to 1 day after an impression. Put 7-day click next to 1-day view to see how much of the ROAS stands on views alone. Menu path: Ads Manager > Columns: Performance > Compare attribution settings > pick the settings > All conversions > Apply.
  6. Check that GA4 sees the ad. In Traffic acquisition, set the table to Session source / medium and search for your Meta source. Paired with a social source, a paid medium is what GA4 files as Paid Social. If your ads carry utm_content=, add Session manual ad content to find this one ad. Menu path: GA4 > Reports > Acquisition > Traffic acquisition > dimension drop-down > Session source / medium.
  7. Find out how long your buyers take. The Key event attribution paths report shows Days to key event for each path. If many paths run longer than a week, the next step needs a longer wait before you judge it. Menu path: GA4 > Advertising > Key events > Key event attribution paths.
  8. Raise the budget one modest step. Meta's example: $100 to $101 is unlikely to restart learning, while $100 to $1000 may. A new budget takes about 15 minutes to apply. Menu path: Ads Manager > hover over the ad set or campaign > Edit > change the budget > Publish.
  9. Watch the Delivery column. Learning means the ad set is relearning after a significant edit. Creative limited and Creative fatigue mean people have seen the ad too often, and cost per result has climbed above your past ads. Menu path: Ads Manager > select the ad set > Delivery and Last significant edit columns, added through Columns if missing.
  10. Judge the extra, not the average. Purchase ROAS is purchase conversion value divided by amount spent. Divide the extra conversion value by the extra spend since the step, and compare that with your line. Menu path: Ads Manager > Columns > Purchases conversion value and Amount spent, for the weeks before and after.

A worked example

For illustration, take one invented ad set with one ad, selling one product.

CheckWhere it comes fromFor illustration
Purchase ROAS, 7-day click and 1-day viewAds Manager2.0
ROAS on 7-day click aloneCompare attribution settings1.6
Gross margin of the product in the adGross profit by product58%
Shipping, packing and card feesInvoices and statements8% of each sale
Margin that is left58% minus 8%50%
Break-even line1 divided by 0.502.0

In this worked example, the ad breaks even with views counted, because 2.0 times 0.50 is exactly 1. On clicks alone it reads 1.6, and 1.6 times 0.50 is 0.80, so each euro of ads loses 20 cents, for illustration. A fifth of the value stands on views, and views are where an ad can sit next to a sale without making it.

Margins move as well. One store's Break-even sheet holds the line for a 40% margin: 2.5x, because 1 divided by 0.40 is 2.5. If the product's margin slipped to 40% in a sale, the same 2.0 would lose 20 cents per euro even with views counted.

Timing matters too. In one store's export, journeys with 4 to 9 touches took 16.9 days to buy (Journeys sheet). If your paths look like that, a week after the budget step only shows you the quick buyers.

The verdict here is not to scale on this reading. Test the views with a holdout first, or win back margin. Then take one modest step and judge the extra after two full weeks.

What should I check when the numbers look wrong?

  • The 28-day click column looks thin. Meta says that view holds partial data until the campaign has been live for at least 28 days.
  • The ad set says Learning limited. Meta uses that status when an ad set lacks the results to exit learning. Its ROAS has not settled yet.
  • The new budget does not show. Meta says an updated budget takes about 15 minutes to apply. Unpausing straight after a change can deliver the old budget for 15 minutes.
  • Results fell right after the raise. A large change can restart learning, and performance in learning is less stable. Read the Last significant edit column before you blame the ad.
  • GA4 files Meta clicks as Organic Social. Its Paid Social rule wants a social source plus a paid medium, such as cpc. A value starting with paid works too. Fix utm_medium in the ad's URL parameters, under Tracking.
  • Gross profit by product leaves the product out. Shopify reports profit only for products that had a cost recorded when they sold. Add the Cost per item, then read the margin from that date on.
  • Advantage+ campaign budget spends unevenly. Meta says it may put most of the budget on one ad set. Judge that campaign's ROAS at campaign level.

What to do this week

  1. Compare attribution settings on your three biggest ad sets. Pass: each clears your line on 7-day click alone. Fail: one clears it only with views counted, so hold its budget until a holdout says the views are real.
  2. Tag your next new ad with its name. Under Tracking, fill the URL parameters field with utm_source, utm_medium and utm_campaign. Use a paid medium such as paid_social, and add utm_content=. Pass: a day later, GA4 shows the ad name under Session manual ad content. Fail: the row reads (not set), so check the parameters for a typo.
  3. Add the Last significant edit column. In Ads Manager, select the ad set, click Columns and add it to your view. Pass: you can see when each ad set last restarted learning. Fail: one restarted after your last budget change, so judge it again from that date.

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: Change your budget in Meta Ads Manager (Meta Business Help Center); About Advantage+ campaign budget (Meta Business Help Center); Profit reports (Shopify Help Center); About attribution models and attribution settings (Meta Business Help Center); Compare attribution settings in Meta Ads Manager (Meta Business Help Center); Traffic acquisition report (Analytics Help); Traffic-source dimensions, manual tagging, and auto-tagging (Analytics Help); Specifications for dynamic URL parameters in Meta Ads Manager (Meta Business Help Center); Add URL parameters to your Meta ads in Meta Ads Manager (Meta Business Help Center); Key events attribution paths report (Analytics Help); Significant edits and learning phase (Meta Business Help Center); About the learning phase (Meta Business Help Center); About creative fatigue recommendations in Meta Ads Manager (Meta Business Help Center); Purchase ROAS (return on ad spend) (Meta Business Help Center); Default channel group (Analytics Help); URL builders: Collect campaign data with custom URLs (Analytics Help).

Frequently asked questions

  • Can I raise a Meta budget without restarting learning?
    Usually, if the step is small. Meta says a budget change may or may not restart learning, depending on its size. Adding a new ad to the ad set always counts as a significant edit, so leave the creative alone while you scale.
  • What margin does a 2x ROAS need to break even?
    Half. If you keep 50% of each sale after all costs, a 2x ROAS only breaks even, because 1 divided by 0.50 is 2. Count product cost, shipping, card fees and returns in those costs. Anything above half turns the ad's sales into profit.
  • Should I judge a scaled ad on clicks or on views?
    Start with 7-day click. A click at least shows the buyer chose to visit, while a view can sit next to a sale that was coming anyway. If the ad clears your line only once 1-day view is added, run a holdout before adding budget.

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.