Keyword intelligence that feels usable: Track the terms your app should care about, compare popularity and difficulty, and see which apps are winning the ranking today.
Grow your app’s visibility without the guesswork.
Find what users are actually searching for—and turn it into downloads.
App Store & Google Play visibility starts here
TASO Dashboard Preview
Features
Everything TASO gives app teams in one place.
From keyword visibility to onboarding conversion, TASO helps you understand what drives installs and where users drop off.
Rank tracking without spreadsheet chaos: Watch your app move across saved keywords, spot weak positions quickly, and keep App Store and Google Play visibility in one workspace.
Competitor discovery built in: Find the apps ranking around your product, save true competitors, and extract the keywords they are using to win attention.
Onboarding analytics for mobile teams: Use TASO API keys to log downloads, screen views, trials, paid users, and users who leave onboarding without converting.
AI opportunity suggestions: Generate new keyword ideas from your app, category, competitors, and saved keyword history so your next move is easier to choose.
A workspace made for app growth: Manage apps, keywords, rank checks, competitors, profile details, and onboarding keys from a single dashboard built for repeat use.
Taso Event Call
Use this request from iOS, Android, React Native, or Flutter. Attach your TASO API key and start tracking screen views, trials, payments, and users who leave without converting.
Taso Event Call
Use this request from iOS, Android, React Native, or Flutter.
import Foundation
func trackOnboardingEvent() {
guard let url = URL(string: "https://your-taso-domain.com/api/onboarding-tracker/events")
else {
return
}
let body: [String: Any] = [
"event": "onboarding_screen_viewed",
"anonymousUserId": "device-or-user-id",
"sessionId": "session-id",
"screenId": "paywall",
"screenName": "Paywall"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("Bearer taso_live_k4LwNdj7...", forHTTPHeaderField: "Authorization")
request.httpBody = try? JSONSerialization.data(withJSONObject: body)
URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("TASO tracking error:", error.localizedDescription)
return
}
print("TASO event tracked")
}.resume()
}Pricing
Choose the TASO plan that matches your app portfolio.
Start with keyword visibility, unlock the full growth workspace with Pro, or manage every app without limits on Elite.
Basic
For early app builders who need fast ASO feedback and a clear upgrade path.
Pro
For active teams that need the full TASO growth workspace with sensible usage ceilings.
Elite
For agencies, studios, and power users managing a larger app portfolio.