Here’s what you need to look at to be confident you are optimising your marketing spend on Google Ads:

  1. Set your Target ROAS to optimise lifetime CM3.
  2. Weekly campaign trends – see the impact of changes to Target ROAS and make sure you don’t run out of budget.
  3. Look for ad groups that have very different ROAS within a campaign – turn off or swap out.
  4. Look for listing groups (in PMax campaigns) that have very different ROAS.
  5. Review search terms and keywords – turn off or isolate keywords with low ROAS.
  6. Check your Performance Max Assets are performing.
  7. Test a max. CPC.


1. Find the Target ROAS that drives the most lifetime CM3 for each campaign (or portfolio of campaigns)

You want to set each campaign’s Target ROAS such that it drives the most lifetime CM3.

There are two ways to work out your most efficient Target ROAS:


If you are running experiments then you can directly compare the lifetime CM3 of the original campaign with the experiment.

If the Experiment (with say a higher Target ROAS) delivers the most lifetime CM3 then move both the Experiment and Original campaign Target ROAS higher and repeat.

Campaign Target ROAS simulator

You can use the Campaign Target ROAS simulator and calculate the lifetime CM3 for each scenario. Then change your campaign’s Target ROAS to the scenario that is delivering the highest lifetime CM3.

Note, if you need to make optimisations to the campaign, limit bid changes to only +/- 10% of the current Target ROAS (e.g. 500% to 550%) and wait a week between changes. Small, infrequent target CPA/ROAS bid changes aren’t likely to cause a noticeable problem. If you have very high conversion volume in an ad group (100+ conversions per day) you can make more frequent changes.


Example Campaign Target ROAS simulator report using mapflo and Looker Studio

Below is a weekly report that combines data from Google Ads’ Campaign Target ROAS simulator with revenue data from GA4 and margin data from an e-commerce platform.

In this example, the campaign has a current Target ROAS of 350%. The simulator would suggest that moving to a Target ROAS of 400% would deliver more in-order CM3 (£6,837 vs £5,619) and lifetime CM3 (£19,207 vs £18,338).


We’ve populated this report by cutting and pasting the Campaign Target ROAS simulator values into a Google Sheet and then used mapflo to combine with revenue data from GA4 and margin data from the e-commerce platform. The outputs from mapflo (combined GA4 and e-commerce data) are then pushed back to Google Sheets. The report is then created in Looker Studio with the Google Sheets sheet as the data source.

How do you map conversion value and CM3 to a campaign?

To calculate the CM3 generated from a campaign we need to know how many orders that campaign delivered. There are different ways to attribute an order to a campaign. Three options are:

Option 1: Google Ads data

Google Ads attributes any conversion to Google Ads if the user had any interaction with a Google Ad in their user journey.

You can set the attribution to be ‘last (paid) click’ in which case the most recent paid click before purchase will get all the credit, or set it to data-driven (recommended) in which case the credit for the conversion will be distributed across any campaign that was part of the user journey.

Option 2: Last (non-direct) click from your order data (either via GA or your own tracking system)

The frequently used ‘last (non-direct) click’ attribution model will attribute a conversion to the click that led to the conversion (unless the click was direct in which case the conversion is attributed to the most recent previous click that was not direct).

This has the helpful benefit of being able to attribute a single source to each order (from which you can then work out CM2 for a campaign as you have all COGS data for those orders).

Option 3: Use GA4 data-driven attribution

This uses Google machine learning to give credit to a conversion pro-rata to the contribution Google thinks each step in the customer journey made towards making that conversion happen. This should be the best attribution you can get.


What’s the best option?

There can be substantial differences between these attribution models. Google Ads over-values its contribution, so you are likely to see a much higher proportion of the conv. value attributed to Google Ads using the Google Ads attribution model than looking at ‘last (non-direct) click’.

The last (non-direct) click is not perfect either as it over-values campaigns and channels (such as an own-brand campaign) that are at the bottom of the purchase funnel (but at least does not give preferential treatment to Google Ads).

