Daily
Alert Slack when the no-results rate passes 10%
Your team hears the same day if a growing share of searches return nothing.
- Runs
- Daily
- Apps
- Algolia
- AI
- Not needed
- Access
- analytics ACL
Send this to your assistant
Create a ClickRuntime automation: every morning, check yesterday's Algolia no-results rate and post to #search in Slack if it is above 10%.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
On a site that depends on search, the share of queries that return nothing is a health indicator. If it normally sits around 6% and suddenly jumps to 20%, something broke: an indexing job failed and products disappeared from the index, a catalog import dropped a field that search relies on, or a rule or synonym set was deleted. Visitors who get an empty page leave, and the revenue lost is real, but with Algolia the dashboard looks normal unless someone opens analytics at the right moment.
Each day, the automation fetches the no-results rate, compares it with your threshold and with its recent history, and sends an alert when it is clearly out of line. Quiet days produce no message.
It is useful for e-commerce and content teams that rely on Algolia search, and for developers who deploy changes to the index.
What you get out of it
Indexing failures are caught the next day
If a feed breaks and half the catalog vanishes from search, the no-results rate climbs. A prompt alert gets an engineer looking within hours, not at the next sales review.
Revenue leaks are limited
Every empty result page is a visitor who is more likely to leave. Shortening the time a fault stays live reduces the number of lost sessions and lost orders. A fault that lasts one day costs far less than one that lasts a week.
Deployments are safer
After a release that touches the index, a spike in no-results is an early warning. It makes it easier to link a problem to a change and to roll it back.
You track the trend as well as the spikes
Comparing with history means a slow rise is noticed, not just a sudden jump. That reveals gradual drift, such as a growing catalog with outdated synonyms. Slow decay, such as outdated synonyms, is just as costly as a sudden break.
No one needs to watch a dashboard
The alert comes to you when something is wrong. You get the benefit of monitoring without building a habit of checking analytics every morning. Monitoring runs quietly in the background and only speaks when needed.
How it works
What happens, step by step
Every day, ClickRuntime asks Algolia what share of yesterday's searches on your site found nothing.
It compares that share with your 10% limit.
If the rate is higher, a message appears in your #search Slack channel with the percentage and the number of failed searches out of the total.
Before it runs live
- Connect Algolia
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Algolia steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify
INDEX = "products"
THRESHOLD = 0.10
@on_trigger
def run(event):
day = (date.today() - timedelta(days=1)).isoformat()
data = http.get("https://analytics.algolia.com/2/searches/noResultRate",
headers={"X-Algolia-Application-Id": credentials.secret("ALGOLIA_APP_ID"),
"X-Algolia-API-Key": credentials.secret("ALGOLIA_ANALYTICS_KEY")},
params={"index": INDEX, "startDate": day, "endDate": day}).json()
rate = data["rate"] or 0
if rate > THRESHOLD:
notify.slack(f"π No-results rate on {INDEX} was {rate:.1%} yesterday "
f"({data['noResultCount']:,} of {data['count']:,} searches)", channel="#search")
return {"rate": rate}FAQ
Common questions
What is a normal no-results rate?
Can I set a fixed threshold?
Does it work with more than one index?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Email yourself last week's zero-result searches
Each Monday you get the top searches on your site that found nothing.
See how it worksTurn failed searches into synonym ideas
Failed queries arrive grouped by intent, with suggested synonyms for each group.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksKeep exploring
Set up βAlert Slack when the no-results rate passes 10%β from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.