PPC Category,

What Is a Good ROAS and How to Measure True Return on Ad Spend (ROAS) for SaaS


Reading time:

If you are a software-as-a-service (SaaS) company and are trying to track your Customer Acquisition Cost against your Customer Lifetime Value, you may face difficulties attributing these metrics to your marketing channels. We’ll show you how we navigate our way through this issue for many of our clients.

But the question often is: “What makes a good ROAS?” Simply put, traditional metrics may not capture the whole story. It is a complicated dance of balancing acquisition costs with lifetime value. We’ll explore how to discern the real value behind your advertising dollars.

What Is ROAS in Marketing?

ROAS stands for Return on Ad Spend and it answers the question: for every dollar spent on advertising, how much revenue did we generate in return?

Subscription-based models, with their recurring revenue and differing customer lifetime values, add layers of complexity to the measuring of ROAS. Yet, ROAS offers a straightforward glimpse into the efficiency and effectiveness of your ad campaigns.

Return on Ad Spend vs. ROI (Return on Investment)

  • ROAS zooms in on the profitability of specific advertising campaigns. It provides instant feedback on how well a specific ad campaign is performing. It calculates the direct revenue generated from every dollar spent on those ads. 
  • Casting a broader net, ROI examines the overall profitability (the bigger picture) of an investment relative to its cost. It takes into account not just the direct revenue, but also the broader benefits and all associated costs, including indirect costs such as training, time, and resources.

Use ROAS for real-time ad campaign adjustments and lean on ROI for holistic, long-term strategic decisions.

Target ROAS vs. ROAS

  • Target ROAS is an automated bidding strategy, integrated into Google Ads. You set a desired tROAS, and the platform auto-adjusts your bids in real time to try and achieve this target. Setting it requires a blend of historical data, business goals, and industry insights. Target ROAS is the revenue you hope to make for every dollar you invest in advertising.
  • On the other hand, ROAS provides insights into the past performance of your campaigns, helping you understand where your advertising dollars went and what kind of return they fetched. You can’t change ROAS for a concluded campaign. However, insights taken from it can shape future ad efforts.

Why Is ROAS Important?

For SaaS businesses, where customer acquisition strategies evolve rapidly, and marketing budgets need to be laser-focused, understanding and optimizing your ROAS becomes even more critical.

While metrics like click-through rates (CTR) or conversion rates give you a glimpse of user engagement or effectiveness, ROAS paints the full picture, connecting ad spend to actual revenue.

Every dollar counts in the competitive landscape of SaaS. ROAS acts as a quick pulse check, revealing if your ad campaigns are indeed profitable. This empowers businesses to reallocate marketing budgets effectively, doubling down on what works and cutting out what doesn’t.

Beyond just ad budgets, ROAS insights can guide SaaS content creation, targeting strategies, and platform choices, when you know which ads deliver the highest returns.

How to Calculate ROAS

We’re finally diving into the math. Here’s the ROAS formula:

ROAS = Revenue from Ad Campaign / Cost of Ad Campaign

It’s a simple ratio that represents the return (revenue) on every dollar spent on advertising. But while the formula is straightforward, SaaS businesses need to be mindful of these factors:

1. Due to SaaS businesses operating on recurring revenue models, the lifetime value (LTV) of a customer might be spread over months or years. Check out our article if you want to learn how to predict customer lifetime value and guarantee more accurate results.


2. Customers may discontinue their subscriptions, affecting the long-term revenue from an ad campaign.

3. Additional revenue generated from customers acquired via the ad campaign should be factored into the ROAS. Continue reading to see how we use Customer Lifetime Value to calculate the true ROAS for SaaS businesses and how you can do it yourself in one of the sections below.

Examples of How to Measure ROAS for SaaSExample 1:

Suppose you spent $10,000 on an ad campaign targeting a new geographical region. From this campaign, you acquired 100 new customers who subscribed to your platform at $150/month. Assuming they remain subscribed for an average of 12 months:

Revenue from Ad Campaign = 100 customers x $150/month x 12 months = $180,000

ROAS = {$180,000} / {$10,000} = 18:1

For every dollar spent, you made $18 in return.

Example 2:

You invested $5,000 in retargeting ads aimed at previous trial users. These ads brought back 50 users who subscribed to a premium feature costing $50/month. However, historically, such users stay only for 6 months:

Revenue from Ad Campaign = 50 users x $50/month x 6 months = $15,000

ROAS = {$15,000} / {$5,000} = 3:1

This means you earned $3 for every dollar spent on the retargeting campaign.

How to Calculate Break-Even ROAS

The concept “break-even ROAS” represents the point where the revenue generated from an ad campaign equals the cost of that campaign. For the no-math lovers out there, it’s the ROAS at which you neither make a profit nor incur a loss. Calculating your break-even ROAS gives you a foundational benchmark to measure the success of advertising campaigns. So, how do we determine this magic number?

Before diving into the ROAS calculation, you first need to grasp your gross profit margin. While revenue might be coming in from the ad campaign, not all of it is pure profit. Some of it goes towards covering the cost of goods sold (COGS), which in SaaS could include server costs, support, licensing, and more.

