Skip to content

How to split budget between Google and Meta, step by step

Usually, start by putting Google and Meta on the same footing: one break-even ROAS, both counting rules written down and brand search split out. Then compare them on GA4's ruler, check where each has room, and let a regional test settle the split.

By , Founder & CEOUpdated 9 min read

Usually, start by putting Google and Meta on the same footing: one break-even ROAS, both counting rules written down, and brand search split out. Then compare them on GA4's ruler, check where each has room to grow, and let a regional test settle the split. Move money in small steps.

Keep Shopify, Google Ads, Ads Manager and GA4 open side by side. Use the same three months in all four, so both platforms are judged on the same days. Change nothing in either account while you work through the steps.

Step by step

  1. Set the bar from your margin. Break-even ROAS is 1 divided by your gross margin, and Shopify's Gross profit by product report shows that margin. It only counts products with a cost per item, so fill in missing costs first. Path: Shopify admin > Analytics > Reports > Category filter > Profit Margin > Gross profit by product.
  2. Write down how Google counts. Open your purchase conversion action and note its click-through window and attribution model. Google's default click-through window is 30 days, and data-driven is the default model for most conversion actions. Path: Google Ads > Goals icon > Conversions > Summary > your purchase action > Edit settings.
  3. Write down how Meta counts. Add the Attribution setting column and note the setting of every ad set you will compare. Meta's Results page gives the default as 7-day click, 1-day view and 1-day engagement, so views usually sit in the count. Path: Ads Manager > Columns dropdown next to View Setup > Customize columns > Attribution setting > Apply.
  4. Separate Google brand search from the rest. Searches for your own name come from people who already know you, some of whom may have met you through Meta. Total cost and conversion value for brand searches, then for everything else. Path: Google Ads > Campaigns > Insights and reports > Search terms.
  5. Bring Meta's cost into GA4. Every Meta ad needs utm_source and utm_medium, with one medium for all paid Meta traffic. Then import Meta campaign data, which fills Ads cost, Ads clicks and Ads impressions. Allow up to 24 hours before the cost shows in reports. Path in Ads Manager: your ad > Tracking > URL parameters. Path in GA4: Admin > Data collection and modification > Data import > Create import source > Campaign data > Meta.
  6. Compare both on GA4's ruler. In All channels performance, read Ads cost and Return on ad spend for Paid Search, Paid Shopping and Paid Social. Google recommends data-driven as the reporting model here. GA4 credits Meta only for visits it can see, so a Meta ad that was only seen earns nothing in this report. Path: GA4 > Advertising > Planning > All channels.
  7. See who opens journeys and who closes them. In the paths report, compare where Paid Social and Paid Search sit among early, middle and late touchpoints. A platform that mostly opens journeys loses out in any last-click split. Path: GA4 > Advertising > Key events dropdown > Key event attribution paths.
  8. Check where Google has room. Add Search lost IS (budget) to your campaigns table. It is the share of time your Search ads were not shown for lack of budget. A high figure usually means the next euro buys more of the searches you already target. Path: Google Ads > Campaigns > columns icon > Competitive metrics > Search lost IS (budget) > Apply.
  9. Run a three-cell regional test. Split your regions into three groups with similar sales. Google goes dark in the first, Meta in the second, and both run as usual in the third. Google's geo guide wants pre-test data at least three times as long as the test. Path in Google Ads: Campaigns > Settings > Locations > Enter another location, then Location options > Presence. Path in Ads Manager: your ad set > Audience > Locations >... > Exclude cities. Path in Shopify: Analytics > Reports > Category filter > Sales > Total sales by billing location.
  10. Move money in small steps. Act on the result one platform at a time, and date every change. Google's geo guide says any budget change greater than 20% triggers a new learning period. Path in Google Ads: Campaigns > Budget column > pencil icon > Save. Path in Ads Manager: hover over the campaign or ad set > Edit > change the budget > Publish.

A worked example

For illustration, a store spends EUR 8,000 a month across the two platforms, with round, made-up numbers. For illustration, its margin is 40%, so break-even ROAS is 2.5x.

For illustration, one monthSpendClaimed valueClaimed ROAS
Google brand searchEUR 1,000EUR 9,0009.0x
Other Google campaignsEUR 4,000EUR 12,0003.0x
MetaEUR 3,000EUR 7,5002.5x

One store's Break-even sheet holds the same arithmetic: at a 40% margin, break-even ROAS is 2.5x, because 1 divided by 0.40 is 2.5.

