SEM PPC Optimization: How to Maximize the Revenue at a Targeted ROI

The Wow-Score shows how engaging a blog post is. It is calculated based on the correlation between users’ active reading time, their scrolling speed and the article’s length.
Learn more

SEM PPC Optimization: How to Maximize the Revenue at a Targeted ROI

Witold Wrodarczyk
SEM PPC Optimization: How to Maximize the Revenue at a Targeted ROI

By using profit-driven optimization techniques, advertisers can maximize their profits. The point at which the profit is highest is where the current ROI is equal to 1/E, where E is the current price elasticity (see the article: How to Drive Profit with PPC Campaigns). Therefore, the target ROI of the campaign cannot simply be an arbitrary decision of company management. It solely depends on the shape of the curve of the price elasticity of clicks.

This model, however, cannot always be directly applied in practice. For example, imagine an advertiser, say, a startup company, which wants to maximize its growth. In this scenario, profit is not their immediate priority. However, they don’t have the capital to invest long term so they can finance advertisements only from their current profit. Their goal is to maximize revenue where the short term ROI=0.

Classic Optimization at Zero ROI

The classic approach to optimization at ROI=0 is simple. For all keywords – if the keyword’s short term ROI is positive – the bids are raised in order to increase revenue. If the keyword’s short term ROI is negative, the bids are reduced in order to increase profitability until ROI is equal to zero. If this optimization works as it should, then all keywords perform at ROI=0. Of course, the total ROI will also in this case be equal to zero.

This is how we optimize, isn’t it? We move our budgets from underperforming campaigns to more efficient ones. 

But does this practice really maximize income? The principles of profit-driven optimization say that using the same ROI for keywords with different price elasticity is a mistake because it ignores the opportunity of potential trade-offs between keywords if the keywords have different price elasticity.

What if we increase bids for keywords with higher elasticity whilst decreasing keyword bids when the keyword’s elasticity is lower? Thus, we may increase the volume of clicks and conversions and at the same time spend less money (see the article: Profit Driven PPC Management in Practice).

So, how can we use this approach if for some reason the total ROI target of the campaign is fixed, as in the example of the startup company described above where the fixed target ROI was zero?

Fixed ROI model

If we optimize the account in the classic way, all our keywords perform at a certain ROI. Therefore, for each keyword the click value is equal to the cost of click multiplied by (ROI+1):

– where V is the value of the click (value of conversion multiplied by the conversion rate).

To simplify the calculations imagine that the entire account consists of only two keywords, keyword 1 and keyword 2. The campaign is optimized in the classic manner and both keywords perform at target ROI. The CPC of the keywords is increased or decreased until:

However, this is not the only combination of CPC of the two keywords, where the total ROI is equal to target ROI.

Say we modify the target CPC of both keywords. Changing CPC changes also the number of clicks (Clk), as the price elasticity is usually not zero. After changes: 


The target ROI is fixed. Therefore, after the changes the average ROI shall remain unchanged i.e. the total value of clicks is equal to the cost multiplied by (ROI+1):


By definition of price elasticity (E):


The growth (G) of the total conversion value after the change is:


It’s a system of equations, and we can calculate the solution:


So, we know what the income growth (G) is if we change the target CPC. We are looking for an answer to the following question: What is the change of cost per click (ΔCPC) that will maximize the total growth (without changing the total ROI). 

At the maximum growth (G):


The spend is the number of clicks multiplied by the cost of the click:


The solution to this system of equations is that the CPC adjustment for the maximum income growth is:


The solution for keyword 2 is symmetrical:


The detailed calculations are available in the article Fixed ROI Profit-Driven Optimization.

The General Formula of the Elasticity Adjustment

At the beginning, we assumed that there are only two keywords in the account. However, the calculations of  the elasticity adjustment will be the same if keyword 1 is replaced by any keyword (i) in the account and keyword 2 is replaced by the total of all (a) keywords in the account excluding the keyword i (a-i):


The calculation of spend a-i is straightforward, as the total spend of Sa is equal to the sum of the spend of all keywords, and:


How to measure the total elasticity? By definition:


If in all campaigns the relative change of CPC is the same (the same % change):


Then the total elasticity should be calculated as:


Therefore the calculation of the elasticity a-i is:


Practical Application

The application of this model is simple. The goal of classic optimization is that all keywords have the same ROI and the target CPC of the keyword is:


In order to maximize the revenue, the target CPC being result of the classic optimisation should be adjusted for all keywords using the elasticity adjustment. If the adjustment for keyword 1 is 0.2, it means that the target CPC for the keyword 1 should be increased by 20%. If the adjustment for the keyword 2 is -0.35, it means that the target CPC for the keyword 2 should be decreased by 35%:


The model assumes that the elasticity does not change locally. That means that within the CPC changes the elasticity is the same. Of course it is not true. However, if the CPC changes are not big, we can expect that the change in elasticity won’t be significant.

Therefore, in practical applications, it is recommended to avoid big CPC changes and not to make bigger adjustments than say 10% or 20%, depending on our tolerance of the volatility of ROI. The optimization is a process, and the cap will only make it little slower. Despite the cap, every following adjustment will be more and more precise.

Furthermore, we will estimate the elasticity using historical data, and the real elasticity may be different. Therefore we should also monitor the total ROI and, if necessary, make additional adjustments to the target CPC.

Finally, it is important to stress that the CPC and values are not CPC bids, but the actual average CPC paid for the clicks. The bid is usually higher. The difference between the bid (max CPC) and the actual CPC depends on the structure of the auction. It may be different for different keywords and may change in time.


The classic optimization (using the same ROI target for all keywords in the account) is not the most optimal. If only there are differences in price elasticity between keywords, there are potential trade-offs to make without changing the total ROI. We should adjust the target CPC: increase where the elasticity is higher and decrease if the elasticity is lower. The total ROI will be the same, but the volume of clicks (and conversions) will change. 

The red curve in the illustration below represents the profit for the infinite number of CPC adjustments where the total ROI is equal to the target ROI. The formula described in this article helps to find the target CPC adjustment where the total volume of clicks and the total profit will be highest:


Have you tried these different strategies? Please leave your thoughts below. 

Witold Wrodarczyk is a certified AdWords and Google Analytics specialist, and a chartered financial analyst. Founder and CEO of Adequate Interactive Boutique.
Share this post


2000 symbols remain
Is it possible to simplify further the final formula for the adjustment if we assume that Clk_a>>Clk_i (=> S_a >> S_i)?
Witold Wrodarczyk
It's a good point. If S_a >> S_i =>

ΔCPC_i / CPC_i ≈ (1 / E_a – 1 / E_i) / 2

It actually simplifies it a lot. Thank you for this idea!
Daniël Markus
If you want to optimize for volume instead of profit, is it then sufficient to use ROAS instead of ROI? Would the math stay the same or would it need adjustments?
Witold Wrodarczyk
Daniël Markus
ROAS (Return On Ad Spend) and ROI (Return on Investment) are basically the same measures, they compare Return (Income) and Cost (Investment in ads). The convention used in practice defines ROAS = ROI + 1, i.e. if you spend $100 and your income is $150, your ROAS is 1.5 and your ROI is 50%.

The concept described in this article shows how to maximise VOLUME of conversions for a portfolio of keywords with the desired total ROI/ROAS target (some keywords will have higher ROAS, some lower). However, there is a certain level of ROI that guarantees highest profit. It's explained in the article: https://www.semrush.com/blog/think-with-google-how-to-drive-profit-with-ppc-campaigns/
Have a Suggestion?