We think the best option is to map your campaign costs to Google Analytics 4 (GA4) conversion values. Google uses sophisticated computer modelling to attribute conversions to steps in a customer journey that correlate most significantly to conversion. You can also link GA to Google Ads and have GA4 conversions pulled into Google Ads and have Google Ads optimise on GA4 conversions.

To find your optimum Target ROAS:

  1. Map your Google Ads cost to Google Analytics (GA4) attributed conversions to get the cost and revenue generated by each campaign.
  2. Calculate the CM3 of each campaign by either applying an estimated CM2% or preferably by looking at last-click order data to see the actual CM2% of orders by campaign and apply that CM2% to the revenue from step 1.
  3. To Calculate lifetime CM3 you need to estimate the number of repeat orders a new customer is likely to make over a two or three-year period and estimate the proportion of those repeat orders that will be paid. [You can use mapflo to help do this: look at all orders from a historic month and see how many subsequent orders new customers in that month have placed over the first two years of their lifetime. You can also see how many repeat orders are paid – read more about calculating lifetime CM3]
  4. Apply calculated revenue, CM3 and lifetime CM3 to the experiments to see which campaign is driving the most lifetime CM3 or copy and paste data from the Campaign Target ROAS simulator and pro-rata GA4 revenue to Google’s ROAS simulations.

mapflo is a great way to join together Google Ads, GA4 and your own order data to find this optimal Target ROAS.

Actions from this report:

Adjust the Target ROAS on your campaigns or portfolios to get optimal CM3.


2. Weekly key metrics tracking report by campaign (check not running out of budget)

If you are making changes to your campaigns’ Target ROAS then this report shows how the impressions, clicks, CPC etc. change week on week.


You can also look across Campaigns – this is helpful to check you are not running out of budget and to see how much headroom there is for the keywords in that campaign.

Note: Campaigns should have different ROASs if the lifetime value of customers acquired is different by campaign.


Actions from this report:

Increase your budget if the ‘search lost IS (budget)’ is >0. If your Target ROAS is delivering profitable conversions then you should not run out of money unless cash is constrained.

The search lost IS (rank) metric gives you insight into how much more volume there is in that campaign.

The other metrics will let you see the impact of either changing Target ROAS or other changes to the campaign.


3. Look for ad groups that have very different ROAS within a campaign

We want to construct campaigns such that the ad groups within them have similar ROAS and the CM2% and lifetime CM2 of each ad group is similar too (i.e. the products sold have similar margin structure and customer loyalty).

In the dummy data example below the two ad groups driving the most conv. value are achieving almost 1,000% ROAS.

These two high ROAS ad groups are giving Google the leeway to bid on some very poor-performing ad groups. Looking at the Cuater ad group we see the marketing spend is broadly the same as the conv. value – once other costs (such as COGS) have been applied then this ad group is losing money and the campaign would generate more CM3 and lifetime CM3 with that ad group turned off (or moved to a different campaign with a lower Target ROAS).



This ad groups template uses only Google Ads data and can be plugged into your Google Ads and populated straight away.

Actions from this report:

  • Identify poor and/or high-performing ad groups and move into their own campaign.
  • If you have low conversion volume or want to keep the number of campaigns down then it’s better to have ad groups with similar ROAS within a campaign than ad groups that are a similar category/product type.
  • You can also group campaigns that have similar ROAS together and manage them within a portfolio. You can’t run experiments at the portfolio level but you can use the Campaign Target ROAS simulator.
  • If certain ad groups are not performing well then it could be because the conversion rate is too low on those search terms – which might suggest that pricing is too high (or there is a site experience issue). So this report can also help identify where price and/or site changes are needed to improve conversion rate and make marketing more effective.

Read more about how Google bids, why keywords/ad groups in a campaign should have similar ROAS and how to structure campaigns.