Gross Profit Margin = Gross Profit / Total Revenue

Once you have your gross profit margin, calculating the break-even ROAS becomes straightforward:

Break-Even ROAS = 1 / Gross Profit Margin  

We’ll give you an example:

Let’s assume you run a SaaS company offering project management tools. Your software subscription costs $100/month. For each subscriber, your monthly COGS (like server space, customer support, software updates) amount to $30. This means your gross profit per subscriber is $70.

Gross Profit Margin = {$70} / {$100} = 0.7 or 70%

Using the formula:

Break-Even ROAS = 1 / 0.7 = 1.43

This means for every dollar you spend on advertising, you need to make at least $1.43 in revenue to cover both the ad spend and the costs associated with delivering your service. Any ROAS above 1.43 means you’re making a profit on your ad spend, while anything below implies a loss.

While achieving a break-even ROAS ensures you’re not losing money, the goal for most businesses is to secure a ROAS significantly higher than the break-even point to ensure healthy profit margins. But if you know where that break-even point lies, you can benchmark your performance and evaluate the risk and return of your ads.

What ROAS Is Good?

There is no doubt that this is the million-dollar question every SaaS business faces.

Typically, a ROAS of 4:1, meaning $4 in revenue for every $1 spent, is good across various industries. A good ROAS for SaaS typically falls in the range of 300% to 800%. This range means that for every $1 you spend on advertising, you’re generating between $3 to $8 in revenue. However, this isn’t a one-size-fits-all benchmark.

According to Webfx, a ROAS of over 400%, which translates to a 4:1 return, is considered favorable for Google Ads.

Here’s what ROAS is good for SaaS companies:

  • Early-stage Startups: Initially, breaking even might be the goal. Investing in brand awareness and customer acquisition could result in a ROAS closer to 1:1 or slightly above.
  • Scaling Businesses: As a SaaS company grows and refines its advertising strategy, the expectation from ROAS also scales. Here, a ROAS of 5:1 to 8:1 might be the target zone.
  • Mature Enterprises: With a strong SaaS brand presence and customer retention strategies, these businesses might aim for even higher ROAS values, leveraging their existing reputation.
SaaS companies have the advantage of recurring revenue. Hence, while an acquired customer might bring in a certain amount initially, their value over time (LTV) can be significantly higher. If the LTV is high, businesses might be comfortable with a lower immediate ROAS, knowing that the long-term payoff will be substantial.

If the overheads (other costs beyond ad spend) are high, a ‘good’ ROAS might be higher than the industry average to ensure profitability.

In highly competitive niches, customer acquisition costs can skyrocket. This might mean that even with a lower ROAS, the campaign is performing well contextually. Similarly, in less saturated markets or if you are a SaaS trailblazer, a higher ROAS is expected.

A good ROAS is an evolving metric that should be continually re-evaluated in light of changing business goals and landscapes.

See how we have achieved a 6x ROAS for our SaaS client through Google Ads and Facebook Ads. 

Customer Value, CPA & ROAS

In the world of SaaS, not every customer is the same. Some might opt for basic plans, while others dive into premium offerings.

ROAS recognizes this variance. Since it’s tied to revenue, it reflects the differences in customer choices and the value they bring to the table. 

CPA (cost-per-acquisition), on the other hand, remains constant regardless of how valuable the acquired customer is. While it ensures cost-effectiveness in customer acquisition, it doesn’t always correlate with profitability or revenue goals.

ROAS often stands out as the superior, more insightful metric. However, you should monitor both ROAS and CPA in tandem in your advertising strategy to give a 360-degree view of campaign performance.

The Case: Using Customer Lifetime Value to Calculate Return on Ad Spend

At Hop Online, we have SaaS clients who offer online subscription services, starting with a free trial of usually 7, 14, or 30 days. The trial requires a credit card to get started, and you have to actively opt-out or it rolls over to a paid subscription automatically at the end of the trial period.

When managing PPC campaigns, it’s important to measure return on ad spend (ROAS) for each individual campaign. We also need to calculate the customer lifetime value (the recurring revenue from the subscription service) and measure it against the customer acquisition costs (CAC) per campaign. This way we can decide which campaigns perform best and focus on them.

What makes things trickier is that we need to do this in Google Analytics. Why? Because Google Analytics is the most popular and versatile web analytics tool, it’s free, and it integrates natively with Google Ads.

That last part – the smooth integration with Google Ads, is important for two reasons:

  1. Firstly, it allows us to measure the return on ad spend, which is also an important element of the cost of acquiring a customer.
  2. Secondly, we can use the transaction data to feed the increasingly powerful bidding algorithms that drive the target cost-per-acquisition (tCPA) and target ROAS bidding strategies.
  3. The Challenge: Google Analytics Cannot Track the Recurring Transactions That Occur After the End of the Free Trial

The Challenge: Google Analytics Cannot Track the Recurring Transactions That Occur After the End of the Free Trial

We have implemented Google Analytics (GA4) with e-commerce tracking and can monitor free trial signups that happen on the website along with the traffic source.

