Repository navigation
AsoBeast 1.16.0 finds the keywords your app already ranks for and you don't track, shows where competitors beat you, and lists everything the daily run noticed on a new Alerts page. The keywords table gets an opportunity map, brand and generic types and a chart for the rows you pick. Rating drops, review spikes and apps the store stops listing now raise alerts.
curl -fsSLO https://raw.githubusercontent.com/AsoBeast/asobeast/v1.16.0/docker-compose.pull.yml
docker compose -f docker-compose.pull.yml pull
docker compose -f docker-compose.pull.yml up -d --wait🌟 Highlights
Discovered keywords
A Discovered tab next to your tracked keywords lists searches your app ranks for, or could rank for, with their popularity, difficulty and opportunity. Candidates come from your listing, your competitors' titles, your reviews, Apple's popular searches in your genre and the keywords your other apps track. Track one, the ones you tick or every ranked one at once, dismiss the rest, or switch on Auto-track ranked. The list is rebuilt every Monday with at most 40 App Store or 20 Google Play searches per app, queued behind the daily run. (#693, #712, #716) Read more
Gap analysis and share of voice
The competitors page has a Gap analysis section with four lists: keywords a competitor ranks for and you don't, gaps you can win now, competitors closing in on you, and keywords where you lead. The visibility card adds your share of voice against your tracked competitors, with and without brand keywords, and the overview sums up the gaps in one line under the chart. (#711) Read more
More from the keywords table
- Map places every keyword by popularity and difficulty in four zones. Click a zone to filter the table to it. (#694)
- Each keyword is marked as your brand (B), a competitor's brand (CB) or generic, with a Type filter. Set it yourself from the row menu when it reads wrong. (#707)
- The words your title, subtitle or keyword field already hold are highlighted inside each keyword, in a different colour for each field. (#699)
- Rows can carry up to two badges, such as Dropping, Page 1 close, Beatable or Not in listing, and a totals row sums up what you're looking at. (#698)
- Tick a few keywords and press Show dynamics to chart them together. Thanks @coolswood (#702)
- A keyword that fell out of the results shows where it last ranked, as
>200 (was #14). (#708) - Search ignores accents, so
cafefindscafé. Thanks @onlygummy-control (#680)
Alerts page and new alerts
The new Alerts page in the sidebar lists what the daily run detected over the last 30 days, even if you never subscribed to anything. Filter it by app or by event, or search it. (#706)
- New events:
rating.droppedwhen the rating falls by as much as you choose,review.spikewhen far more reviews than usual arrive in a day, andapp.delistedandapp.unlisted_marketwhen the store stops listing your app or a competitor. (#700, #701) - On an instance that can send email, a new workspace's owner gets an essential email alert once the first app is checked. Every channel can now switch rules one by one and set its own rank drop threshold. (#703)
✨ Also new
- A What's new page with each release in plain language, and a dot when there's one you haven't read (#690)
- A setup checklist that counts what's left to do, ordered by the goal you pick (#713)
- Step by step setup guides linked from each store card on the Integrations page (#691)
- No competitor limit on self hosted instances. Thanks @carloshs94 (#663)
- A Portainer app template, and
ASOBEAST_PORTto publish the web UI on a port other than 3001 (#695, #719) - On the hosted service, you confirm your email first and then pick a plan on one page. The 7 day trial starts once you add a card and charges nothing until it ends (#572, #619, #682)
🐛 Fixes
- Weekly scoring no longer queues store requests for suspended workspaces or lapsed plans (#658)
- A rating is graded by the one decimal it shows, so two rows that both read 4.5 get the same colour. Thanks @NotAFlightRisk (#697)
- A refresh racing a queued capture can no longer mark a listed app as delisted and alert on it (#718)
- On narrow screens, the keywords table no longer jumps up after the page loads (#715)
- Hosted checkout and trial fixes for fast plan switching and webhook races (#683, #687, #730, #731)
⚠️ Upgrade notes
- Seven small forward migrations apply on start: a
KeywordDiscoverytable, per channelrankDropThresholdandratingDropTenths, the keyword type override, the checklist goal, an alert feed index and three billing columns. Existing workspaces count as already having their essential alerts, so the upgrade creates none. - New optional environment variables:
CRON_DISCOVERY(default Monday 07:30 UTC, empty turns discovery off),ASOBEAST_PORTin the root.env(default3001) andSTRIPE_PUBLISHABLE_KEY, which only billing uses. - API additions only. New
GET /alerts/events,GETandPATCH /workspace/checklist, the/apps/{id}/keyword-discoveriesroutes, gap lists onGET /apps/{id}/competitors/analysis, keyword types on the keyword list and the four alert events above. Three new MCP read tools:keyword_discoveries,alert_eventsandworkspace_checklist. Nothing is removed or renamed.
Take a backup first, as always.
Full Changelog: v1.15.0...v1.16.0