4. Look for listing groups (in PMax campaigns) that have very different ROAS

We can apply a similar approach to listing groups in PMax campaigns as we have with ad groups in search campaigns – i.e. group together listing groups that have similar ROAS.

Listing groups are a way to group products. This could be by category/age group or whatever split is right for your business. We ideally want listing groups within a campaign to:

  • Contain products with similar CM2%.
  • Have similar ROAS

A simple approach would be to launch a PMax campaign with all products (with similar CM2%) in one campaign with the products set into listing groups by category or brand (or whatever the obvious segmentation is for your business).

After the campaign has run for a couple of weeks, see how different listing groups are performing and then move the lowest ROAS listing groups into their own campaign with a different ROAS Target.

A more advanced technique is to look at actual conversion rates of products on your site and turn off the products that have poor conversion (or try reducing the price of those products to increase conversion rate).

You can’t pull listing group data via Google Ads reports or Looker Studio – you can only view the data via the Google Ads interface. Select a PMax campaign then click on Listing group on the left-hand side grey vertical menu.


5. Review search terms and keywords

The ad group report will highlight ad groups that have low ROAS. An alternative to turning these ad groups off is to look at the search terms that are driving clicks (and cost) but not conversions. These poor-performing search terms can be added as negative keywords or put into their own campaign to see if they can drive profitable conversions.

You can pull the search term data via Looker Studio (Data Studio) and use mapflo to aggregate together similar terms to make the data easier to digest.

Make sure no brand terms are appearing in non-brand campaigns.


6. PMax: Asset Performance Rating and Listing Group Performance

If you are using Performance Max then check that your assets are performing well and sub out the ones that are not

Go to Asset Groups > View Details

The Performance column tells you how well each asset is performing.


7. Test a max. CPC

Once you have your core campaigns running at a steady Target ROAS then you can try adding a max. CPC (which can only be done by putting the campaign into a portfolio) to see if that improves performance. This would stop Google from bidding super-aggressively on the most valuable users (though you want to still be showing an ad for these best users).


>>> Read the next article: Dos and Don’t for Google Ads

>>> Back to main menu


The interactive video below highlights some of the analyses we cover:


Please be really careful making changes to your Google Ads account

  • Google doesn’t always respond how you (or we) think it will. The way we think about Google Ads may not be the best set-up for your account.
  • Only change one thing at a time.
  • If possible, always use an experiment to test a change – particularly for significant changes such as moving bidding strategy to Maximize conversion value (Target ROAS).
  • Protect your financial downside by testing with limited spend in the experiment/change. Note that moving to a smart bidding strategy requires a learning phase where Google may not be efficient.
  • Be careful if adding/removing primary conversion actions – changing what Google is converting to can radically change what and who Google targets and how much it’s willing to spend.
  • Remember, all changes to your account are at your own risk. Mapflo shall not be liable for any damages; losses; lost revenue or lost profit.


Glossary of Terms

AOV = Average Order Value

CM1 = Contribution Margin 1 = revenue minus COGS (cost of goods sold) in an order.

CM2 = Contribution Margin 2 = margin on an order after all costs directly attributable to that order such as COGS, shipping, payment fees, customer service etc. (except for marketing).

CM3 = Contribution Margin 3 = CM2 less marketing spend. An ‘Estimated CM3’ value uses an assumed CM2 %.

CPA = Cost Per Action. In this report taken to mean cost per conversion or cost per order.

Keywords = words or phrases (assigned to an ad group) that match a user’s search term and trigger Google to bid to show an ad.

Lifetime CM3 = CM3 from all orders (or subscription payments) for a customer.

Profit = CM3 less all fixed overheads (such as salaries and office rent). Hence Optimising CM3 also optimises profit at the same cost base

ROAS = ‘Return On Ad Spend’ = conversion value divided by cost. A ROAS of 400% means you get four pounds of revenue back for every pound of ad spend.

Search term = the word or phrase that a user searches for on Google.