However, when the free trial ends and the credit card gets charged (the so-called auto-upgrade event), GA4 does not track the transaction. And how could it? It does not occur on the website, but in a payment processing system.

So the value of these subsequent transactions is not registered in Google Analytics, and we cannot calculate the true ROAS within Google Analytics and Google Ads. Read on to find out how we are solving this problem for our clients.

As marketers, we want to point you in the right direction and show you the steps to truly know your Customer Acquisition Cost against your Customer Lifetime Value, so you can optimize your marketing efforts, use the right channels, and market to the right audiences.

The Solution: Use Google Analytics to Create a Single Customer View

These are the 4 steps to overcome the challenge of tracking off-site conversions and bringing the data back into Google Analytics and Google Ads:


  1. Collect the GA4 client ID parameter and implement the user-ID functionality in Google analytics and start collecting the unique IDs of your customers.
  2. Whenever there is a transaction/cancellation/refund associated with a user, generate an HTTP request using the Google Analytics measurement protocol.
  3. Run Google Analytics reports getting insights on the efficiency of your campaigns per medium/channel and audience segments.
  4. Import data in Google Ads to measure ROAS and power the automated bidding strategies

Step 1: Collect the GA4 client ID parameter and implement the User-ID Functionality in Google Analytics and Start Collecting the Unique IDs of Your Customers

You should collect and store the GA4 client ID parameter generated at the time of the online registration. You will need this parameter for step 2. The client_id is stored into the _ga browser cookie, so it should be easy to collect. Additionally, you can send your own internal customer identifier as the GA4 user_id parameter. Once user-ID is implemented, you will be able to identify each of your registered users within Google Analytics. All of their past website sessions will be unified, which will allow you to see all paid and non-paid visits from all channels leading to the point of conversion — for each individual customer.

The user ID can be sent to Google Analytics either by modifying the Google Analytics tracking code or by using Google Tag Manager.

Step 2: Send user-specific transaction events back to Google Analytics

Every time there is an event like incoming revenue, cancellation, etc. you should send it to GA4 through the Google Analytics Measurement protocol. You can send various kinds of data in this way without an actual session occurring on your website. You will need to develop a process within your back-end where this happens automatically for a transaction and other events.

The Measurement protocol works with hits / HTTP requests much like API calls, and you can use the hit builder to structure and validate your hits. Here is the Measurement Protocol Parameter Reference e-commerce example which you will need to build a transaction hit. For events like a cancellation, you will need to generate an event hit similar to this example.

One very important thing to remember here is that with every hit you need to send back the specific client_id and user_id parameters.

Step 3: Analyze the data in Google Analytics

The next step is about accessing and analyzing the data in Google Analytics.

The first report you can check out is the set of Acquisition reports in Google Analytics:

You can get insights from the data on conversion rates, transactions, and revenue.

The user ID functionality unifies all user sessions retroactively even before the user registered on your website. That is why the Cohort and User lifetime explorations are very useful for determining your users’ lifetime and lifetime value, .

Step 4: Import data in Google Ads to measure ROAS and power the automated bidding strategies

If you have linked Google Analytics to Google Ads, turned on auto-tagging in Google Ads, and imported the relevant transactions as conversions, all of the data imported through the measurement protocol will be sent to Google ads and attributed to the correct campaign, ad group, keyword, etc.

This can be very helpful for measuring ROAS and the overall effectiveness of your Google ads campaigns. If you are using automated bidding strategies this data will also be very useful for powering the algorithms behind these strategies.

Bonus Tip: Turn GA into a Truly Customer-Centric Platform to Augment Your Marketing Results

Once you have the above-mentioned system in place, it will take a little more effort to add additional events and user attributes to Google Analytics which would allow you to build Audiences/Segments based on these attributes and events.

You can use the GA custom metrics and dimensions, as well as custom events to import user-specific attributes and interactions such as user type, active users, cancellations, upgrades, usage milestones, etc.

This way you could turn Google Analytics into a truly customer-centric platform where you track a single customer view for all of your customers and use it to improve your marketing campaigns and your product. You could also use your user-based GA audiences built around their specific attributes in Google Ads to target similar audiences and expand your market reach efficiently.

See the True Picture of ROAS

As marketers, we want to point you in the right direction and show you the steps to implement accurate tracking of your transaction data within GA, so you can achieve accurate ROAS calculations for your marketing channels.

We are helping most of our SaaS clients implement this solution, though each company has its unique combination of payment gateway, data warehouse, back-end processes, and event tracking.

Once the right tracking is in place, we overhaul our marketing campaigns and reach a higher level of efficiency and lower levels of customer acquisition costs that wouldn’t be possible otherwise. If you need help putting this conversion tracking system in place, just get in touch and discover our PPC services.

You have just learned tons about ROAS! If you want to take your advertising game to the next level, dive into our article on Value-Based Bidding for SaaS to discover how you can tailor bids to individual user values.

Delcho Stanimirov
Delcho Stanimirov

Head of Paid Media

I lead the PPC and Analytics teams. My professional goals are happy clients and colleagues. Also I love numbers, charts and data-driven decisions.

Ready to scale your marketing-sourced revenue?