How to Combine SEO & ASO Techniques to Supercharge Your Keyword Research -min

There are a handful of excellent articles on Keyword Research for ASO (App Store Optimization), but I haven’t read any so far that combined:

classical SEO + competitor based keyword research + ASO.

So I decided to write one.

The idea

If everyone is doing mobile keyword research the same way (same tools, techniques, tactics), we’ll end up with the same focus keywords for ASO. This means two things:

  1. competition is going to increase for these keywords
  2. we’ll miss a lot of keywords that tools don’t recommend us

As I have been doing SEO for the past few years, I came across a lot of clever techniques on finding keywords. I was just commuting to work the other day when the idea hit me:

Why don’t we combine the app store rankings in Google and reverse engineer the keywords this way?


Don’t be afraid if you don’t yet understand what I mean by this. It’s going to be clear in a few minutes.

Which apps rank in Google? Let’s analyze them!

Who is the best sources of keyword info? Google.

Does Google rank iOS and Android apps? Yes.

Bingo. This means we can use Google to reverse engineer keywords and keyword ideas. Here’s how!

Step 1: Use SEMRush

We want to see which apps rank well in Google. Not in the Play Store or on iTunes Connect. But strictly in Google.

To pull this info, we should use SEMRush. To get all the results and filtering options, we need a paid subscription. Starts at $99.95, which is not cheap, but definitely worth the price if you know how to use it.

Head to SEMRush and start the research process.

Step 2: Find ranking apps

We know that all Android apps can be found under this URL path:

And all iOS apps can be found under:

This is great. Because we can use this info and tell SEMRush to return all the keywords where these subdomains rank.

semrush subdomains

