Latenode

Automatically store & compare website keyword rankings in Google Sheets and get Slack alerts

This template runs once a day, reads the keywords you track from Google Sheets, looks up each query with Serper, and writes the new rank back to the sheet.

JavaScript compares that rank to the last stored position and, when the drop is past the threshold you set, posts a Slack message. Connect Google Sheets, Serper, and Slack. Put the Serper API key on the Serper connection.

Updated Sep 16, 2026Est. run: 19sEst. cost: $0.0012
How Latenode estimates time and cost

Latenode bills workflow runtime in CPU seconds. The first 10,000 CPU seconds are free each month, then usage follows pay-as-you-go CPU-second pricing. Plug-and-Play (PnP) AI nodes are billed separately—each PnP token is $1 USD, charged pay-as-you-go at vendor cost plus a small processing fee, with no API keys required.

Full pricing — how CPU seconds work →

Workflow preview

What this template does

  • Logs daily keyword ranks in Google Sheets
  • Looks up each query with Serper
  • Compares new position to the last stored rank in JavaScript
  • Posts a Slack alert when a drop beats your threshold

How it works

1
Trigger

Run daily

A schedule starts the scenario at the time you choose.

2
Action

Read keywords and look up rankings

Google Sheets loads the keyword list. Serper runs a Google search for each query.

3
Logic

Compare to the last rank

JavaScript finds your domain in the organic results and compares the new position to the last value in the sheet.

4
Action

Update the sheet and Slack drops

The new rank is written to Google Sheets. If the drop is past your threshold, Slack posts to the channel you choose.

Setup guide

1

Connect Google Sheets

Add a Google Sheets connection. Use a tab with keyword, domain, last rank, last checked, and an active flag JavaScript can skip.

2

Connect Serper

Add a Serper connection and paste your Serper API key there.

3

Connect Slack

Add a Slack connection with permission to post in the alert channel.

4

Set the schedule and threshold

Run daily. In JavaScript, set how many positions count as a drop, then map keyword into Serper and the Slack message.

Requirements

A Google Sheet with the keywords and domain you want to track
A Serper account and API key stored on the Serper connection
A Slack channel Latenode can post to

FAQ

Common questions about this template

Each run uses credits on your Latenode plan. We charge for processing time (1 credit = 30 seconds). Your actual cost depends on your plan and how long the run takes. See pricing plans for plans and how credits work.