Skip to main content

Why Your CPA is High and ROAS is Low: Key Factors and Solutions

In this article, you will learn about some factors resulting in high CPA or low ROAS and strategies for sustainable growth

Written by Alyona

If you’re checking your KPIs and finding that they’re significantly different from the actual CPA or ROAS in your campaigns, it’s time to dig deeper. Let’s dive into some strategies to help you bridge that gap

Step 1. Reviewing KPIs and Date Ranges Before Drawing Conclusions

🎯 Make sure your KPIs are realistic

➡️ Reevaluate your current KPIs to ensure they are realistic compared to niche benchmarks and historical data. We recommend analyzing your average CPA over the past 30 days and aiming to reduce it by approximately 15%. Gradually decreasing costs is more feasible and reasonable than striving for a reduction of 50% or more.

➡️ Anticipate differences in performance among brand, competitor, and generic keywords. Generic and competitor keywords often have higher cost-per-taps (CPTs) and lower conversion rates (CRs), leading to higher cost-per-acquisition (CPA) or lower return on ad spend (ROAS).

📆 Use appropriate date ranges when evaluating ROAS and CPA

If your target action or revenue builds up over 7 days post-installation, avoid quick conclusions based on users who installed recently. Instead, consider extending the date range to 14 or 30 days when analyzing the data, depending on your sales cycle, to give all users adequate time to engage after installation.