This is a fairly new (and sort of hidden) feature in SEMRush. We need to search for the Google App Store subdomain ( and it will return all the keywords that rank in Google. So we basically pull all the Android apps that rank in Google. We get 88 million results in the top 100 results for various keywords like “legend ninja”, “logarithm app”, “calculator” and so on.

If you can’t find this section, just use this direct URL:

You can do this for iTunes as well, you just have to switch

  • to and
  • to

You need to use this for iTunes:

Step 3: Focus on a category/keyword

Now, dive a little deeper. Let’s say we run an iOS “fitness” app, so out of the million results we are only interested in the ones that rank for the word “fitness”. By itself or in a combination. In the Advanced filters set up this.

focus on category:keyword

This will narrow the list down to fitness apps and fitness keywords.

narrowed down list of keywords-min

A lot of keyword ideas will pop up this way. 17,634 to be exact. You can see the search volume in column 3 (“Volume”). This is super useful info. In the URL column, you can see the ranking app too. We also see CPC info.

Tip: make sure to use other keywords too that could be relevant, not just “fitness”. You can check “workout”, “personal trainer” and more similar and topically relevant keywords.

make sure to use other keywords too that could be relevant-min

Step 4: Use filters

To dig even deeper, you can add multiple filters. An idea: look for ranking apps that:

  • have fitness as a keyword,
  • they rank in the top 10,
  • have a search volume larger than 100 and
  • are cheaper to target in AdWords than $2.

organic search positions-min

Now, we have 1588 keyword ideas for iOS. And we know that competitors are not bidding on them like crazy in AdWords. Can find some useful keyword here.

Note that AdWords and CPC info is not directly tied to UAC (Universal App campaigns) here. It just provides extra info whether others are bidding for a keyword on Google or not. And if they are, what is the suggested bid. In general, the more they are bidding, the higher value you can expect from it, but you should test this assumption thoroughly.

applying more filters, using different keywords, combinations and change them up -min

Apply more filters, use different keywords, combinations, change them up and just play around.

There are about 20+ filtering options so you can go super deep. I recommend you to spend at least a few hours browsing through the list and playing with the filters.

Step 5: Select the promising keywords

You have to go through the keywords one by one and look for promising opportunities. Put them in a spreadsheet and use them as an input in your regular ASO workflow.

This entire process works for both Android and iOS apps. It can be done in one day and you can find keywords that other tools don’t recommend.

This is also great input for regular SEO and content marketing, not just SEO. Because you can find topics and ideas to write about to increase awareness, drive downloads with content + SEO and get better retention for existing users.

How to spy on competitors?

The post could have ended 2 sentences ago, but while I was writing it, another idea came to my mind.

So, I already have information on which apps rank well in Google for a specific topic/keyword. But take a step even further.


Why don’t we look at the website of the well-ranking app and pull keywords from there as well?


So the idea here is that I look at a well-ranking fitness app, and run a keyword research session on their website as well.

  • What other keywords are they ranking for?
  • What topics do they write about?
  • If there is a competitor, do we target the same keywords?
  • Are there keywords they rank well for in Google, but we don’t?
  • Are there keywords my competitor is ranking for organically but I pay for it in AdWords? Or the other way around?

Many questions. But SEMRush has all the answers!

The case study

Let’s look at the process with a real example. I picked two fitness apps that ranked in Google. I have heard about one of these (8fit) and picked the other randomly (7 Minute Workout).

Step 1: Find the official websites

Let’s say I run SEO and ASO at 8fit. This is the app store listing on desktop.

8fit workouts and meal planner app-min

I want to get info on 7 Minute Workout. I head to their app store page and look for their official website. It’s highlighted in yellow.

7 minute workout free daily fitness routines-min

The two websites I have to check and compare are:

Step 2: Look at the competitor in SEMRush

I just have to look them up in SEMRush. Just type in the website and look for the keywords.

semrush organic research-min

I can use filters again to go through keywords they rank for in Google. Applied two filters quickly:

  • keyword that contain “fitness”
  • exclude wahoo branded keywords

keywords -min

I got a list of 600+ keywords this way. I can go through this list and look for promising ones.

Step 3: Compare my site with the competitor’s

SEMRush has a great tool called Keyword Gap. (Used to be called Domain vs Domain).

In this section, you can compare the ranking keywords of different sites. It looks for overlaps and separations. I want to look at all the keywords that both sites rank for organically in Google. So I enter both domains and select “Organic Keywords”.

ranking keywords of different sites ranks for 19,005 keywords and there are 169 overlapping keywords.

This way I get an unfiltered matching list where we both rank (those 169 keyword). In the list I can see the:

  • position of 8fit
  • position of Wahoofitness
  • number of searches a month
  • CPC bids.

keywords 2-min

I know what you are thinking. Yes, we can go crazy with filters again.

I can look at keywords that:

  • have “fitness” in it
  • 8fit doesn’t rank in top 10
  • but Wahoofitness ranks in top 10. by organic and wahoofitness by organic -min

And do all sort of other filtering. Look at paid keywords instead of organic ones:

  • competitor pays, you rank
  • competitor ranks, you pay

You get the point. Figure out a few filtering options and play around with them. Pick other competitors, bigger ones, smaller ones. Pick “not strictly related/competing” apps and websites to get a broader set of potential keywords. For example I could look at the keywords of

Tips for paid ads

You can use search terms from paid acquisition to discover new keyword opportunities and use paid search to determine the search intent & retention. From this info you can use the weighted search volume and relevance for ASO.

Tips for localization

As SEMRush works in a lot of languages (in 130+), you can do this entire process for local apps and keywords as well.

keyword gap tips for localization-min

You can tap into German, Spanish, French, Japanese, Chinese (and so on) competitors and keywords and use that info for a localized version. For both Android and iOS.

All you need to do is add a little tweak. Here’s how to do it:

8fit has a Spanish version. How do we know? Just change the URL of the app store page:

I only changed …/en/ to …/es/. And this is what I get.

8fit description in spanish -min

I can go back to SEMRush and use Spanish instead of US English.

semrush using spanish instead of english-min

And continue the process. Just this time I am looking for Spanish keywords and keyword combinations. The rest is the same as before.

I like this keyword research process, because it works! Works in general, works for both Android and iOS and works for many languages.

I have used this technique successfully many times before as a freelance SEO consultant, and I still strongly rely on it at Shapr3D where we develop a 3D modeling software for iPad Pro. Partly due to this, our SEO and ASO game is very strong.

So I suggest you to try it out. $99 is not cheap, I know. But now you have a great process to get a lot more value out of SEMRush than those 100 bucks.

Want to learn about ASO and read more stories like this? Then I recommend you to check out the to ASO book. It covers advanced ASO processes and techniques on 370 pages.

Worth the read?

If you liked the article, share the love and CLAP so it can reach more people.

Thanks to Regina Leuwer.