- Tracking the profit from each transaction enables you to set more accurate bids.
- Setting ROAS targets based on an average of your margin per product leaves money on the table.
- Profit tracking is the natural progression of revenue and ROAS tracking.
- As much as 60% of the products bought are not equivalent to or the same as what people clicked on in Google Shopping, making margin labels useless.
- When tracking profit instead of revenue/ROAS, you can stop the endless game of guessing whether X is a good ROAS if you can increase profitable revenue by lowering ROAS or if you can increase profits by lowering revenue and increasing ROAS.
In early 2020, I first wrote this article, and I predicted that tracking revenue instead of profit would one day be deemed wildly insufficient. That prediction didn’t quite hit the mark, but today, it’s not surprising to open Google Ads accounts with profit tracking.
I still believe that for the right case, profit tracking is necessary to scale beyond the immediate plateau, but not because it shows you whether you make a profit from advertising. If anything has changed in tracking since 2020, it’s that most people have opened their eyes to how flawed most tracking metrics are.
One of these flaws is the misbelief that users buy the same products they click on in Google Shopping. As much as 60% of users buy a different product than the one they clicked on, and through our studies, as much as 40% buy a completely different category.
This is wild to me, and it ruins any idea of using margins or average return on ad spend (ROAS) targets to run an account.
This, and much more, is what we will dive into in today’s article.
Good to Know If You Are New to Profit Tracking
When I refer to profit tracking, I’m not suggesting that you get a report on how much each campaign or marketing channel contributed to the bottom line.
Specifically, this means that the profit tracked from each transaction is the value you send to Google Ads, Facebook Ads, Google Analytics, etc., not revenue.
Tracking your profits allows you to bid the exact amount you can afford, so you can maximize profits in real time instead of defaulting to an average ROAS metric.
A Couple of New Terms
Seeing this is a rather new field for most people, I want to explain some of the terms we’ll use in this post.
Profit: This is the profit derived from each transaction. It is calculated using discounts, cost of goods sold, shipping, taxes, transaction fees, etc., but doesn’t include overhead, warehouse costs, or the cost of the ad spend (although it could).
Profit on ad spend (POAS): This is similar to ROAS, but instead of revenue, we use profit.
Why Tracking Profit Beats Tracking Revenue
The most common way to establish a ROAS target is by using the following method:
- Sit-stand desks: Low margin, so the optimal ROAS is 500%.
- Office chairs: High margin, so the optimal ROAS is 250%.
Let’s set the target to an average of 375% ROAS and see where it goes.
Yes, I’m simplifying and exaggerating, but bear with me here.
In the end, this means that by pushing a 375% ROAS, you’re potentially leaving money on the table, as you are not pushing the office chair market as hard as you could.
Furthermore, you’re potentially losing money on selling sit-stand desks.
However, it averages out, right?
And that’s the problem: It doesn’t always average out, and it shouldn’t. You have the option to do something smarter, so do it.
Margin Custom Labels Are Not Good Enough
One solution that has gained much traction in Google Shopping over the last couple of years is using margins in a custom_label. This allows you to set lower ROAS targets for products with a high margin and vice versa.
The challenge with margins is that they only tell you the margin of the product that users click on in Google Shopping, not what they end up buying.
Agencies peddle bad advice, and most advertisers don’t understand this dynamic enough to push back.
Surprisingly, many users do not buy the product they clicked on in Google Shopping. In our studies, this figure was as high as 60%.
Another scenario occurs when users buy multiple products with different margins in a single transaction. Your margin data can’t track this, and your bidding is therefore inaccurate.
This problem becomes exponentially bigger with any increase in the number of products you have.
Here’s an example:
The advertised product is a kids’ smartwatch in blue.
Clicks on the product in Google Shopping produced 91 transactions with 101 items. Already, we can tell that 10% of transactions include more than one product.
Looking at the products sold, we get the following:
Out of 91 transactions that came after clicks on the blue kids’ smartwatch, only 45% of users bought the actual product:
- 45% bought the actual product.
- 13% bought the watch in another color.
- 11% bought in a similar product.
- 30% bought in a different category.
The products from different categories varied tremendously.
Purchases involved everything from wifi cameras to USB chargers to a DAB+ boombox. Somehow, someone searched for a kids’ smartwatch and bought a boombox.
This is just one example from data gathered over a 14-day period from one SKU in a store with +20,000 SKUs. Imagine the impact of all products over the course of a year.
Find Your Own Data
A way to find your own data is by checking the Google Analytics product performance report vs. the Google Ads report. Compare the SKU numbers with the item ID in Google Shopping to get an idea of how many sales are generated directly from Google Shopping for a product after it has been clicked on.
Set up a segment that shows only the clicks from one of your top 10 products in Google Shopping:
In the second step, you insert the product ID from Google Shopping. I know it says “Keyword,” but that’s how Google Analytics categorizes product groups in Google Shopping.
Ultimately, applying your margins using a custom_label is better than not doing anything. But when you have the option to track profit directly, then it is definitely the most preferable method by far, as evidenced by the flawed assumption that users buy what they click.
How Profit Tracking Works in Practice
Our favorite partner is ProfitMetrics.io.
In short, it works by making a profit calculation for each transaction. Instead of sending the full conversion value (revenue) to Google Ads (or Analytics or Facebook Ads), ProfitMetrics steps in as the middle man, sending only the profit value to Google Ads.
To do this, you need to include the cost of goods sold in your feed for ProfitMetrics. Other than that, the setup is fairly simple, and ProfitMetrics will complete all steps automatically once you have the cost of goods sold.
With ProfitMetrics, you also get full server-side tracking, enhanced conversion setup, and offline conversion import. Honestly, for some of our advertisers who don’t have a dedicated tracking team, we advise using ProfitMetrics just to obtain better initial tracking abilities.
This is not a minor “add-on” because it solves a lot of the tracking issues that most advertisers experience at no added cost.
Case: 11% revenue increase, 84% profit increase. Wait, what?
For a case we’ve been running for a long time, we agreed to try to push for a higher profit level. We were already happy with the improvements made over our time working together, but the question remained:
If we worked at a 2x POAS target instead of 1.5x POAS, how much would our profit volume increase?
So we started pushing the bidding toward a higher POAS, knowing all too well that our profit volume might decrease in the experiment.
Profits went up—big time. We increased profits by 84% compared to the year before, but the big surprise was when we saw that there was only an 11% increase in revenue.
Compared to an 84% increase in profits, the 11% increase in revenue was abysmal.
How to Implement Profit Tracking in Google Ads
First, you need to get the profit from each transaction imported into Google Ads using simple software like ProfitMetrics.io, as explained above. This part is simple.
Then, you need to make the switch from using revenue to profit as your primary conversion action in Google Ads. This part is a bit trickier, but after a lot of trial and error, we have found a simple, bulletproof methodology.
Importing Profit to Google Ads
You’re changing your entire data foundation. That’s kind of a big deal (but worth it). Any automated bidding that you have running will have to be paused. (I’ll show you how to mitigate risk.)
So, it’s key that you’re doing a slow transition to avoid shocking the system.
The way to do this is as follows:
- Set up a ProfitMetrics account on ProfitMetrics.io.
- Import the profit conversion action to Google Ads.
- Set up custom columns to show profit and POAS.
- Set up custom columns to show revenue and ROAS.
Let’s go through these steps one by one.
- Set up a ProfitMetrics account on ProfitMetrics.io.
- Import the profit conversion action to Google Ads.
Go to Tools and Settings → Measurement → Conversions.
Set the conversion to be a secondary conversion action.
- Set up a custom column to show your profit and POAS.
The metric “All Conversion Value” must be selected or else it will not work. Then, choose the conversion action that you created for the formula:
- Set up custom columns to show revenue and ROAS.
Now, you should repeat the same steps for revenue and ROAS. The reason is that once you change your primary conversion action in the account, then you can’t really use historical data to compare year-over-year.
You still want to track your revenue, and by setting up custom columns for revenue and ROAS, you can do exactly that plus comparing year-over-year performance.
Switch Smart Bidding to Bid Based on Profit
You can’t just change over from revenue to profit tracking. This would wreak havoc on the Smart Bidding algorithm and substantially decrease your bids.
However, we have a proven solution.
The first thing you need to do after setting up the profit conversion action is to let it run for 30 days as a secondary conversion action.
The next steps are as follows:
- Understand what certain ROAS levels mean in terms of profit/POAS.
- When ready, replace your revenue with your profit conversion.
Again, let’s walk through each step below.
- Understand what your current performance equals in POAS.
According to this, a POAS target of 170% seems to be a good start to setting up a new Smart Bidding portfolio based on the current performance.
NB: The data above are from a couple of days. You should use a full 28-day period and any conversion lag for your target.
- When ready, replace your revenue with your profit conversion action.
For this part, you simply go back to your conversion settings and set your profit conversion action to your primary action.
Remember to change your other conversion action (the one for revenue) to Secondary, and verify that you have set the correct settings in the overview:
Once you’ve changed your conversion action to profit, you need to immediately make changes to your Smart Bidding setup.
However, that requires a bit of finesse, so let’s go through our method, which we’ve tweaked over more than 30 implementations.
Create a New Portfolio Bid Strategy for Smart Bidding
Once you know what you should set your ROAS (POAS) target to, the next step is to set up a new Portfolio Bid Strategy.
This is key.
If you do not set up a new Portfolio Bid Strategy, Smart Bidding will use historical data from the time you tracked revenue.
By setting up a new Portfolio Bid Strategy, Smart Bidding will use only the historical data from the profit-based conversion action—not the revenue conversion action.
That’s the key, and Smart Bidding can use the historical data when you start using profit as your primary conversion action. That way, you don’t have to start from scratch when making the shift, which is something most advertisers are scared to do.
Big Account and Want to Test?
You can do the same thing with just a single campaign by changing the conversion action at the campaign level and creating a portfolio bid strategy only for that campaign.
This way, you can get a sense of what happens when you switch the conversion action.
The Alternative: Supplement Revenue with Profit Data
Over the last three years, we’ve shifted primarily to tracking profit in many accounts.
However, around 2021, we started noticing a pattern. Accounts would perform worse after shifting to profit tracking.
SavvyRevenue started developing a theory: Smart Bidding has a harder time working with profit because less data is obtained with profit tracking. Instead of $100 in revenue, $10 in profit is obtained, and as mentioned, the POAS levels are much lower than ROAS levels—from maybe 500% ROAS to 120% POAS.
Going from a 120% POAS to a 130% POAS target in Smart Bidding is a very small change, which sometimes doesn’t give the needed result.
Now, this is solely an observation we’ve made, and Google are vehemently stating that it is not a problem for Smart Bidding to work with POAS levels.
But we found a few scenarios where you should consider waiting to replace the revenue conversion action with the profit conversion action, which I will go through below.
Can Smart Bidding Function with Profit Bidding?
The short answer is yes. It works perfectly fine in 80% of the accounts we run with profit tracking. However, we have seen some weird coincidences with growth in an account stagnating or outright dropping when shifting Smart Bidding accounts to profit tracking.
In almost all cases, we saw performance slowly increase again after we changed back to revenue as our primary conversion value.
The reason for this, I believe, is not universal but caused by a few rare occurrences:
- Advertisers start reacting differently to “low ROAS days” now that they can see they are losing money, and they thus try to micromanage daily performance—which is not advised.
- Lots of heavy promotions can take your profits near zero. This means the value Smart Bidding receives might go from $100 of profit per transaction to $5 per transaction.
- In heavily discounted markets, this happens routinely and results in very inconsistent data for Smart Bidding.
- There is no meaningful difference in your margins, so changing to profit bidding doesn’t produce a meaningful change.
However, we are unsure whether it might be the clients who become less patient. A low ROAS day is just that—a low ROAS day. When you track profits, a low ROAS day is sometimes shown as a loss on the day—that can be tough to swallow.
Google’s Smart Bidding team is confident that Smart Bidding can work with profit as a value and that Smart Bidding can differentiate between a 120% vs. 140% ROAS target, just as well as between a 400% vs. 500% target.
So, to answer my own question: Yes, it can definitely work. Just note that if performance starts going in the wrong direction, then it might be a good idea to switch back to revenue as your primary conversion value.
Don’t Worry about Implementation, Just Get Started
I always recommend just getting started with any of the necessary steps. Implementing profit tracking is a big deal if you try to do everything at once. However, it can all be boiled down into a couple of key steps:
- Set up ProfitMetrics: This allows you to understand your profit levels as you increase or decrease your ROAS targets. Just this should be enough motivation.
- Import profit to Google Ads: Now you can see the profit numbers live in your account.
- Last step: Start bidding based on profit instead of revenue.
It all starts with step one, which is very harmless, and it doesn’t require you to make any changes to what you do today.
It’s also not “yet another metric” to track. It’s THE METRIC to track for Google Ads, and combining this metric with a blended ROAS (or blended POAS) approach can be powerful for any eCommerce business.
So, I challenge you to get started.