For illustration, Google then claims 4.2x across its EUR 5,000, and Meta sits exactly on the bar. For illustration, a split by these numbers would pull money from Meta into Google, mostly into brand search.

For illustration, step 4 strips brand search out, and the rest of Google returns 3.0x, close to Meta's 2.5x. Step 7 shows Paid Social mostly early in journeys and Paid Search mostly late. That is the pattern a last-click split punishes.

For illustration, the three-cell test then runs for four weeks. For illustration, sales in the Meta-dark regions fall EUR 3,600 below the control trend, against EUR 1,200 of Meta spend saved: 3.0x. For illustration, sales in the Google-dark regions fall EUR 4,000 against EUR 2,000 saved: 2.0x. For illustration, Meta's extra sales clear the 2.5x bar and Google's do not, the reverse of what the dashboards said.

For illustration, the first move takes EUR 500 a month from the non-brand Google campaigns, a tenth of Google's spend, and gives it to Meta. The next test checks the move. Your own test could just as well point the other way.

One more check comes from the real export. On that store's Journeys sheet, journeys of 10 or more touches hold 3.0% of revenue and take 16.0 days to buy. If those days run from the first click, Google's default window still covers such buyers and Meta's click window does not. That is why steps 2 and 3 come before any comparison.

What to check when the report looks wrong

  • Paid Social shows revenue but no cost. The import's source and medium must match your Meta UTMs exactly. A connector cannot be edited later, so Google says to delete it and create a new one.
  • Meta traffic shows up as Direct or Organic Social. Some ads lack UTMs, or a redirect strips them. How to track Meta ads in GA4, step by step walks through the fix.
  • GA4 and Google Ads disagree about Google. That is expected, since Google says the two products attribute key events differently. How to reconcile Google Ads and GA4, step by step explains the gap.
  • The test regions drifted apart before the start. Regroup them on a longer pre-test period, or pick regions whose sales moved together.
  • Meta still reaches people in the dark regions. Meta notes that someone who lives in an included location may see your ad while visiting an excluded one. Leakage like that shrinks the gap the test can see.
  • The platforms together claim more than you sold. That is overlap, not growth. The over-reporting checker puts a size on it.

What to do this week

  1. Group your regions for the test. In Shopify, open Total sales by billing location for the last few months and sort regions into three groups with similar sales. Pass: three groups whose sales rose and fell together week by week. Fail: one region dwarfs the rest, so test country by country or fall back to a heavy-up in a few regions.
  2. Read Google's headroom on non-brand campaigns. Add Search lost IS (budget) to the campaigns table. Pass: you know which campaigns could take more money without new targeting. Fail: little is lost to budget anywhere, so extra Google money would have to buy new searches, not more of the same.
  3. Make one dated move under a fifth. Shift one small slice between the platforms, in one direction, and log the date. Pass: one change, below Google's learning-period line, written down. Fail: both platforms changed in the same week, so neither result can be read.

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); About conversion windows (Google Ads Help); About attribution models (Google Ads Help); About multiple attribution settings (Meta Business Help Center); Results (Meta Business Help Center); About the search terms report (Google Ads Help); Add URL parameters to your Meta ads in Meta Ads Manager (Meta Business Help Center); Connect Meta to Google Analytics (Google Analytics Help); All channels performance report (Google Analytics Help); Key events attribution paths report (Google Analytics Help); Get impression share data (Google Ads Help); Implement campaigns for geo experiments (Google Ads Help); Use location targeting (Meta Business Help Center); Sales reports (Shopify Help Center); Set and change an average daily budget for your campaign (Google Ads Help); Change your budget in Meta Ads Manager (Meta Business Help Center); Set up Conversion Lift based on geography (Google Ads Help).

Frequently asked questions

  • How long should a Google and Meta regional test run?
    Long enough to cover your buying cycle and the platforms' learning periods. Google's geo guide says a heavy-up test must include the typical 4-5 day learning period. It also wants pre-test data at least 3 times as long as the test. For example, a four-week test needs twelve weeks of clean history before it starts.
  • Do I need Google's Conversion Lift to test Google against Meta?
    No. Google says Conversion Lift isn't available for all Google Ads accounts, and it measures Google campaigns only. A three-cell test needs only location settings in both platforms and Shopify sales by region, which any Shopify store can pull.
  • Should brand search count toward Google's share of the budget?
    Keep it as its own line. Brand searches come from people who already know you, some sent by Meta, so their ROAS says little about what Google adds. Judge brand search with a pause test, and set non-brand Google against Meta.

Go deeper: Incrementality testing, 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.