👉 To ensure that automated rules analyze the full data effectively and make reasonable bid changes, consider configuring a custom date range. For example, instead of looking at [previous 7 days], we can set the date range as 15 days ago to 8 days ago (all the users will have had 7 days since the Install day to perform the target action + [today] is excluded as data might not be complete.

👉 Account for data incompleteness by utilizing milder or projective KPIs. For instance, you receive about 70% of the total expected revenue within the first 3 days (Days 0-3), with the remaining 30% likely to come in over the following 4 days, by the end of the first week. Therefore, you can set your target ROAS D3 at 70% of the final target ROAS.

Step 2. Refining Your Apple Ads Strategy

⚙️🔧 Check if your Apple Ads account structure is effective

A clear and effective Apple Ads account structure is essential for campaign evaluation. Avoid an overly simple or mixed structure that includes:

1. Missing Campaign Types: Ensure you run brand, competitor, generic, and discovery campaigns to capture all opportunities and not spare traffic and users to competitors.

2. Lack of Clarity: It happens when keywords are all mixed randomly with different semantics, intent, competitiveness, profitability, etc. Maintain clear distinctions between campaign keywords to avoid confusion regarding keywords' intent and profitability.

3. Insufficient Differentiation: Organize ad groups to prevent mixing too many keywords, complicating analysis and optimization.

👉 For example, having one ad group with numerous low-performing and highly competitive keywords complicates analysis and optimization. Similarly, a competitor campaign that groups all brand names hinders effective management.

4. Mixed Keyword Match Types: Use separate keyword match types. Utilize broad keywords in discovery campaigns to manage search terms effectively, and apply exact match keywords in brand, competitor, and generic campaigns.

💡 Granular segregation in different campaigns allows leveraging different budgets, ad groups - Custom Product Pages, CPA cap (for example, for the least performing and expensive ad group with competitor brand keywords), and various targeting options. Consider a semantic or value-based account structure and more granular performance optimization on all levels.

❗️Be cautious when restructuring your Apple Ads account, as this could lead to a temporary decrease in traffic and increased costs. If your current structure has been in place for a while, it may be better to label the keywords instead of regrouping them—unless you're looking to adjust targeting, CPA caps, or test different CPPs. 🔗 Learn more about applying labels

🔎 👀 Maintain a dynamic keyword portfolio and don't overlook search terms

➡️ It’s crucial to continuously mine and test new keywords to enrich the portfolio and uncover new opportunities, as well as stay on top of trends. Mine keywords with the help of Discovery campaigns, and platform Intelligence tools like Keyword Discovery, Keyword Gap, and CPP Intelligence.

➡️ It's important to regularly review your keyword portfolio, especially if you’re working with Discovery and Proxy campaigns where new keywords might be added automatically. Сlean out any irrelevant or underperforming keywords to ensure your campaigns stay effective and don’t waste budget.

➡️ It's essential to review the unattended search terms across your account. Make sure to move promising Search Terms from Discovery or other Broad campaigns as exact match keywords into Performance campaigns. This ensures they are tested across the full funnel, allowing you to properly assess their performance. Regularly review Search Terms even in campaigns using exact match keywords – they can still be matched, and it's important not to leave them hanging.

🌍 Manage multi-geo campaigns wisely

With multi-storefront campaigns, there’s no control over budget allocation and keyword bids based on performance in a particular geo. Some poorly performing geos may be dragging the whole campaign performance down, while geos with good potential are being underoptimized.

💡 Enable Market Segmentation to evaluate geo performance within the campaign.

💡Consider separating underperforming geos into single-storefront campaigns for precise bid and budget management.

💡 If you prefer keeping some non-focus countries within multi-geo campaigns, consider users' behavior, performance, language, and cultural similarities when grouping countries.

Step 3. Analyzing Keyword-Level Deviations and Their Impact

When seeing high CPA or low ROAS – apart from evaluating the expectations from each particular campaign type or geo and looking into structural discrepancies, it’s worth going down to the keyword level to spot any deviations.

🫵 Find poor performers dragging the ad group or campaign performance down

➡️ Neglected non-converters or irrelevant keywords that spend and bring no conversions. Review and negate irrelevant keywords occasionally, and set up pause rules to get rid of non-converters.

➡️ Too volatile, competitive, or expensive keywords that might need an individual approach. Consider separating such keywords into a different ad group with harsher rules, stricter KPIs, different CPPs, or even CPA Caps for edge cases. Alternatively, consider labeling such keywords for a different manual or automatic optimization approach instead of regrouping where this is enough (use labels for monitoring or bulk bid management in Ads Manager or the conditions of auto rules).

🥊 Hit standby keywords that lack a boost

A significant part of keywords may have no impressions due to not having a competitive bid. Set up an Impression Booster rule to tackle a bid that is competitive enough to enter the auction. Make sure to set reasonable conditions (e.g. boost until such an amount of Impressions that is likely to translate into at least a few taps, downloads, or in-app events). In case an Impression Booster rule is in place but the increments are too small to see any impact, consider manually increasing the bids to a reasonable starting point.

🆘 Save top performers from hitting the bid ceiling in auto rules

Double-check if best performers might be hitting the upper bid limit of the applied increase rules, while there’s room for growth based on high popularity or current SoV (not in range of 95-100%). Choose a competitive and reasonable upper bid limit, especially for a competitive niche. Consider increasing the upper bid limit, or labeling the top-performing keywords to apply a separate, more relaxed rule to them.

Step 4. Identifying the Impact Area In the Funnel

Review the funnel to pinpoint the source of the high cost per action and low ROAS. Is it a high cost per transaction at the start, or a lower conversion rate further down? Let’s explore solutions.

Problem

Reason

Solutions

🚨 High CPT

Reason 1. CPT bid might have outgrown its optimal value for some keywords: it’s too high to align with the KPIs while you already reached optimal SoV, or too high for low-SP or hardly-relevant keywords.

  1. Review and refine potentially overinflated bids manually or with a one-time rule.

  2. Review the increase rules and add SoV as a balancing condition: maintain the bids as soon as the optimal SoV is reached.

  3. Use Search Popularity as an additional condition in the increase rules not to over-boost the low-volume keywords.

Reason 2. Some keywords are just too expensive (popular and competitive) yet strategically important.

  1. Support strategic popular/competitive keywords through ASO efforts to increase tech relevance and decrease CPT.

  2. Consider creating relevant CPPs to increase TTR and decrease the Cost per Action. Higher TTR may also boost relevance and slightly decrease the CPT.

  3. Use labels or separate ad groups (in edge cases, with CPA Caps) to control bids for the most expensive keywords. Use a more moderate SoV target (e.g. 50-60% is good enough).

  4. Enrich your keyword portfolio with long-tail, high-intent keywords with milder competition to balance things out.

  5. Research and take advantage of competitors’ brand keywords with low to mid Brand Protection.

📈 CPT going up all of a sudden

Main reason. Given there were no internal product changes, and the keywords’ Search Popularity remains the same, drastic spikes in CPT are likely to indicate changes in the competitive landscape. Most probably, competitors have ramped up their efforts and started running campaigns on the same keywords, possibly exponentially increasing bids.

  1. Check for performance deviations/trends on keyword charts starting from the top-spending keywords. Is Spend growing while Impressions staying more or less still? Is CPT going up for certain keywords?

  2. Review SoV dynamics, and compare 5d SoV to 24h SoV, is your current share of voice going down? Review the SoV top apps list - is there a competitor whose share is growing in the meantime?

  3. To be on the lookout for competitor attacks, set up an alert to proactively monitor CPT spikes (e.g.: CPT previous day > 1,5 CPT 2 days ago to 1 day ago).

  4. Set up an alert to monitor daily budget exhaustion, and adjust the budget when needed before the competitors take advantage of your absence in the auction for a part of the day (e.g.: Spend previous day > 0.9 Daily Budget).

Strategy 1. In case keeping the share of voice is a priority for some or all keywords, and the budget is flexible, consider fighting back until the competitor backs off.

  1. Bid up to see if the competitor’s resources soon get drained. Set an alert to monitor when your 24h SoV starts going back up and exceeding the 5d SoV.

  2. Check on the hourly campaign chart if the budget is getting exhausted mid-day, and Impressions drop to zero - increase the budget to ensure an all-day-long presence, not leaving gaps for competitors to strive on your absence and lower competition.

  3. Try to uncover competitors’ strategies through CPP Intelligence, and see if they are utilizing any new CPPs along with the affected keywords.

  4. Consider CPPs for under-attack keywords to highlight your app’s competitive advantage over your rivals - hence decrease the cost by increasing TTR.

  5. Consider additional placements to boost brand awareness and grab extra Impressions.

Strategy 2. When bigger players start aggressively bidding on your keywords, you may find yourself in a situation where you don't want to back down but also can't match their budget or adopt the same aggressive strategy. Instead, you may aim to pursue a more measured and restrained, yet tactical approach.

  1. Rather than striving for 90% SoV, focus on securing and maintaining a solid 50-60% SoV to remain competitive while avoiding overspending. This way, you stay present (with brand keywords, the brand owner inevitably is the most relevant) without burning through your budget.

  2. Check on the hourly campaign chart if the budget is getting exhausted mid-day - it might be that competitors are squeezing you out of the auction by overbidding, and then benefit from your absence and decreased competition for the rest of the day; in certain cases, lower bids but all-day-long presence might prevent losing SoV drastically during those budget gaps.

  3. It’s possible to steer the budget to the most profitable/peak period of the day with dayparting rules.

  4. If it’s generic keywords that are under attack, it could be beneficial to explore more affordable keywords or long-tail variations that might be overlooked in your current strategy but are part of your competitor’s (explore competitor’s CPP strategies or missed opportunities in Keyword Gap).

📉 Low conversion rate

If you're seeing Impressions but very few Taps:

  1. Reason 1. Creatives. The issue may lie with your ad creatives bringing low TTR. By leveraging CPPs and refining your ad creatives, you can make the ads more appealing to the audience and potentially improve your TTR, leading to more taps and downstream conversions.

  2. Reason 2. Semantic Core. Keywords are technically relevant but bring free users or users with little intent for your app. The product may not meet user expectations.

  1. Refine your keyword portfolio and reassess your keyword strategy to ensure it attracts users who are relevant and likely to convert.

  2. Leverage CPPs to tailor your creatives to specific goals/keyword clusters, and to improve TTR by presenting creatives that better match search intent.

If your app is receiving Taps but users aren't converting into Downloads:

  1. Reason 1. Unconvincing or misleading product page creatives/app icon: users might click your ad but lose interest if the creatives on your app’s page are unclear or uninspiring.

  2. Reason 2. A mismatch between the searcher’s intent and product page: high-demand features might be missing or not prominent enough on your app's page.

  3. Reason 3. Poor user reviews: negative feedback can heavily influence a user's decision, making them hesitant to download the app.

  4. Reason 4. App crashes or bugs upon launch: if users experience technical issues right away, they may abandon the download process.

ASO-driven improvements: optimize your product page elements (title, subtitle, screenshots, description) to better align with user expectations and search intent. This can help improve conversion rates from tap to download.

If you’re seeing a low Install Rate (Installs reported by MMP divided by Downloads reported by Apple Ads).

If you're noticing an Install Rate below 70%, it could point to tracking or technical issues. This is worth investigating further, and reaching out to the Support Team for assistance in troubleshooting and resolving the issue.

If users are downloading the app but not completing revenue-generating actions:

  1. Reason 1. Misleading keywords attracting free or irrelevant users: if your keywords aren’t well-targeted, you may attract users who are not likely to pay for your app.

  2. Reason 2. Poor user experience: confusing onboarding or a lack of free trial options can frustrate users, leading them to abandon the app before making a purchase.

  3. Reason 3. An inflexible or unrealistic pricing model that doesn’t match the expectations or budgets of your target audience, especially in specific regions, can cause a loss of potential customers.

  4. Reason 4. Technical issues during critical stages such as registration or checkout can prevent users from completing purchases or subscriptions.

  1. Monetization, onboarding & retention audit from SplitMetrics Agency: an expert review of your app’s monetization funnel, onboarding flow, and retention strategies can help uncover areas and ideas for improvement.

  2. Pricing differentiation & A/B testing: experiment with different pricing models to find what works best for different regions or customer segments.

Step 5. Reviewing the Automation In Your Account

It’s crucial to occasionally review your account’s automation to ensure it is comprehensive, set up appropriately, and functioning optimally.

If you don't have any automated rules yet, check our Automation Templates and download our comprehensive automation guide below to kick off the automated bid optimization and keyword management in your account🤘🎸

Let's briefly explore what to review in your automation:

KPI relevance

Evaluate if the KPIs align with category benchmarks, historical data, and campaign types. Ensure they are current and match your objectives.

Comprehensive coverage

➡️ Ensure all prominent campaigns, ad groups, and keywords are included in the automation. Check for any missed campaigns and confirm the timely inclusion of new ones.

➡️ Use the Active rules column to verify applied rules at each level.

➡️ Balance actions: pair decrease rules with increase rules, and pause rules with reactivate rules.

➡️ Implement the Impression Booster for competitive bidding.

➡️ When setting up Search Term management rules, cover Discovery and all broad campaigns to avoid leaving any unattended.

Granular approach to rules

➡️ Cascade the rules to give a bolder boost to top-performing keywords, and milder one to mid-range performers.

➡️ Decrease mildly if the performance is slightly below satisfactory, and boldly if the performance is way outside KPIs.

Preventing bid overinflation

Ensure that you don’t inflate the bids by unnecessarily increasing them when there’s little room for growth (e.g.: add a condition like SoV is not in range 95-100% to the increase rules).

In Impression Booster rules, use Search Popularity as an additional condition to avoid over-boosting low-volume keywords (e.g.: boost if Impressions < 10 for previous 3 days AND Search Popularity > 5).

👉 While popular keywords should be boosted regularly (most likely daily), low-volume keywords may need more time - change their bids less frequently.

Reasonable action frequency and bid increments

➡️ See if you’re adjusting the bids too infrequently to be able to see any impact.

➡️ Or, on the contrary, too frequently to be able to assess the impact before making further changes.

➡️ Too small increments may slow down responding to optimal bids and industry trends, especially with low action frequency.

➡️ Too bold increments may lead to unexpected and hard-to-control spikes in performance, even more so with high action frequency.

Carefully balance action frequency with bid increase or decrease increments to align with your funnel feedback.

How to define the appropriate frequency 👇

Bids and their increments depend on how quickly they can influence t-CPA value. It's essential to allow enough time for the t-CPA to adjust; otherwise, frequent bid changes may occur due to insufficient data. Quicker target actions after installation lead to faster t-CPA observations and informed bid adjustments.

How to define the appropriate increment 👇

The more often the bid is altered and the more often you work with a smaller date range, the smaller the bid increment will be to avoid extreme performance fluctuations (e.g. not to limit the traffic or increase the t-CPA).

Appropriate date range based on the metric nature

When evaluating ROAS or Cost per Target Action, use an appropriate date range to draw fair conclusions. If there's a delay in actions, extend the range to gather enough data and exclude the period equal to the delay (e.g., for a 3-day Install-to-event delay, use a custom range like 10 days ago to 4 days ago). If shorter ranges are needed for quicker insights, consider the data's immaturity and use milder or projective KPIs.

Minding overlaps in the rules applied to the same objects

Multiple rules applied to the same keywords might rely on different target metrics. Avoid overlaps that could result in unintended bid adjustments. Adjust rules to focus on the primary target metric, use an additional metric only when there is insufficient data, and set clear borders. E.g.: Increase by 15% if Purchase > 0 AND Cost Per Purchase < $10 OR Purchase = 0 AND Downloads > 0 AND Cost per Download (Avg CPA) < $10.

Overlapping values in conditions of rules applied to the same keyword can double the bid changes. Ensure that cascaded rules with different thresholds do not overlap and each applies to its distinct range (e.g.: Decrease by 10% if ROAS < 60%, Decrease by 5% if ROAS in range 60-89%).

Drastic changes and strict rules (used wisely)

➡️ Implement stricter rules to pause non-converting, budget-wasting keywords, paired with reactivation rules for flexibility.

➡️ Use sharp bid decreases (CPA shock rule) for significant performance drops, ensuring these actions are based on meaningful deviations rather than slight KPI fluctuations. 

➡️ Label the most volatile or unpredictable keyword for sharper actions or stricter KPIs to enable more targeted management.

Reasonable Lower and Upper Bid Limits

➡️ Be mindful of lower bid limits so that keywords don’t fall out of the auction entirely without a second chance.

➡️ Similarly, upper bid limits should rather be flexible enough to allow top-performing keywords to continue scaling without hitting a ceiling too early.

Sufficient amount of target events

Choose your target event carefully, ensuring sufficient data is available to evaluate performance on specific metrics. Consider metrics higher in the funnel for early optimizations. If target events are volatile, combine metrics using the ‘OR’ operator—e.g., increase bids for both cheap purchases or cheap trials when purchases are low.

Efficient Impression Booster rule

Setting achievable goals for conversion volume can enhance the probability of activating events further along the funnel (for example, aiming for 50 impressions instead of just 1 to improve the chances of receiving several taps).

Effective Discovery automation

➡️ Set up rules to automatically handle underperforming Search Terms in Discovery and keywords in Proxy campaigns. Non-converting or too expensive Seach Terms, or keywords that spend a lot without delivering conversions should be paused.

➡️ In addition to automated rules, it’s important to manually review search terms to spot irrelevant ones that may have slipped through and can waste the budget.

➡️ Search Terms showing good potential should be timely transferred to exact campaigns to assess their performance on the full funnel.

➡️ Consider transferring top-performing keywords from main campaigns into the Discovery broad match ad group, as they are likely to generate more relevant and valuable search terms.

➡️ Make sure to cover any Broad campaigns across your account other than Discovery to assess and manage matched Search Terms.


Did this answer your question?