# Serplify: full text of the guides > Serplify gives growth and SEO teams a Google SERP API, real website traffic, and real-click SEO traffic from one platform and one prepaid balance — better data, honest targeting, one transparent per-result price. This file holds the complete text of every guide on https://serplify.io. The short map of the site is at https://serplify.io/llms.txt. Product facts, current as of this build: - SERP API: $0.005 per Google results page (up to 100 results), with DataForSEO-compatible endpoints. Details: https://serplify.io/serp-api/ - Website traffic: $0.002 per delivered visit. Details: https://serplify.io/buy-website-traffic/ - SEO traffic for CTR tests: $0.04 per delivered click. Details: https://serplify.io/buy-seo-traffic/ - One prepaid balance covers all products and never expires. New accounts start with $1 of free balance. Pricing: https://serplify.io/pricing/ - Docs: https://docs.serplify.io --- # 'Our Systems Have Detected Unusual Traffic From Your Computer Network': What It Means and How to Fix It URL: https://serplify.io/blog/google-unusual-traffic-error/ Published: 2026-10-09 > Google shows 'unusual traffic from your computer network' when searches from your IP look automated. Learn the five causes and how to make the message stop. Key takeaways: - The message means Google saw searches from your IP address that looked automated. The cause is often someone or something that shares your connection. - Google's help page names four sources: malware, other users on a shared network, a shared VPN, and other customers of your internet provider. - Solving the reCAPTCHA clears the page. If it keeps coming back, turn off your VPN, test your extensions, scan for malware, and switch networks to find the cause. - Google's spam policies forbid automated queries without permission, and scripts that search Google get blocked fast. Developers should use a SERP API instead. A Google page that says "Our systems have detected unusual traffic from your computer network" means Google thinks your searches come from a program. Solve the "I'm not a robot" check and you can keep searching. If the page keeps coming back, something on your network is still sending automated searches. The steps below help you find it and make it stop. ## What "unusual traffic from your computer network" means **The message means Google saw searches from your IP address that look automated.** An IP address is the number that identifies your internet connection to every site you visit. Google cannot see who sits behind an IP address. It only sees the pattern of requests. When searches arrive too fast, or in the way programs tend to search, Google pauses that address and asks for proof that a person is there. Google's own help page calls this automated traffic. Its list includes robots, computer programs, search scrapers, and software that checks where a site ranks on Google. Website owners deal with the same problem from the other side, which they call [bot traffic](https://serplify.io/blog/what-is-bot-traffic/). The block page usually shows three things: - The message, with a short note that the page checks whether a person or a robot is sending the searches. - A reCAPTCHA box, the "I'm not a robot" check. Sometimes picture puzzles follow. - Your IP address, the time, and the address you tried to open. Write down the IP address and the time. You will need them if you ask an IT team or your internet provider for help. ## Why Google shows it: five common causes Often you did nothing wrong. The searches that set off the check can come from someone or something that shares your connection. ### 1. Someone else on your network Schools, offices, hotels, and cafés put many devices behind one public IP address. If one laptop on that network runs a program that searches Google, everyone on the network can get the check. Mobile networks and some home internet providers do the same thing at a larger scale. Many customers share one address. Google lists both shared networks and other users of the same internet provider as causes. ### 2. A VPN or proxy A VPN sends your traffic through another company's server. Thousands of users can share the same VPN exit address. If a few of them run bots, Google flags the address, and you get the check too. Apple's iCloud Private Relay works in a similar way for Safari. It hides your IP address behind a relay. Apple says some websites may then ask for extra steps before you can sign in or see content. ### 3. A browser extension Google's page does not name extensions. Still, some extensions send searches in the background. SEO toolbars that check rankings are one example, and Google's list of automated traffic includes rank-checking software. Auto-refresh and page-monitor extensions can also send the same request over and over. ### 4. A script or tool sending searches If you, or someone in your home or office, runs a program that searches Google, this is the cause. Rank trackers, scraping scripts, and some research tools all count. If that is you, skip to the developer section below. ### 5. Malware Malware is harmful software that runs on a device without the owner's consent. Some of it sends searches or clicks ads in the background. Google lists malware on your computer, or on another computer on the same network, as a cause. ## How to fix the unusual traffic error, step by step Work through these in order. Stop as soon as the message goes away. 1. **Solve the reCAPTCHA.** Tick the box and finish any picture puzzle. Google says this clears the message. If no check appears, make sure JavaScript is turned on. 2. **Turn off your VPN or proxy.** Search again. If the message stops, the VPN address was the problem. Pick a different server or contact the VPN company. 3. **Turn off iCloud Private Relay for a moment** if you use Safari on an iPhone, iPad, or Mac. Then search again. 4. **Test your extensions.** Open a private or incognito window. Most browsers turn extensions off there by default. If searches work in that window, turn your extensions off one at a time in a normal window to find the culprit. 5. **Scan for malware.** Run the security tool built into your system, such as Windows Security on a PC. Remove anything it finds. Do the same on other computers on your network if you can. 6. **Switch networks to test.** Turn off Wi-Fi on your phone and search on mobile data. If the message shows on one network only, the cause is on that network. 7. **Restart your router.** Some home connections get a new IP address after a restart. It does not always work, but it costs nothing to try. 8. **Ask for help.** On a school or work network, tell the IT team and give them the IP address and time from the block page. At home, contact your internet provider. Google suggests both. ## How long does the unusual traffic message last? Google does not publish a time limit. Solving the check lets you keep searching. If the message returns again and again, the source of the traffic is still active. The message stops when that source stops. That is why fixing the cause is the only lasting fix. Clearing cookies or switching browsers will not help if the address itself keeps sending automated searches. ## Is the unusual traffic message a scam? The real message appears on a google.com address and asks you to tick a box or pick pictures. That is all it asks for. Be careful if a page with this message asks you to download a file, call a phone number, or paste a command into your computer. Google's check never does that. Microsoft's security team has written about fake captcha pages, called ClickFix, that trick people into running a pasted command. Close the tab. ## Why your script gets the unusual traffic page (for developers) If you wrote code that searches Google, this page is what it gets back. A script sends many searches from one IP address, often with no cookies and the same timing every time. Google spots that pattern fast. Your code then gets an HTTP 429 "too many requests" error or a redirect to a google.com/sorry/ page with a captcha. Google's spam policies call this machine-generated traffic. They name "scraping results for rank-checking purposes" as an example. Doing it without express permission breaks Google's Terms of Service. Our guide to [scraping Google search results with Python](https://serplify.io/blog/how-to-scrape-google-search-results/) shows what a plain script gets back from Google. It also explains why a homemade scraper needs proxies, a real browser, and constant fixes. Google's own Custom Search JSON API is not the way out either. It is closed to new customers, and existing users must move off it by January 1, 2027. We cover the details in [the Custom Search API shutdown guide](https://serplify.io/blog/google-custom-search-api-shutdown/). The simple fix is to stop sending searches from your own machine. A [Google SERP API](https://serplify.io/serp-api/) fetches the results page for you and returns it as JSON. The provider handles blocks and retries, so your code only sees finished results. Serplify's SERP API, for example, charges $0.005 per successful page and nothing for blocked attempts (checked October 2026). If you only need a few manual searches with filters, [Google's search operators](https://serplify.io/blog/how-to-use-google-search-operators/) work fine in a normal browser. Just search at a human pace. Frequently asked questions: Q: Why do I keep getting human verification on Google? A: Something on your connection keeps sending searches that look automated. The usual suspects are a VPN, a shared school or office network, a browser extension that searches in the background, or malware. Turn off the VPN first, then test in a private window, then scan for malware. Q: How long does Google's unusual traffic block last? A: Google does not publish a time limit. Solving the reCAPTCHA lets you keep searching. If the page keeps coming back, the source of the automated searches is still active, and it stops only when that source stops. Q: Does unusual traffic mean I have been hacked? A: Not by itself. Google lists malware as one possible cause, next to shared networks, VPNs, and other users of your internet provider. Run a malware scan to rule it out, especially if the message follows you to every network. Q: Why does YouTube say unusual traffic? A: YouTube is part of Google and runs similar checks on the traffic it gets. The causes are the same: a shared IP address, a VPN, an extension, or a program sending requests. The same fixes apply. Q: Why does Safari keep saying it detects unusual traffic? A: On Apple devices, iCloud Private Relay is a common reason. It hides your IP address behind Apple's relays, and Apple says some sites may then ask for extra steps. Turn Private Relay off for a moment, or switch networks, and search again. Sources: - Google Search Help: Resolve Google Search's 'Unusual traffic from your computer network' message: https://support.google.com/websearch/answer/86640 - Google Search Central: Spam policies (machine-generated traffic): https://developers.google.com/search/docs/essentials/spam-policies - Apple Support: About iCloud Private Relay: https://support.apple.com/en-us/102602 - Google for Developers: Custom Search JSON API overview: https://developers.google.com/custom-search/v1/overview - Microsoft Security Blog: Think before you ClickFix (August 2025): https://www.microsoft.com/en-us/security/blog/2025/08/21/think-before-you-clickfix-analyzing-the-clickfix-social-engineering-technique/ --- # Google search parameters: the URL list with examples, and which still work URL: https://serplify.io/blog/google-search-parameters/ Published: 2026-10-09 > Google search parameters are the codes after the ? in a search URL. See what q, hl, gl, uule, tbs, udm, start and num do, with examples and tested status. Key takeaways: - A Google search URL is google.com/search?q= plus optional parameters joined with &. Each one changes the language, place, page, date range or type of results. - Google stopped honoring num=100 in September 2025. A page now shows about 10 results, so tools must load 10 pages to see the top 100. - In our October 9, 2026 tests, udm=14 stripped a page down to 10 plain links, and tbs=qdr:w kept every dated result inside the past week. - URL parameters do not fix personalization or device. For repeatable checks, use a tool that sets location, language and device for you. Google search parameters are the short codes after the `?` in a Google search URL. `q` holds your search words. The others change the language, country, page, date range or type of results. Most of them still work in October 2026. The big exception is `num=100`, which Google stopped honoring in September 2025. Below is the full list with an example for each, plus what we saw when we tested some of them on October 9, 2026. ## What is the correct syntax for a Google search URL? **A Google search URL is the address `https://www.google.com/search`, then a `?`, then parameters joined with `&`.** Each parameter is a name, an equals sign, and a value. ```text https://www.google.com/search?q=coffee+shops&hl=en&gl=us ``` - `?` starts the list of parameters. - `&` separates one parameter from the next. - Spaces become `+` or `%20`. Other special characters are percent-encoded, so `:` becomes `%3A`. - The order of the parameters does not matter to Google. Here is a real one. On October 9, 2026, DataForSEO, a large SERP API, sent this URL to Google for a US desktop search: ```text https://www.google.com/search?q=google%20search%20url%20parameters&hl=en&gl=US&ie=UTF-8&uule=w+CAIQIFISCQs2MuSEtepUEUK33kOSuTsc ``` Four parameters do the real work there: `q`, `hl`, `gl` and `uule`. The `ie=UTF-8` part tells Google how the text is encoded. ## Google search parameters list The status column shows how we know each one works as of October 9, 2026: - **Tested**: we fetched a US desktop Google page with it through DataForSEO's API and saw the change. - **In live URLs**: a big SERP API used it in its own Google requests that day. - **Reported**: listed as working in Bright Data's February 2026 guide, but we did not test it. | Parameter | What it does | Example | Status | |---|---|---|---| | `q` | Your search words, including operators | `q=coffee+shops` | In live URLs | | `num` | Results per page | `num=100` | Ignored since September 2025 | | `start` | Skips results to reach later pages | `start=10` (page 2) | Reported | | `hl` | Language of Google's interface | `hl=de` | In live URLs | | `gl` | Country to search from | `gl=gb` | In live URLs | | `lr` | Only pages in one language | `lr=lang_fr` | Reported | | `cr` | Only pages from one country | `cr=countryDE` | Reported | | `uule` | An exact place, such as a city | `uule=w+CAIQ...` | In live URLs | | `tbs=qdr:` | Time range: hour, day, week, month, year | `tbs=qdr:w` | Tested | | `tbs=cdr:` | Custom date range | `tbs=cdr:1,cd_min:1/1/2026,cd_max:3/31/2026` | Reported | | `tbs=li:1` | Verbatim: exact words, no synonyms | `tbs=li:1` | Reported | | `tbm` | Result type (older codes) | `tbm=nws` (news) | Reported | | `udm` | Result type (newer codes) | `udm=14` (Web filter) | Tested | | `safe` | SafeSearch on or off | `safe=active` | Reported | | `filter` | Shows near-duplicate results | `filter=0` | Reported | | `nfpr` | Turns off auto-correct | `nfpr=1` | Tested | | `pws` | Asks for no personalization | `pws=0` | Reported; effect unclear | Search operators like `site:` and `filetype:` are not parameters. They go inside `q`. Our guide to [Google search operators](https://serplify.io/blog/how-to-use-google-search-operators/) lists the ones that still work. ## Results per page: what happened to num=100 **`num` used to set how many results Google showed per page. Google stopped honoring it in September 2025, so a page now shows about 10 organic results.** Search Engine Roundtable [first reported](https://www.seroundtable.com/google-search-drops-100-results-parameter-40097.html) the change on September 12, 2025. At first the parameter worked about half the time, and then it stopped working for everyone. Google then told Search Engine Land the parameter "is not something that we formally support." This mattered most for rank trackers. They used `num=100` to see the top 100 in one request. Now they load 10 pages instead. We saw this ourselves: on October 9, 2026, we gave DataForSEO a URL with `num=100`. It dropped the parameter, fetched 10 pages of 10, and billed $0.02, ten times its one-page price. To reach later results by hand, use `start`. It counts from zero, so `start=10` is page 2 and `start=20` is page 3. If you track many keywords, this change affects your costs. We cover that in [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/). ## Language and location: hl, gl, lr, cr and uule These five parameters are easy to mix up, because each one controls a different part of the search. - **`hl`** sets the language of Google's buttons and menus. `hl=es` gives a Spanish interface. - **`gl`** sets the country. `gl=gb` asks for results as a UK searcher would see them. - **`lr`** keeps only pages written in a language. `lr=lang_fr` means French pages only. - **`cr`** keeps only pages from a country. `cr=countryDE` means pages from Germany only. - **`uule`** sets an exact place, down to a city. It is an encoded place name. Google documents the same names in its [Custom Search API reference](https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list), so their meaning is clear. A UK page in English looks like this: ```text https://www.google.com/search?q=plumber&hl=en&gl=gb ``` `gl` stops at the country. For a city, you need `uule`. Our guide on [how to change your Google search location](https://serplify.io/blog/how-to-change-google-search-location/) shows how to build one for any city. There is no reliable URL parameter for device. Google picks the mobile or desktop page from your browser. That is one reason [mobile and desktop rankings differ](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/). ## Date range and verbatim: the tbs parameter **`tbs` holds Google's search tools: time filters, custom dates and verbatim mode.** These match the Tools menu under the search box, which Google describes in its [search filters help page](https://support.google.com/websearch/answer/142143). | Value | Meaning | Example | |---|---|---| | `qdr:h` | Past hour | `tbs=qdr:h` | | `qdr:d` | Past 24 hours | `tbs=qdr:d` | | `qdr:w` | Past week | `tbs=qdr:w` | | `qdr:m` | Past month | `tbs=qdr:m` | | `qdr:y` | Past year | `tbs=qdr:y` | | `cdr:1,cd_min:...,cd_max:...` | Between two dates (month/day/year) | `tbs=cdr:1,cd_min:1/1/2026,cd_max:3/31/2026` | | `li:1` | Verbatim: no synonyms or spelling fixes | `tbs=li:1` | Our test: we searched *google core update* with `tbs=qdr:w` on October 9, 2026, US desktop. Every result that showed a date was from October 7 to 9, so the filter did its job. ## Result type: tbm and udm Google has two ways to pick a results tab: the older `tbm` parameter and the newer `udm` parameter. | Code | Shows | Example | |---|---|---| | `tbm=isch` | Images | `q=red+shoes&tbm=isch` | | `tbm=nws` | News | `q=fed+rates&tbm=nws` | | `tbm=vid` | Videos | `q=tie+a+tie&tbm=vid` | | `udm=2` | Images | `q=red+shoes&udm=2` | | `udm=14` | Web: plain links only | `q=tie+a+tie&udm=14` | | `udm=50` | AI Mode | `q=best+laptop&udm=50` | Google never published a list of `udm` values. People mapped them by watching URLs, so treat them as subject to change. `udm=14` is the best known. It opens the **Web** filter Google added in [May 2024](https://searchengineland.com/google-adds-web-filter-to-only-show-text-based-links-in-google-search-results-440519). We tested it on October 9, 2026, with *how to tie a tie*, US desktop: | | Without `udm=14` | With `udm=14` | |---|---|---| | Blocks on the page | AI Overview, images, short videos, People Also Ask, organic links, related searches | 10 organic links, nothing else | Many people use it to hide AI answers. We cover that use in [how to turn off AI Overviews](https://serplify.io/blog/how-to-turn-off-ai-overviews/). ## Filters: safe, filter, nfpr and pws - **`safe=active`** turns on SafeSearch. `safe=off` turns it off where allowed. - **`filter=0`** shows results Google hides as too similar. It is the link behind "repeat the search with the omitted results included." - **`nfpr=1`** stops Google from fixing your spelling. - **`pws=0`** asked Google not to personalize results. Google does not document it, and we could not confirm it changes anything today. We tested `nfpr` with the typo *pancake recipie*. Without it, Google said "Showing results for pancake recipe" and searched the fixed words. With `nfpr=1`, it searched the words as typed and only offered "Did you mean." ## Why URL parameters are not enough for SEO checks Parameters change what you ask Google for, but they do not change who is asking. Google still sees your IP address, your device and, if you are signed in, your history. Two people can open the same URL and get different pages. For repeatable checks, use a tool that fetches the page from a fixed place and device. A [SERP API](https://serplify.io/serp-api/) does this with plain fields for location, language and device, so you skip building `uule` strings by hand. Ours returns up to 100 results per call and loads the extra pages for you, the job `num=100` used to do. For one quick look, a private window plus `hl`, `gl` and `uule` still gets you close. Frequently asked questions: Q: What are Google search parameters? A: They are short name and value pairs added to a Google search URL after the question mark, like hl=en or gl=us. The q parameter holds your search words. The others change the language, country, page, date range or type of results. Q: What is the correct syntax for a Google search URL? A: Start with https://www.google.com/search, add a question mark, then q= and your words with + for spaces. Add more parameters with &, for example https://www.google.com/search?q=coffee+shops&hl=en&gl=us. Q: Does num=100 still work on Google? A: No. Google stopped honoring it in September 2025 and told Search Engine Land it does not formally support the parameter. Pages show about 10 organic results whatever num you set. To see more, page through with start. Q: How do I search Google for results from the past week only? A: Add tbs=qdr:w to the search URL, or open Tools under the search box and pick Past week. Use qdr:d for the past day, qdr:m for the past month and qdr:y for the past year. Q: What is the difference between gl and hl? A: gl sets the country Google should search from, like gl=gb for the UK. hl sets the language of Google's buttons and menus. Neither sets a city. For a city, Google reads the uule parameter or your IP address. Sources: - Search Engine Roundtable: Google Search drops the 100 results parameter (September 12, 2025): https://www.seroundtable.com/google-search-drops-100-results-parameter-40097.html - Search Engine Land: Google Search confirms it does not support the results per page parameter: https://searchengineland.com/google-search-confirms-it-does-not-support-the-results-per-page-parameter-462244 - Search Engine Land: Google adds 'web' filter to show only text-based links (May 2024): https://searchengineland.com/google-adds-web-filter-to-only-show-text-based-links-in-google-search-results-440519 - Google for Developers: Custom Search API reference (hl, gl, lr, cr, safe, filter, start): https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list - Google Search Help: Narrow your search results with filters: https://support.google.com/websearch/answer/142143 - Bright Data: Google Search URL parameters, 2026 list (February 26, 2026): https://brightdata.com/blog/web-data/google-search-url-parameters --- # How to Cluster Keywords by SERP Overlap (Spreadsheet Method and Python Code) URL: https://serplify.io/blog/how-to-cluster-keywords/ Published: 2026-10-09 > Keyword clustering groups keywords that share Google results, so one page can target them all. Learn the spreadsheet method and a short Python script. Key takeaways: - Keyword clustering by SERP overlap groups keywords that share pages in Google's top 10. If Google shows the same pages for two keywords, one page of yours can target both. - In our October 9, 2026 test of 11 closely related US keywords, only 1 of the 55 keyword pairs shared 3 or more top 10 URLs. Keywords that look alike often get different results. - Compare full URLs, not domains. Big sites rank for many topics, so matching on domains creates false groups. Keyword clustering means sorting your keywords into groups that one page can rank for. The most reliable way to do it is to compare Google's results. If two keywords show many of the same pages in the top 10, Google treats them as one topic, and one page can target both. This guide covers the idea in plain words, a spreadsheet method you can do by hand, and a short Python script that does it for you. ## What keyword clustering is **Keyword clustering is grouping keywords so that each group maps to one page on your site.** It stops you from writing three pages that compete for the same search, and from cramming two different searches into one page. There are two common ways to group keywords: - **By meaning.** You, or a tool, group keywords that look or sound alike. *Keyword clustering* and *keyword clustering tool* land together. - **By SERP overlap.** You fetch the Google results for each keyword and group the ones that share ranking pages. Google decides what belongs together. Grouping by meaning is fast, but it guesses. Grouping by SERP overlap checks the guess against the results page you want to rank on. ## Why SERP overlap beats grouping by meaning We pulled the US English desktop results for 11 closely related keywords on October 9, 2026, using a SERP API (DataForSEO's). Then we counted how many top 10 URLs each pair of keywords shared. Of the 55 pairs, only 3 shared any URL at all, and only 1 pair shared 3 or more. | Keyword pair | Shared top 10 URLs | |---|---| | keyword clustering + what is keyword clustering | 4 | | keyword clustering + keyword grouping | 1 | | what are sitelinks + how to get sitelinks | 1 | | keyword clustering + keyword clustering tool | 0 | | click through rate formula + how to calculate click through rate | 0 | | click through rate formula + ctr calculator | 0 | A grouping by meaning would put all of these pairs together. Google did not. The results for *keyword clustering tool* were mostly lists of tools and tool home pages, while *keyword clustering* mostly showed guides. The *ctr calculator* results were calculator pages, and *click through rate formula* showed explainers from finance and email marketing sites. So one guide aimed at both *keyword clustering* and *keyword clustering tool* would be fighting two different results pages. Those searchers want different things, and the results show it. This is the same reading you do in a [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/), applied to a whole keyword list at once. ## How to cluster keywords in a spreadsheet This works well for up to about 50 keywords. 1. **List your keywords** in column A, one per row, with the most important (often the highest volume) at the top. 2. **Get the top 10 URLs for each keyword.** Search in a private window with your target location set, or export them from a rank tracker. Our guide to [checking Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) shows how to see the page that searchers see. Paste the 10 URLs into columns B to K of the keyword's row. 3. **Count the overlap with the top keyword.** In row 3, column L, this formula counts how many of row 3's URLs also appear in row 2. Copy it down the column. `=SUMPRODUCT((B3:K3<>"")*COUNTIF($B$2:$K$2,B3:K3))` 4. **Group the matches.** Every keyword with a count of 3 or more joins the top keyword's group. 5. **Repeat with the next keyword** that is not in a group yet. Point the `$B$2:$K$2` part of the formula at its row and count again. Clean the URLs before you compare them. The same page with and without `www`, or with a `#section` on the end, will not match in a sheet. Use find and replace to strip `https://`, `www.` and anything after a `#`. ## How to cluster keywords with Python For bigger lists, a script saves hours. The one below has two parts. The `cluster` function takes a list of URLs for each keyword, so it works with data from any source. The `top_urls` helper fills that list from a SERP API, using the documented `POST /v1/serp/search` request, which returns the page's results in `data.items`. ```python import requests API_KEY = "live_your_key_here" def top_urls(keyword, location_code=2840, device="desktop"): """Fetch one Google results page and return its top 10 organic URLs.""" r = requests.post( "https://api.serplify.io/v1/serp/search", headers={"Authorization": f"Bearer {API_KEY}"}, json={ "keyword": keyword, "location": {"code": location_code}, "language": {"code": "en"}, "device": device, "depth": 10, "format": "standard", }, timeout=60, ) r.raise_for_status() body = r.json() if body["status"] != "ok": # "accepted": the search moved to the task queue raise RuntimeError(f"{keyword}: not ready, poll {body['data']['status_url']}") organic = [i for i in body["data"]["items"] if i["type"] == "organic"] organic.sort(key=lambda i: i["rank_group"]) return [i["url"] for i in organic[:10]] def clean(url): """Make two links to the same page look the same.""" url = url.split("#")[0].rstrip("/") for prefix in ("https://", "http://", "www."): url = url.removeprefix(prefix) return url def cluster(serps, min_shared=3): """Group keywords whose top 10 URLs overlap. serps maps each keyword to its list of top URLs. Put your most important keywords first: each group starts from the first unused one. """ pages = {kw: {clean(u) for u in urls} for kw, urls in serps.items()} groups, used = [], set() for seed in serps: if seed in used: continue group = [seed] used.add(seed) for kw in serps: if kw not in used and len(pages[seed] & pages[kw]) >= min_shared: group.append(kw) used.add(kw) groups.append(group) return groups if __name__ == "__main__": keywords = ["keyword clustering", "keyword clustering tool", "what is keyword clustering", "keyword grouping"] serps = {kw: top_urls(kw) for kw in keywords} for group in cluster(serps): print(group) ``` It needs Python 3.9 or newer and the `requests` package. We ran the `cluster` function on the top 10 URLs we pulled for these four keywords on October 9, 2026. It printed three groups: ```text ['keyword clustering', 'what is keyword clustering'] ['keyword clustering tool'] ['keyword grouping'] ``` That is one page for the first two keywords, and separate pages (or no page) for the other two. If your URLs come from somewhere else, such as a rank tracker export or another API, skip `top_urls`. Build the `serps` dictionary yourself, with each keyword pointing to its list of URLs, and pass it to `cluster`. ### Compare URLs, not domains It is tempting to match on domains instead, because more pairs match. Do not do it. In our 11 keyword test, *how to calculate click through rate* and *what are sitelinks* shared two domains, adriel.com and quora.com. They shared zero pages. Big sites rank for hundreds of unrelated topics, so a domain match says almost nothing about intent. ## How many shared URLs should count as a match? The `min_shared` number sets how strict the grouping is. Tools let you choose it too. SE Ranking, for example, lets you set it anywhere from 1 to 9 shared URLs. - **Lower numbers** (1 or 2) make bigger groups, with more risk of mixing different intents. At 1, our test merged *keyword grouping* into the *keyword clustering* group because of a single shared page. - **Higher numbers** (4 and up) make small, tight groups and leave more keywords alone. We start at 3 and then read the groups by eye. If a group looks wrong, look at the two results pages side by side before you trust the number. The script above compares each keyword with the group's first keyword only. SE Ranking calls this soft grouping, and it uses the highest volume keyword as that first keyword. Hard grouping requires every keyword in a group to match every other one. It makes smaller groups, and it catches more mixed intents. ## How to turn clusters into pages 1. **One cluster, one page.** The first keyword in the group is the page's main keyword, so judge [keyword difficulty](https://serplify.io/blog/what-is-keyword-difficulty/) on that keyword's results. Use the others in headings, in the intro and in the FAQ. 2. **Groups of one still count.** A keyword that matched nothing either needs its own page or does not fit your site. 3. **Check what you already have.** If two of your pages target the same cluster, merge them or make them clearly different. Otherwise they compete with each other. 4. **Re-run it later.** Results change, so a cluster is a snapshot. Check again before a big content plan, and use [bulk rank tracking](https://serplify.io/blog/how-to-track-rankings-in-bulk/) to see which page Google picks for each keyword once you publish. ## What SERP clustering costs You need one results page per keyword. Checking by hand is free but slow. With an API, the cost is the price per results page times the number of keywords. At Serplify's price of $0.005 per results page (checked October 2026), 500 keywords cost $2.50 to fetch once. Details are on the [SERP API page](https://serplify.io/serp-api/). Store the URLs you fetch, and you can re-cluster with a different `min_shared` value without paying again. Frequently asked questions: Q: What is keyword clustering? A: Keyword clustering is sorting a keyword list into groups that one page can rank for. The SERP method puts two keywords in the same group when Google shows many of the same pages for both. Each group then becomes one page on your site. Q: What is an example of keyword clustering? A: On October 9, 2026, the US results for keyword clustering and what is keyword clustering shared 4 of their top 10 pages, so one guide can target both. The results for keyword clustering tool shared none of them and were mostly lists of tools, so that keyword needs a different page. Q: How many keywords should be in a cluster? A: There is no set number. A cluster holds every keyword that shares enough results with the main one. Some clusters have twenty keywords, and many have just one. A group of one is still useful, because it tells you that keyword needs its own page. Q: Is keyword clustering the same as a topic cluster? A: No. Keyword clustering decides which keywords one page should target. A topic cluster is a way to organize many pages, with one main guide that links to related posts and back. You often use keyword clusters to plan the pages inside a topic cluster. Sources: - SE Ranking: Keyword clustering, grouping accuracy and soft vs hard grouping: https://seranking.com/blog/keyword-clustering/ - Serplify docs: SERP API response format: https://docs.serplify.io/serp-api/response-format/ - Serplify docs: Live search request: https://docs.serplify.io/serp-api/live-search/ --- # How to Do a SERP Analysis in 7 Steps (With a Real Example) URL: https://serplify.io/blog/how-to-do-a-serp-analysis/ Published: 2026-09-06 · Updated: 2026-10-09 > A SERP analysis shows what Google wants for a keyword before you write. Seven steps, with a real example, to read intent, features, and your chance to rank. Key takeaways: - A SERP analysis is reading the results page for a keyword to learn what Google rewards. It answers four questions: what the searcher wants, which format wins, which features take the clicks, and how strong the top ten are. - Do it for the location and device your audience uses. In our September 2026 sample, mobile and desktop pages had different blocks for the same query. - Count the blocks above the first organic result. A normal website led the page on only 14.5 percent of 200 US SERPs we fetched. - Write the analysis down. One row per keyword, with intent, format, features, and a go or no-go call. A SERP analysis is the ten minutes that save you ten hours. Before you write, design, or build for a keyword, you open the real results page and read it. What does the searcher want? What kind of page wins? Which blocks take the clicks? Who is already there? This guide walks through the seven steps with one worked example, *best running shoes*, using the page we fetched for US desktop on September 6, 2026. ## What SERP analysis means **SERP** is the search engine results page. If the term is new, start with [what a SERP is](https://serplify.io/blog/what-is-a-serp/). **SERP analysis** is studying that page for one keyword to answer four questions: 1. What does the person searching want? 2. What page format does Google reward for it? 3. Which SERP features are on the page, and who owns them? 4. How strong are the pages in the top ten? The answers tell you whether to go after the keyword, and if so, what to make. ## Step 1: Fetch the real page, not your own Your browser shows you a personalized page. Google adjusts by your location, device, language, and history. For analysis you want the page your audience sees. Two ways to get it: - **By hand.** Open a private window and set the location. Our guide on [changing your Google search location](https://serplify.io/blog/how-to-change-google-search-location/) covers the methods. - **By tool.** A rank tracker or SERP API fetches the page for a chosen city and device and returns every block with its position. That is how we pulled the example below. Search the plain keyword, the way a customer would. Save [Google search operators](https://serplify.io/blog/how-to-use-google-search-operators/) like `site:` for later, when you want to see how much a competitor has written on the topic. Pick the device first. In our 200-page sample, video blocks appeared on 37 percent of mobile pages but 26 percent of desktop pages for the same queries. Mobile is the default for most consumer topics. ## Step 2: Read the intent from the results, not the keyword Do not guess intent from the words. Read it from what Google chose to show. Google has already run the test with millions of searchers. There are four common intents: | Intent | The searcher wants | What the page shows | |---|---|---| | Informational | To learn something | Guides, AI Overview, People Also Ask, video | | Commercial | To compare before buying | "Best X" lists, reviews, product carousels, forums | | Transactional | To buy or do something now | Product pages, shopping ads, brand sites | | Local | Something nearby | Map pack, directory sites, reviews | **Example.** The *best running shoes* page has an AI Overview, a Runner's World buying guide, a Reddit thread, a People Also Ask block, and a popular products carousel. That is commercial intent with a strong "help me choose" flavor. A product page for one shoe would not fit. A comparison guide would. ## Step 3: Note the format that wins Look at the top five organic results and write down what kind of page each is. Blog guide, product category, tool, video, forum thread, homepage. **Example.** Runner's World is a long buying guide with picks by category. Reddit is a discussion. Sixminutemile and RunRepeat are review sites with test data. Nike is a category page. YouTube is a video. Four of the top six are editorial picks with testing. That is the format. If every winner is the same format, match it. If the formats are mixed, Google is unsure, and a strong page in either format can win. ## Step 4: Map the SERP features and who owns them List every block on the page in order. Mark which ones you could win, which you could be cited in, and which you cannot touch. Our [SERP features guide](https://serplify.io/blog/serp-features-explained/) explains each one. **Example, top to bottom:** | Spot | Block | Can you win it? | |---|---|---| | 1 | AI Overview | Cited only, if you rank top ten | | 2 | Organic: Runner's World | Yes, by ranking | | 3 | Organic: Reddit | No, forum | | 4 | People Also Ask | Yes, with question headings | | 5 | Popular products | Only with a product feed | | 6 to 10 | Organic results | Yes, by ranking | | 11 | Perspectives | No, social and forum posts | | 12 | Organic: Amazon | No | | 13 | Related searches | No, but free keyword ideas | Now count blocks above the first organic result. Here it is one, the AI Overview. Across our 200-page sample the first organic result was in the very first spot on only 14.5 percent of pages. For how-to questions it was 1 percent. The more blocks above rank one, the fewer clicks rank one gets. ## Step 5: Judge how strong the competition is For each of the top ten organic results, note three things: - **Site strength.** Domain age, backlinks, brand. A backlink tool gives a number. Without one, ask: have I heard of this site? - **Page quality.** Does it show real testing, real photos, real data? Or is it a thin rewrite? - **Freshness.** When was it updated? Google dates many results in the snippet. SEO tools sum up the first point in a single score called keyword difficulty. Read it as a rough guide only. Our guide to [what keyword difficulty means](https://serplify.io/blog/what-is-keyword-difficulty/) shows how far two tools can disagree on the same keyword. **Example.** Runner's World, RunRepeat, Nike, Amazon, and YouTube are strong brands. Sixminutemile is a smaller review site that ranks on test data. Reddit ranks on being Reddit. A new site could realistically aim at the sixminutemile spot, with better tests, not at the Nike spot. ## Step 6: Estimate the real prize Volume tells you how many people search. The page tells you how many of them will click a result like yours. Use the click curve. First Page Sage's September 2026 update splits it by whether Google shows an AI answer, such as an AI Overview. | Organic position | No AI answer | AI answer present | |---|---|---| | 1 | 22.6% | 3.6% | | 3 | 5.8% | 0.8% | | 6 | 1.8% | 0.3% | | 10 | 0.5% | 0.1% | Backlinko found the top three take 54.4 percent between them. Then discount for what else sits above you. A map pack takes most local clicks. **Example.** Say your page reaches organic spot 6, under an AI Overview and a product carousel. The curve says about 0.3 percent of searchers will click. On a keyword with 300,000 searches a month, that is still about 900 visits. On a 200-search keyword it is less than one. ## Step 7: Make the call and write it down Every analysis ends with one of three decisions: - **Go.** The intent matches what you can build, the format is clear, and at least one spot in the top ten looks reachable. - **Go for a feature, not the ranking.** The organic spots are locked by big brands, but People Also Ask or the local pack is open. - **Skip.** Intent does not fit, or the page is all brands, forums, and shopping blocks. Keep one row per keyword in a sheet: keyword, device, location, intent, winning format, features present, features you can win, strongest competitor, decision. That sheet becomes your content plan. If two keywords show mostly the same top pages, one page of yours can target both. Our guide on [how to cluster keywords](https://serplify.io/blog/how-to-cluster-keywords/) shows how to group them by shared results. ## Doing it at scale Seven steps by hand works for 20 keywords. It does not work for 2,000. For a big list, fetch every SERP with a rank tracker that exports feature types, or a [SERP API that returns each block with its type](https://serplify.io/serp-api/). Then filter in a spreadsheet. Keywords with People Also Ask but no AI Overview. Keywords where the first organic result is in the top spot. Keywords where no result in the top ten is a major brand. Hand-check the short list. We describe the feature side of that process in [how to find SERP feature opportunities](https://serplify.io/blog/how-to-find-serp-feature-opportunities/), and the volume side in [how to track rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/). ## Common mistakes - **Analyzing your own personalized page.** Set the location and device, or use a tool. - **Reading intent from the keyword.** *Running shoes* looks transactional. The page says commercial research. - **Ignoring the blocks above rank one.** Rank one under an AI Overview is not the rank one of 2020. - **Checking once.** SERPs move with every core update. Recheck important keywords every one to three months, and after any core update. A keyword that showed ten guides last year may show an AI Overview and a shopping block now. - **Skipping the write-up.** An analysis in your head is gone by next week. ## The seven steps in one paragraph Fetch the real page for your audience's location and device. Read intent from the results. Note the winning format. Map the features and who owns them. Judge the competition. Estimate the real clicks. Decide, and write it down. Ten minutes per keyword, and you stop writing pages that never had a chance. Frequently asked questions: Q: What is a SERP analysis? A: It is the process of studying the search results page for a keyword to understand what Google shows and why. You look at the intent behind the query, the types of pages that rank, the SERP features on the page, and the strength of the sites in the top ten. The output is a decision: what to build, or whether to skip the keyword. Q: How long does a SERP analysis take? A: About ten minutes per keyword by hand, using the seven steps in this guide. With a SERP API or a rank tracker that exports feature data, you can do the first pass on hundreds of keywords in a spreadsheet and then hand-check the ones that matter. Q: What tools do I need for SERP analysis? A: At minimum, a private browser window with the location set. Beyond that, a rank tracker or SERP API to fetch pages by city and device, and a backlink tool to judge the strength of ranking sites. None of it is required to start. Q: How is SERP analysis different from keyword research? A: Keyword research finds queries and estimates their volume and difficulty. SERP analysis looks at the real page for one query to see what it takes to rank. Research tells you a keyword exists. Analysis tells you whether to go after it and how. Sources: - Google Search Central: Creating helpful, reliable, people-first content: https://developers.google.com/search/docs/fundamentals/creating-helpful-content - First Page Sage: Google click-through rates by ranking position (updated September 22, 2026): https://firstpagesage.com/reports/google-click-through-rates-ctrs-by-ranking-position/ - Backlinko: organic CTR study of 4 million search results: https://backlinko.com/google-ctr-stats --- # How to Find All Pages on a Website: 5 Methods, From Quick to Complete URL: https://serplify.io/blog/how-to-find-all-pages-on-a-website/ Published: 2026-10-09 > Find every page on a website with the sitemap, a site: search, Search Console, a crawler, and the Wayback Machine. Real examples and the limits of each one. Key takeaways: - Start with /robots.txt. Its Sitemap line points to the real sitemap. On serplify.io, the real file is /sitemap-index.xml, and /sitemap.xml redirects to it. - A site: search shows a sample, not a count. On October 9, 2026, Google estimated about 70 results for site:serplify.io/blog/ but listed 12, while the sitemap had 44 blog URLs. - No single method finds everything. Compare the sitemap with a crawl to catch orphan pages, and use the Wayback Machine to find pages that were deleted. To find all pages on a website, start with its sitemap. Open the site's robots.txt file, follow the Sitemap line, and you get the list of pages the owner wants search engines to see. Then fill the gaps with a site: search, Search Console, a crawler, and the Wayback Machine. No single method finds every page. Each one sees the site from a different angle. Below are all five, from the quickest to the most complete. The examples use our own site, serplify.io, checked on October 9, 2026. ## The five methods at a glance | Method | What it finds | What it misses | Need to own the site? | |---|---|---|---| | Sitemap | Pages the owner lists | Pages left out of the sitemap | No | | site: search | A sample of pages Google indexed | Most pages on big sites | No | | Search Console Pages report | Indexed and non-indexed totals, with reasons | Full lists past 1,000 example rows | Yes | | A crawler | Every page linked from another page | Orphan pages with no links to them | No | | Wayback Machine | Old and deleted pages | New pages the archive has not saved | No | ## Method 1: Check the sitemap (start with robots.txt) **A sitemap is a file that lists the pages a site wants search engines to find.** Google allows up to 50,000 URLs or 50 MB in one sitemap. Bigger sites split their pages across many sitemaps and list them in a sitemap index file. 1. Open `https://example.com/robots.txt` in your browser. 2. Look for a line that starts with `Sitemap:`. 3. Open that address. If it is a sitemap index, open each sitemap it lists. Here is the robots.txt file for serplify.io on October 9, 2026: ```text User-agent: * Allow: / Sitemap: https://serplify.io/sitemap-index.xml ``` Most people guess /sitemap.xml first. On our site, that address now redirects to /sitemap-index.xml, which is also what the robots.txt line points to. Without a redirect like that, a guess can end in a 404. That index lists one file, /sitemap-0.xml, which held 53 URLs: 37 blog posts, 6 topic pages, the blog home page, and 9 other pages. To count the URLs in a sitemap, you can run one line in a terminal: ```bash curl -s https://serplify.io/sitemap-0.xml | grep -o "" | wc -l ``` If robots.txt has no Sitemap line, try the common addresses. Many sites use /sitemap.xml. WordPress sites often use /wp-sitemap.xml, or /sitemap_index.xml with the Yoast SEO plugin. **Limits.** A sitemap only shows what the owner chose to list. It can be out of date. Pages the owner keeps out of search, such as thank-you pages, are often missing. Some sites also publish a file at `/llms.txt`. It is a short list of the pages the owner thinks matter most, written for AI tools. It is never a full list, but it tells you which pages the owner cares about. Our guide to [what llms.txt is](https://serplify.io/blog/what-is-llms-txt/) explains the format. ## Method 2: Search Google with site: Type `site:example.com` into Google to see pages Google has indexed from that domain. Add a folder to narrow it, such as `site:example.com/blog/`. Our guide to [Google search operators](https://serplify.io/blog/how-to-use-google-search-operators/) covers more ways to filter. The site: search is quick, but it does not give you a real count. We ran two site: searches for US desktop results on October 9, 2026, and saved the raw result pages: | Search | Google's estimate | Pages Google listed | |---|---|---| | site:serplify.io/blog/ | About 70 results | 12 | | site:serplify.io | About 10 results | 10, with 3 from the docs subdomain | At the same time, our sitemap had 44 blog URLs. So the folder search estimated more pages than exist and showed fewer than a third of them. The whole-domain search estimated fewer pages than the blog alone. Google's own docs warn that the site: operator does not always return every indexed URL. Use it for a quick look, or to spot pages that should not be in Google at all. If you need site: checks across hundreds of domains, a [SERP API](https://serplify.io/serp-api/) returns each results page as data you can store and compare. ## Method 3: Use the Search Console Pages report (your own site) If you own the site, Google Search Console shows what Google knows about it. 1. Open Search Console and pick your property. 2. Go to **Indexing**, then **Pages**. 3. Read the two totals: indexed and not indexed. 4. Scroll to **Why pages aren't indexed** and click a reason to see example URLs. Google says the totals are complete from its point of view. The example lists are not. Each one stops at 1,000 rows, and Google says it may not show every URL even below that. If a page you expected is missing or not indexed, our guide on [why a website is not showing up on Google](https://serplify.io/blog/why-is-my-website-not-showing-up-on-google/) walks through the usual causes. The **Performance** report adds one more list. Its Pages tab shows every page that earned an impression in Google. To pull longer lists, use the [Search Console API](https://serplify.io/blog/google-search-console-api/). ## Method 4: Run a crawler **A crawler is a program that opens a page, follows every link on it, and repeats.** Googlebot works this way, and you can run a small one yourself. Screaming Frog's SEO Spider is a common choice. The free version crawls up to 500 URLs. A licence costs £199 a year and removes the limit (checked October 2026). 1. Enter the home page address and press **Start**. 2. When the crawl ends, open the **Internal** tab and filter to **HTML**. 3. Export the list. A crawler finds only pages that something links to. It misses **orphan pages**, which are pages no other page links to. To find them, compare your crawl with the sitemap. Any URL in the sitemap that the crawl never reached is an orphan. Be polite on sites you do not own. Keep the crawl speed low and let the crawler obey robots.txt. ## Method 5: Find old and deleted pages in the Wayback Machine The Internet Archive's Wayback Machine saves copies of web pages over time. Its CDX API lists every address it has stored for a domain. Paste this into your browser and swap in any domain: ```text https://web.archive.org/cdx/search/cdx?url=serplify.io/*&fl=original,timestamp,statuscode&collapse=urlkey ``` Each line shows one URL, the first time it was saved, and the status code it returned then. On October 9, 2026, that query returned 149 unique URLs for serplify.io. The oldest was saved in 2016. Most came from 2017, years before this site launched, including pages like /academy and /affiliate. Many others were image and style files. That is the value of the archive. It finds pages that no sitemap or crawl will show today. If old pages still get links from other sites, redirect each one to its closest live page. That way the [referral visits](https://serplify.io/blog/what-is-referral-traffic/) from those links are not lost. **Limits.** The archive only knows pages it happened to save. Pages published recently may not be there yet. ## How to find hidden pages on a website "Hidden" usually means a page with no link in the menu or anywhere else. Three checks catch most of them: 1. Compare the sitemap with a crawl. Sitemap URLs the crawl missed are orphans. 2. Read the Wayback list for old paths that still load. 3. Read the robots.txt file. Its Disallow lines name folders the owner asked crawlers to skip. Stay on public pages. Admin panels, account areas, and anything behind a login are private, and you should not try to get into them. ## Which method to use For a quick count, use the sitemap. For your own site, add the Search Console Pages report. For a full audit, run a crawler and compare it with the sitemap. For a site's history, or a competitor's old pages, use the Wayback Machine. A site: search is best kept for spot checks. Frequently asked questions: Q: How do I see how many pages a website has? A: Count the URLs in its sitemap. Open /robots.txt, follow the Sitemap line, and count the loc entries in each file. If you own the site, the Search Console Pages report gives the number of indexed and non-indexed pages Google knows about. Q: How do I find hidden pages on a website? A: Compare the sitemap with a crawl of the site. Pages in the sitemap that the crawl never reached have no links pointing to them. The Wayback Machine also lists old pages that are no longer linked. Do not try to open private areas, such as admin or account pages. Q: Why does a site: search show a different number than the sitemap? A: The number Google shows next to a site: search is a rough estimate, and the list is a sample. Google says the operator does not always return every indexed URL. Use the sitemap or Search Console for counts. Q: Can I find pages that were deleted? A: Yes, if the Internet Archive saved them. The Wayback Machine's CDX API lists every URL it has stored for a domain, with the date it was first saved. You can open the archived copy of each one. Sources: - Google Search Central: Build and submit a sitemap: https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap - Sitemaps.org: Sitemap protocol: https://www.sitemaps.org/protocol.html - Google Search Central: The site: search operator: https://developers.google.com/search/docs/monitor-debug/search-operators/all-search-site - Search Console Help: Page indexing report: https://support.google.com/webmasters/answer/7440203 - Screaming Frog: SEO Spider (free crawl limit and licence price): https://www.screamingfrog.co.uk/seo-spider/ - Internet Archive: Wayback CDX Server API: https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server --- # How to Find and Track SERP Feature Opportunities for Your Keywords URL: https://serplify.io/blog/how-to-find-serp-feature-opportunities/ Published: 2026-09-06 · Updated: 2026-10-09 > Find SERP feature opportunities you can win, like People Also Ask, local packs, and video. A step-by-step method, plus a cheap way to track them over time. Key takeaways: - A SERP feature opportunity is a block on a results page that you could realistically own: People Also Ask, a local pack spot, a video row, or a rich result. - Start with keywords where you already rank in the top ten. Google pulls most feature content from pages it already trusts for that query. - In our September 2026 sample, People Also Ask showed on 93 percent of pages and video on 61 percent of how-to searches. Those two are the biggest open doors. - Track features per keyword, not just rank. A rank tracker that records feature types, or a SERP API and a spreadsheet, is enough to see what arrives and what vanishes. Most SEO work aims at one thing: a higher organic rank. That is fine, but it ignores half the page. The map pack, the question box, the video row, and the rich results around your listing are all places you can appear. Many of them are easier to win than moving from rank six to rank three. This guide shows how to find those SERP feature opportunities on your keywords and how to track them without a big tool budget. ## What counts as an opportunity A **SERP feature** is any block on a results page beyond the plain links. The [full list of SERP features](https://serplify.io/blog/serp-features-explained/) explains each one. An **opportunity** is a feature that meets three tests: 1. **It appears on a keyword that matters to you.** 2. **You could realistically own it.** Not every feature is winnable. Forum blocks pull from Reddit. Knowledge panels belong to the entity being searched. AI Overviews can cite you but cannot be owned. 3. **The current owner is beatable, or the spot is empty.** A People Also Ask answer from a thin page is an opening. One from a major reference site is a harder fight. The features that pass these tests most often: | Feature | What it takes to win | How common it is | |---|---|---| | People Also Ask | A direct answer under a matching heading | 93% of pages in our September 2026 sample | | Local pack | A complete Google Business Profile in the right area | 100% of local searches | | Video | A video that answers the query, added to your page | 61% of how-to questions | | Rich results (stars, FAQs, prices, how-to steps) | The right structured data on a page that already ranks | Varies by topic | | Sitelinks | Clear site structure, mostly on brand searches | Brand queries | | Image results | Descriptive filenames, alt text, and original images | Visual topics | | AI Overview citation | A clear, sourced answer on a page in the top ten | 68.5% of pages, 95% of questions | ## Step 1: Start with keywords where you already rank Google fills most features from pages it already ranks for the query. A People Also Ask answer usually comes from a page in the top 20. A [featured snippet](https://serplify.io/blog/how-to-get-a-featured-snippet/), where they still exist, nearly always comes from page one. So your first list is not your wish list. It is every keyword where you sit in positions 1 to 20. Pull that from Search Console (Performance report, filter by position) or from your rank tracker. If none of your pages rank in the top 20 yet, this list will be empty. Build and improve pages first, then come back. ## Step 2: Fetch the real page for each keyword You need to see the page your audience sees, on their device and in their location. Your own browser is personalized. For 20 keywords, a private browser window works. Set the location with the method in [how to change your Google search location](https://serplify.io/blog/how-to-change-google-search-location/). For more than that, use a tool. A rank tracker that records SERP features, or a SERP API that returns every block as a typed item, gives you the full page for each keyword in seconds. This is the request we use: ```json { "keyword": "how to reduce bounce rate", "location": { "code": 2840 }, "language": { "code": "en" }, "device": "mobile", "format": "advanced" } ``` The response lists every item with a `type` such as `people_also_ask`, `local_pack`, or `video`, plus its position and the domain it points to. ## Step 3: Build the opportunity table Make a sheet with one row per keyword and these columns: | Column | What goes in it | |---|---| | Keyword | The query | | Your rank | Organic position, or blank | | Features present | Every block type on the page | | Features you own | Blocks that point to your domain | | Winnable features | Blocks from the table above that you do not own | | Current owner | Domain in that block now | | Note | What you would need to do | Fill it in. With a SERP API and a spreadsheet, the "features present" and "features you own" columns can be filled automatically by matching the domain field. ## Step 4: Score and sort Not every opportunity is worth the same. Score each row from 1 to 5 on three things and add them up: - **Reach.** Does the feature sit above the organic results? People Also Ask often sits in spot 3 or 4. The local pack is usually first. Higher is better. - **Effort.** A People Also Ask answer is a paragraph. A local pack spot is a profile plus reviews. A video is a video. - **Beatable owner.** An empty spot or a weak page scores 5. A major brand scores 1. Sort by total. The top of the list is your plan for the month. ## Step 5: Win the feature Each feature has its own playbook. The short version: ### People Also Ask Find the exact questions on the page. Add each one as a heading on the page that already ranks, and answer it in two to four plain sentences directly under the heading. Do not bury the answer. Google lifts the first clear answer it finds. One page can win several questions. Since People Also Ask was on 93 percent of the pages in our sample, this is the most repeatable win in SEO right now. The [People Also Ask playbook](https://serplify.io/blog/how-to-rank-in-people-also-ask/) has the full method, with an example answer. ### Local pack The local pack is driven by your Google Business Profile, not your site. Google's own help page lists the three factors: relevance, distance, and prominence. Pick the right primary category, fill every field, collect reviews and answer them, and post updates. Then check the pack from inside the area you serve, because it changes street by street. See [how to check local rankings for any city](https://serplify.io/blog/how-to-check-local-rankings/). ### Video If video shows on the page and none of the top videos are great, make one. Use the query in the title. Put it on YouTube and embed it on the ranking page with video structured data so Google links the two. ### Rich results Rich results come from structured data. Product pages get stars and prices with Product markup. Recipe pages get times and calories. Google's structured data gallery lists every type and the exact fields. Add the markup, then test it with the Rich Results Test. Rich results only show for pages that already rank, so pair this with pages in the top ten. ### AI Overview citation You cannot own it, but you can be one of its sources. A top ten ranking helps but does not decide it. In our [October 2026 AI Overviews study](https://serplify.io/blog/google-ai-overviews-study/), only 26 percent of cited links were top ten results for the same search. A direct answer near the top, under a clear heading, gives Google an easy passage to cite. There is no special markup. Do the People Also Ask work above and you are doing the AI Overview work too. ## Step 6: Track features over time A feature you won can vanish. A feature that was not there can arrive above you and cut your clicks. Tracking tells you which happened. **What to record, per keyword, on a schedule:** - Features present - Features you own - Position of the first organic result - Your organic rank **How often:** weekly for your top 50 keywords, monthly for the rest, and right after any Google core update. **How to do it cheaply:** a rank tracker with feature tracking usually includes this in the plan price. With a SERP API, 500 keywords checked weekly is about 2,000 fetches a month. At Serplify's [$0.005 per SERP](https://serplify.io/pricing/) that is about $10 a month, and the JSON already has every block typed. Our guide on [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) shows the setup. **What to look for in the log:** - **New feature above you.** Explains a traffic drop with no rank change. Decide whether you can win it. - **Feature lost.** You had a People Also Ask spot and now a competitor does. Refresh the answer. - **Feature gone from the page entirely.** Google changed its mind about the query. Recheck intent with a quick [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/). ## A worked example Take the keyword *how to reduce bounce rate*. Suppose you rank seventh with a long guide. The mobile page has an AI Overview, three organic results, a People Also Ask block with four questions, a video row, four more organic results, and related searches. - **People Also Ask.** Two of the four questions have answers from thin pages. Add both questions as headings with direct answers. Effort: an hour. Reach: spot 5 on the page. - **Video.** The video row shows three videos, all older than two years. A fresh eight-minute walkthrough could take a spot. Effort: a day. - **AI Overview.** You are in the top ten, so tighten the opening of the guide to a direct two-sentence answer. Effort: 20 minutes. Three moves, none of which require outranking the six pages above you. That is the point of feature opportunities. Frequently asked questions: Q: What is a SERP feature opportunity? A: It is a SERP feature on a keyword you care about that you could win with a reasonable amount of work. A People Also Ask question you can answer, a local pack you qualify for, a video row where no strong video exists, or a rich result you can turn on with structured data. Q: How do I know which SERP features I already own? A: Fetch the page for each keyword and check the URL inside each feature. Rank trackers that record features usually flag the ones that point to your domain. With a SERP API, filter items by type and compare the domain field to yours. Q: Can I track SERP features for free? A: For a handful of keywords, yes, by checking the page by hand in a private window each week and noting the blocks. For more than that, a SERP API costs a fraction of a cent per page, so 500 keywords checked weekly is about $10 a month on Serplify. Q: Do SERP features change often? A: Yes. Features appear and disappear with Google's updates and with changes in what is on the web. AI Overviews went from rare to common on informational queries in about eighteen months. Check important keywords at least monthly. Q: Should I chase featured snippets in 2026? A: Only where they still exist. None of the 200 pages in our September 2026 sample had one. That was one day in one country, but it matches the trend: AI Overviews now cover most of the same queries. People Also Ask is the better target for the same kind of content. Our guide on getting a featured snippet shows where they still appear. Sources: - Google Search Central: Structured data gallery: https://developers.google.com/search/docs/appearance/structured-data/search-gallery - Google Search Central: Video SEO best practices: https://developers.google.com/search/docs/appearance/video - Google Business Profile Help: How to improve your local ranking on Google: https://support.google.com/business/answer/7091 - Serplify docs: SERP feature types: https://docs.serplify.io/serp-api/feature-types/ --- # How to Get a Featured Snippet in 2026 (and Why There Are So Few Left) URL: https://serplify.io/blog/how-to-get-a-featured-snippet/ Published: 2026-09-06 · Updated: 2026-10-09 > How to get a featured snippet: rank on page one, use the question as a heading, and answer in 40 to 60 words. Plus why so few are left in 2026. Key takeaways: - A featured snippet is a box near the top of the results with a short answer lifted from one page, plus a link to it. It is sometimes called position zero. - They are rare now. None of the 200 pages in our September 2026 sample had one. That was one day in one country (the US), but AI Overviews, on 68.5 percent of pages, now do the same job for most questions. - Snippets still show on definition, quick-fact, step, and comparison queries where Google does not run an AI Overview, and in many non-English markets. - To win one: rank on page one, put the question in a heading, and answer in 40 to 60 words or a clean list or table directly under it. The same format wins People Also Ask questions and AI Overview citations. For most of the last decade, the featured snippet was the prize in SEO. A box above the first result, your words inside it, your link under it. Position zero. Then Google launched AI Overviews. This guide explains what that did to featured snippets, where they still appear, and the format that wins one when the chance exists. The short version: the prize got rarer, but the work to win it now pays out in three places instead of one. ## What a featured snippet is A **featured snippet** is a highlighted box near the top of a Google results page. It shows a short answer taken word for word from one web page, with the page's title and link. Google picks it automatically. There is no markup to request one. Four shapes are common: | Type | Looks like | Wins on | |---|---|---| | Paragraph | Two to four sentences | Definitions, "what is", "why", quick facts | | List | Numbered or bulleted items | "How to", steps, rankings | | Table | A small grid | Comparisons, prices, specs | | Video | A clip with a timestamp | "How to" with a physical task | The page the snippet came from usually also appears in the normal results below, so it gets two spots. That double listing is why snippets were worth chasing. ## What happened to them To measure how common snippets are now, we fetched 200 live US Google pages on September 6, 2026. That was 100 queries across how-to questions, "best X" searches, local searches, and brand names, each on desktop and mobile. **None of the 200 pages had a featured snippet.** That was one day, in one country, so read it as a strong sign rather than a rule. An automated fetch can also miss a rare snippet layout. A larger check pointed the same way. Our [October 2026 study of 494 US searches](https://serplify.io/blog/google-ai-overviews-study/) also found no featured snippets, on any page. AI Overviews appeared on 68.5 percent of the pages, and on 95 percent of the question and "best X" searches. People Also Ask appeared on 93 percent. The pattern is simple. The overview does the snippet's job with more words and more links. So on the queries that used to produce snippets, the overview took their place. The full frequency table, with what each block does to clicks, is in [SERP features explained](https://serplify.io/blog/serp-features-explained/). ## Where featured snippets still show They are not gone. They show up where AI Overviews do not, which today means: - **Short factual queries** where a single sentence is the whole answer, such as a unit conversion, a date, or a definition of a plain word. - **Some step-by-step queries** where a numbered list from one source fits better than a generated summary. - **Comparison queries** with a clean table on a well-ranked page. - **Queries in many non-English markets** where AI Overviews have rolled out more slowly or not at all. - **Queries where Google judges an AI answer risky**, which shifts over time. You do not have to guess. Search the query and look. If there is an AI Overview, a snippet is unlikely. If there is a snippet, it can be taken. ## How to get a featured snippet The method has not changed. It is the same passage-selection mechanism that powers People Also Ask. Google describes it the same way: it picks the passage that best answers the question from pages that already rank. ### 1. Rank on page one Google chooses snippets from the top results, almost always the top ten. If you are on page two, no formatting will help. Get the page ranking first. Our [SERP analysis guide](https://serplify.io/blog/how-to-do-a-serp-analysis/) covers what that takes for a given query. ### 2. Check that the query can produce one Search it in a private window with the right location and device. Snippet present, and owned by a page with a weaker answer than yours? Go. AI Overview present? Skip to the section on what to do instead. ### 3. Use the question as a heading An H2 or H3 in the words people search. "What is SERP volatility?" not "Understanding volatility." Google matches the heading to the query. ### 4. Answer directly under it, in the shape that fits - **Paragraph.** One passage of 40 to 60 words that answers the question with no lead-in. Write it so it makes sense alone, because that is how it will be shown. - **List.** Real HTML list markup, one step per item, verbs first. Google shows about eight items and adds a "more items" link, which sends clicks to you. - **Table.** Real HTML table markup with a header row. Two to five columns. ### 5. Beat the current snippet, specifically Open the snippet you want. Read the passage. Then write yours to be more direct, more complete in the same length, and more current. If theirs has a number from 2023, yours has one from this year. ### 6. Keep the passage clean No image between the heading and the answer. No expandable section hiding the text. No "click to reveal." Google lifts what it can read in place. ## What to do when there is an AI Overview instead This is now the common case, and the work is nearly the same. **Aim for People Also Ask.** It was on 93 percent of pages in our sample, and it uses the same question-heading-plus-direct-answer format. A page written to win a snippet wins PAA questions today. Our guide on [how to rank in People Also Ask](https://serplify.io/blog/how-to-rank-in-people-also-ask/) goes into the details. **Aim to be cited in the AI Overview.** Google's guidance for AI features is the same as for search in general: helpful pages that answer the question clearly. There is no special markup for it. A direct passage under a matching heading, on a page in the top ten, is a good start. It is not a sure thing, though. In our October study, only 26 percent of cited links were top ten results for the same search. So the format is the same: heading, direct answer, depth below. What changes is where the reward shows up. The [SERP feature opportunities guide](https://serplify.io/blog/how-to-find-serp-feature-opportunities/) shows how to find which of the three you can win for each keyword. ## When you might not want a snippet A snippet answers the question on the results page. For a query like *how many ounces in a cup*, most people read the box and never click. If your page's value is in the click, not the impression, a snippet can lower your traffic. You can control it. Add `data-nosnippet` to the part of the page you want excluded, or `max-snippet` in the robots meta tag to cap the length. Most sites want the snippet, and most snippet types send a healthy share of clicks. But check your Search Console CTR before and after you win one, using the benchmarks in [what is a good organic CTR](https://serplify.io/blog/what-is-a-good-organic-ctr/). Frequently asked questions: Q: What is a featured snippet? A: It is a highlighted box at or near the top of Google's results that shows a short answer pulled from a web page, with the page's title and link. It can be a paragraph, a bulleted or numbered list, a table, or a video clip. Google chooses it automatically from pages that rank for the query. Q: Are featured snippets still a thing in 2026? A: Yes, but far fewer. Google shows an AI Overview on most question searches now. None of the 200 pages in our September 2026 sample had a featured snippet, and none of the 494 in our October 2026 study did either. They still appear on some definition, quick-fact, and step-by-step queries, and more often outside English-language markets. Q: How do I get a featured snippet? A: Rank on page one for the query, then answer the question directly under a heading that matches it. For definitions and facts, one paragraph of 40 to 60 words. For steps, a numbered list. For comparisons, a table. Google picks the passage that answers most cleanly. Q: Can I stop Google from using my page as a featured snippet? A: Yes. Add the nosnippet meta tag or the data-nosnippet attribute to the part of the page you want excluded. Google also honors max-snippet to limit the length. Most sites want the snippet, so only do this if a snippet is costing you clicks you would otherwise get. Q: What is the difference between a featured snippet and an AI Overview? A: A featured snippet is one passage from one page, quoted as is, with one link. An AI Overview is text Google's AI writes by combining several pages, with several links. You can own a snippet. You can only be cited in an overview. On the pages we checked, the overview had taken the snippet's place. Sources: - Google Search Central: Featured snippets and your website: https://developers.google.com/search/docs/appearance/featured-snippets - Google Search Central: AI features and your website: https://developers.google.com/search/docs/appearance/ai-features - Google Search Central: Control your snippets in search results: https://developers.google.com/search/docs/appearance/snippet --- # How to Rank in People Also Ask: The Box on 93% of Google Pages URL: https://serplify.io/blog/how-to-rank-in-people-also-ask/ Published: 2026-09-06 · Updated: 2026-10-09 > How to rank in People Also Ask: find the real questions, answer each in two to four sentences under a matching heading, and track what you own. Key takeaways: - People Also Ask is the box of expandable questions on a Google results page. It appeared on 93 percent of the 200 US pages we fetched in September 2026, more than any other feature. - Google picks answers from pages that already rank well for the question or the parent query. Being in the top 20 is the usual starting point. - To win a question: use it as a heading, answer it in two to four plain sentences right under the heading, then add detail below. - One page can hold several questions. Track which ones you own, because they change as Google refreshes the box. Search almost anything on Google and a box of questions appears a few results down. How much does it cost? Is it worth it? What is the difference between X and Y? Click one and an answer unfolds, with a link to the page it came from. That box is People Also Ask, and it is the most common feature on Google today. This guide explains how it works, how to find the questions for your topics, and the page format that wins a spot in it. ## What People Also Ask is **People Also Ask**, often shortened to PAA, is a block of related questions on the results page. Each question expands to show a short passage from a web page and a link to it. As you click, Google loads more questions related to the one you opened. To put a number on how common it is, we fetched 200 live US Google pages on September 6, 2026: 100 queries, each on desktop and mobile. People Also Ask appeared on **93 percent** of them. On question-style and "best X" searches it was on 99 percent. Even on local searches like *plumber* it showed on 82 percent. Google showed 3.7 questions on average before any click. Only the organic links themselves are more common. AI Overviews, by comparison, were on 68.5 percent of pages. See [how often every SERP feature appeared](https://serplify.io/blog/serp-features-explained/) for the full breakdown. ## Why it is worth winning Three reasons. **It sits high on the page.** In our sample the box usually appeared as the third or fourth block, above most of the organic results. On the US desktop page for *best running shoes* it was the fourth block, above six of the eight websites. **It is a second listing.** A page that ranks sixth and also owns a question in the box appears twice on the same page. The box entry may be the more visible of the two. **Small sites can win it.** Google picks the passage that answers the question most directly. That is not always the biggest brand. A clear paragraph on a modest site beats a vague one on a large site, and it happens every day. ## How Google chooses the answers Google treats each question in the box as its own search. It looks at the pages that rank well for that question and picks the passage that answers it most cleanly. The mechanism is the same one behind [featured snippets](https://serplify.io/blog/how-to-get-a-featured-snippet/), and Google says there is no markup to request it. Two things follow from that. 1. **You need to rank for the question or the parent query.** Not first. Usually somewhere in the top 20. Google is choosing among pages it already trusts. 2. **You need a passage that answers the question by itself.** A heading that matches the question, followed by a direct answer that makes sense with nothing else around it. If your page ranks but does not have such a passage, another page gets the box. If your page has the passage but does not rank, Google never looks at it. Both are needed. ## Step 1: Find the questions Start with the questions Google already shows. Do not guess. **By hand.** Search your target keyword in a private window, note the questions in the box, click each one, and note the new ones that load. Three levels of clicking usually produces 10 to 20 questions. **From Search Console.** Filter the Performance report to queries containing "how", "what", "why", "can", "does", or "is". Those are question searches where you already have impressions. Any with a low click-through rate is a candidate: you are being shown, and a box entry could win the click. **With a SERP API.** For more than a few keywords, fetch the page as data. The People Also Ask block comes back with each question, the answer Google chose, and the page it came from. Here is what one item looks like: ```json { "type": "people_also_ask", "rank_absolute": 4, "items": [ { "title": "Are expensive running shoes worth it?", "seed_question": "best running shoes", "expanded_element": [ { "domain": "runrepeat.com", "url": "https://runrepeat.com/...", "description": "In our lab tests, price had no relationship to..." } ] } ] } ``` That gives you the question, the current owner, and the answer to beat, for every keyword on your list. The bulk setup is in [how to track rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/), and the method for turning the list into a plan is in [how to find SERP feature opportunities](https://serplify.io/blog/how-to-find-serp-feature-opportunities/). ## Step 2: Pick the questions you can win For each question, check three things. - **Do you rank for the parent keyword?** Top 20 is the usual threshold. If not, that question waits until you do. - **Who owns it now, and how good is the answer?** Click the question. If the answer is a vague paragraph from a thin page, it is beatable. If it is a precise answer from a major reference site, move on. - **Does it fit a page you have?** The best home is a page already about the topic. Bolting an unrelated question onto a page rarely works. Sort by those three and take the top five for each page. ## Step 3: Write the answer in the format that wins This is the part that matters most, and it is simple. **Use the question as a heading.** An H2 or H3, in the same words people use. "How much does a rank tracker cost?" not "Pricing considerations." **Answer it immediately, in two to four plain sentences.** No preamble. No "great question." The first sentence should be the answer. The next two or three add the essential detail. Aim for 40 to 60 words. **Then go deeper below.** The rest of the section can be as long as it needs. Google lifts the opening passage; readers get the whole thing. Here is the shape: > **How long does a Google core update take to roll out?** > > Most core updates take about two weeks to roll out, and Google says rankings can keep shifting until the rollout is marked complete. The March 2026 update ran from March 27 to April 8. Judge the effect a week after the finish date, not during it. A page with five sections like that is five chances at the box, and it is also just a better page. **Match the format to the question.** "How to" questions often win with a numbered list. "What is the difference" questions win with a two-column table or a short paragraph naming both sides. "How much" questions win with a number in the first sentence. ## Step 4: Help Google find the passage A few small things raise your odds. - **Keep the question and answer together.** No image, ad, or callout between the heading and the first sentence. - **Use real headings.** An H2 or H3 tag, not bold text styled to look like one. - **Add FAQ structured data if the page has a question-and-answer section.** Google no longer shows FAQ rich results for most sites, but the markup still helps it understand the structure. - **Keep the page fast and open.** Content behind a click or a login does not get lifted. - **Do not stuff the page with 40 questions.** Five to eight strong ones per page beats a wall of thin ones. ## Step 5: Track what you own Questions in the box change. Google refreshes the set, tests new ones, and swaps owners. What you win this month may be gone next month, or you may pick up questions you never targeted. Check the box for your top keywords once a month. With a SERP API that is one column in your rank tracking table: for each keyword, which questions are shown and which point to your domain. When you lose one, read the answer that replaced yours and tighten your own. ## What to expect People Also Ask clicks show up in Search Console as clicks for the parent query. A page can hold an average position of 7 and still earn steady clicks from a box entry. That is normal and it is the point. Do not expect a ranking jump. Winning the box does not move your organic position. It adds visibility on a page where a website held the top spot only 14.5 percent of the time in our sample. That extra visibility is also part of the answer to [what a good organic CTR is](https://serplify.io/blog/what-is-a-good-organic-ctr/). Frequently asked questions: Q: What is People Also Ask? A: It is a block on Google's results page that lists questions related to the search. Clicking a question expands a short answer taken from a web page, with a link to that page, and loads more questions below. Google builds it from questions people search for. Q: How does Google choose the answers in People Also Ask? A: Google treats each question as its own search and picks a passage from a page that ranks well for it and answers it directly. The mechanism is the same one behind featured snippets. Pages with a clear question heading followed by a concise answer win most often. Q: Do People Also Ask clicks count in Search Console? A: Yes. An impression and click on your answer inside the box are recorded for the query that produced the box. That is why a page can show a low average position for a query and still earn clicks from it. Q: How many People Also Ask questions can one page win? A: There is no fixed limit. A page with several question headings, each with a direct answer, can hold several spots in the same box and appear in boxes for related searches. Winning three or four from one page is common on how-to topics. Q: Is People Also Ask worth it if it does not move my ranking? A: Yes. The box often sits above the second organic result, so an answer inside it can be more visible than your own listing. It is a second entry on the page for the same query, and it is one of the few features a small site can win against large ones. Sources: - Google Search Central: Featured snippets and your website: https://developers.google.com/search/docs/appearance/featured-snippets - Google Search Central: Creating helpful, reliable, people-first content: https://developers.google.com/search/docs/fundamentals/creating-helpful-content - Serplify docs: SERP feature types (people_also_ask): https://docs.serplify.io/serp-api/feature-types/ --- # How to Use Google Search Operators: The Plain-English List With Real Examples URL: https://serplify.io/blog/how-to-use-google-search-operators/ Published: 2026-09-06 · Updated: 2026-10-09 > Google search operators are short commands like site: and filetype: that narrow a search. See which ones still work, with real examples, and which are dead. Key takeaways: - Search operators are short commands you add to a Google search to narrow the results. Type them with no space after the colon, like site:example.com. - Seven are documented by Google and always work: quotes, minus, site:, filetype:, before:, after:, and OR. - About a dozen more still work but are undocumented, like intitle:, inurl:, and AROUND(n). Results can be less precise. - Some old favorites are dead: +, ~, link:, info:, and cache:. - SEO teams use operators for site audits, content gaps, and finding pages a competitor has published. A SERP API can run them at scale, though some providers charge extra for operator queries. Google search operators are short commands that tell Google what to include and what to leave out. Add `site:` and you search one website. Add quotes and you search for an exact phrase. Add `filetype:pdf` and you only get PDFs. They are free and they work in any browser. They solve real jobs, too. Find every page a competitor wrote on a topic. Check which of your pages Google has indexed. Dig up a report that a normal search buries. This guide lists the operators that work in September 2026, shows real results from searches we ran that day, and marks the ones that are dead. ## How to type a search operator Three rules cover almost every mistake. 1. **No space after the colon.** `site:example.com` works. `site: example.com` does not. 2. **Operators go anywhere in the query.** `site:example.com pricing` and `pricing site:example.com` return the same thing. 3. **OR must be capitals.** Lowercase or is just a word. You can use operators in the normal search box. Google's Advanced Search page (google.com/advanced_search) fills in the same operators through a form if you prefer that. Operators go inside the query. Settings like the country or the date range can also go in the page address, after the `?`. Those are URL parameters, and our list of [Google search parameters](https://serplify.io/blog/google-search-parameters/) shows which ones still work. ## The operators Google documents These seven are listed in Google's own help pages. They are stable and you can rely on them. | Operator | What it does | Example | |---|---|---| | `"..."` | Exact phrase, in that order | `"seo checklist"` | | `-` | Leave out a word or site | `running shoes -nike` | | `site:` | Only results from one site, domain, or path | `site:serplify.io` | | `filetype:` | Only a file type | `"seo checklist" filetype:pdf` | | `before:` | Only pages dated before a year or date | `"rank tracker" before:2024` | | `after:` | Only pages dated after a year or date | `"rank tracker" after:2026-06-01` | | `OR` | Either word or phrase | `seo OR "search engine optimization"` | ### Real examples We ran these through a SERP API on September 6, 2026, US desktop, so you can see what to expect. **`site:serplify.io`** returned only pages on our own domain and subdomains: the privacy policy, the status page, the docs, the SERP API page, and the blog. That is the fastest way to see what Google has indexed for any site. The count Google gives is an estimate, so use Search Console for the real number. **`"seo checklist" filetype:pdf`** returned about 1,360 results, every one a PDF. The top ten included checklists from a university, a HubSpot-hosted document, and a local SEO group. This is how researchers find reports and slide decks that never rank as web pages. **`"rank tracker" after:2026-06-01`** returned only pages Google dated from June 2026 onward, about 51,600 of them. Use it to see what has been published on a topic recently, or to check whether a competitor's page is new. **`best running shoes -nike -adidas`** dropped both brands from the first page. The results shifted to guides from running clubs and smaller shoe makers. ## The operators that work but are not documented Google does not list these in its help pages, but they work as of September 2026. Expect slightly looser results than the documented set. | Operator | What it does | Example | |---|---|---| | `intitle:` | Word must be in the page title | `intitle:"serp api" -serpapi` | | `allintitle:` | Every word must be in the title | `allintitle:local seo checklist` | | `inurl:` | Word must be in the URL | `inurl:pricing serp api` | | `allinurl:` | Every word must be in the URL | `allinurl:blog seo` | | `intext:` | Word must be in the body text | `intext:"people also ask"` | | `allintext:` | Every word must be in the body | `allintext:rank tracker api` | | `AROUND(n)` | Two words within n words of each other | `google AROUND(3) "core update"` | | `*` | Wildcard for a missing word inside quotes | `"best * for beginners"` | | `..` | Number range | `laptop $500..$800` | | `ext:` | Same as filetype: | `ext:xlsx budget template` | | `define:` | Dictionary definition | `define:serp` | | `imagesize:` | Images of an exact size, in Images | `imagesize:1200x630 logo` | | `related:` | Sites similar to one site, now unreliable | `related:ahrefs.com` | | `@`, `#`, `$` | Social handles, hashtags, prices | `@serplify`, `#seo`, `$0.005` | | `in` | Unit conversion | `5 miles in km` | One real example from our test: **`intitle:"serp api" -serpapi`** returned about 5,900 pages with "SERP API" in the title and no mention of the company SerpApi. The top results were a GitHub project, two comparison articles, and a Reddit thread. That is a content gap search in one line. ## The operators that no longer work If you learned these from an older guide, stop using them. They either return normal results or an error. | Operator | What it did | Status | |---|---|---| | `+` | Force a word to be included | Removed in 2011. Use quotes instead. | | `~` | Include synonyms | Removed. Google adds synonyms on its own now. | | `link:` | Pages linking to a URL | Removed in 2017. Use Search Console or a backlink tool. | | `info:` | Info about a URL | Removed in 2017. | | `cache:` | Google's stored copy of a page | Removed in September 2024. Use the Wayback Machine. | | `inanchor:` | Word in link text | Mostly ignored now. | | `daterange:` | Julian date range | Replaced by before: and after:. | ## What SEO teams use operators for Here are the searches that come up week after week. **Check what is indexed.** `site:yourdomain.com` shows a sample of indexed pages. Add a word to see which page Google prefers for a topic: `site:yourdomain.com pricing`. If a page you expect is missing, read [why your website is not showing up on Google](https://serplify.io/blog/why-is-my-website-not-showing-up-on-google/). For a full list rather than a sample, use the sitemap and the other methods in [how to find all pages on a website](https://serplify.io/blog/how-to-find-all-pages-on-a-website/). **Find duplicate or thin pages.** `site:yourdomain.com intitle:"tag"` or `site:yourdomain.com inurl:page/` often turns up archive and pagination pages you forgot were indexed. **Find a competitor's content on a topic.** `site:competitor.com "rank tracking"` lists every page they wrote about it. Add `after:2026-01-01` to see only the new ones. **Find content gaps.** `intitle:"how to" "serp features" -site:yourdomain.com` shows who has written the how-to you have not. Before you write your own, run a quick [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/) on the plain keyword. **Find guest post and resource pages.** `"write for us" "seo"` or `intitle:"resources" inurl:links "seo"` are the classic outreach searches. They are heavily used, so expect crowded results. **Find PDFs and decks.** `filetype:pdf "state of seo" 2026` finds reports that never rank as web pages. **Check a phrase.** Put a sentence from your page in quotes. If other sites show it, the text was copied, one way or the other. ## Operators and SERP tools Operators work in rank trackers and SERP APIs too, because those tools send the query to Google the same way you do. Two things to know. First, results for operator queries are less stable than normal searches. Google treats them as low-priority and sometimes trims the result count. Run the same `site:` query twice and you may see different totals. By hand, keep to a human pace. Many fast searches from one connection can bring up Google's [unusual traffic check](https://serplify.io/blog/google-unusual-traffic-error/). Second, some providers charge more for them. DataForSEO multiplies its base price by five for queries with search operators. Serplify charges the same [$0.005 per successful SERP](https://serplify.io/pricing/) either way. If you plan to run thousands of `site:` or `intitle:` checks, read [how to scrape Google search results](https://serplify.io/blog/how-to-scrape-google-search-results/) for what it takes to do that without getting blocked. Frequently asked questions: Q: What are Google search operators? A: They are special words and symbols you add to a search to control what Google returns. For example, site:nytimes.com climate returns only pages from nytimes.com about climate. Quotes force an exact phrase. A minus sign removes a word. Q: Do Google search operators still work in 2026? A: Most do. Quotes, minus, site:, filetype:, before:, after:, OR, intitle:, inurl:, and AROUND(n) all work. The dead ones are the plus sign, the tilde, link:, info:, and cache:, which Google removed in September 2024. Q: Can I combine search operators? A: Yes. You can stack them, for example site:example.com intitle:pricing -blog. Google reads them left to right and applies all of them. Very long combinations sometimes return odd results, so build them up one piece at a time. Q: Why does site: show a different number of pages than my sitemap? A: The count Google shows is an estimate, and site: does not list every indexed page. Use Google Search Console for the real number. Treat site: as a quick check, not an audit. Q: Are search operators case sensitive? A: The operator names are not, but OR must be in capital letters to work as an operator. Lowercase 'or' is treated as a normal word. Sources: - Google Search Help: Refine web searches: https://support.google.com/websearch/answer/2466433 - Google Search Central: site: search operator: https://developers.google.com/search/docs/monitor-debug/search-operators/all-search-site - DataForSEO Google Organic SERP API pricing (operator multiplier): https://dataforseo.com/pricing/google-serp/google-organic-serp-api --- # SERP Features Explained: What Every Google Result Block Is and How to Win It URL: https://serplify.io/blog/serp-features-explained/ Published: 2026-09-06 · Updated: 2026-10-09 > SERP features are the blocks on Google beyond the plain links, like AI Overviews and People Also Ask. See how often each appears and how to earn a spot. Key takeaways: - A SERP feature is any block on a Google results page that is not a plain organic link or a text ad. - In our September 2026 sample of 200 US pages, People Also Ask appeared on 93 percent, AI Overviews on 68.5 percent, video on 31.5 percent, and local packs on 22.5 percent. - Features are triggered by the type of question. How-to searches get AI Overviews and videos. Local searches get map packs. Brand searches get knowledge panels. - Each feature has a way in. Clear question-and-answer sections, a Google Business Profile, video, and structured data cover most of them. - Track which features show on your keywords. A feature that arrives above you can cut your clicks even when your rank does not move. Open Google, search for almost anything, and count how many things on the page are not a normal link. Questions you can expand. A map with three businesses. A video row. An AI-written summary. Those are **SERP features**, and they now take up most of the page. This guide lists every feature that matters and shows how often each one appears, using real data from September 2026. For each feature you get what triggers it and how to earn a spot in it. ## What SERP features are A SERP is a search engine results page. If you want the basics first, read [what a SERP is](https://serplify.io/blog/what-is-a-serp/). A **SERP feature** is any block on that page that is not a standard organic result or a text ad. Google builds the page from blocks and picks the blocks that fit the search. A question gets an answer block. A restaurant search gets a map. A brand search gets a fact panel. That matters for two reasons. First, features sit above and between the links, so they change where your result lands on the screen. Second, many features can be won. A spot in a feature can be worth more than a spot in the links. ## How often each feature appears We fetched 200 live Google pages on September 6, 2026 to put numbers on this. That was 100 US queries, each on desktop and mobile: 40 how-to and what-is questions, 30 "best X" product searches, 20 local searches, and 10 brand names. | Feature | Share of all 200 pages | Where it shows up most | |---|---|---| | People Also Ask | 93% | 99% of questions and product searches | | AI Overview | 68.5% | 95% of questions and product searches, 0% of local searches | | Related searches (desktop) | 96% of desktop pages | Bottom of nearly every desktop page | | People also search for (mobile) | 97% of mobile pages | Mobile replacement for related searches | | Video | 31.5% | 61% of how-to questions | | Perspectives | 30.5% | Forum and social posts, 50% of local searches | | Local pack | 22.5% | 100% of local searches | | Discussions and forums | 13% | Mostly Reddit, on questions and product searches | | Knowledge panel | 5.5% | 40% of brand searches | | Popular products | 7% | 18% of "best X" searches | | Short videos | 7% | How-to questions on mobile | | Images | 6.5% | Visual topics | | Featured snippet | 0% (none of 200) | AI Overviews now cover the same questions | Our larger [October 2026 study of 494 US searches](https://serplify.io/blog/google-ai-overviews-study/) found AI Overviews on 77 percent of pages and on 34 percent of local searches. Two samples with different keywords cannot show a trend, so read each one as a snapshot. Two things changed a lot in the past two years. AI Overviews went from rare to the norm on informational searches. And featured snippets, once the prize of SEO, did not appear on any of our 200 pages. That was one day in one country, so read it as a strong sign, not a rule. The October study found none on its 494 pages either. On the questions that used to get a snippet, Google now shows an AI answer. Ads were under-counted in this sample. Automated fetches see fewer ads than a signed-in person does, so use ad numbers from any tool with care. ## The SERP features that matter, one by one ### AI Overview **What it is.** A summary written by Google's AI at the top of the page, with links to the pages it drew from. On mobile it can fill the whole first screen. **What triggers it.** Questions, comparisons, and "best X" searches. In our September sample it appeared on 95 percent of both. It never appeared on local searches like *plumber* or *coffee shops* that day. **How to win it.** You cannot own it, but you can be cited in it. Pages with clear, direct answers under descriptive headings get cited most. Google says there is no special markup for it. Ranking in the top ten helps, but it is not enough. In the October study, only 26 percent of cited links were also top ten results for that search. To see which pages get cited on your keywords, [track your AI Overviews](https://serplify.io/blog/how-to-track-ai-overviews/). ### People Also Ask **What it is.** A block of related questions. Each one expands to show a short answer pulled from a page, with a link. Google shows three or four to start and adds more as you click. **What triggers it.** Almost everything. It was on 93 percent of pages in our sample, the most common feature by far. **How to win it.** Add a heading that matches a question Google already shows, and answer it in two to four plain sentences right under it. The full method is in [how to rank in People Also Ask](https://serplify.io/blog/how-to-rank-in-people-also-ask/). ### Local pack **What it is.** A map with three businesses, each with a rating, address or distance, and a phone or website button. Also called the map pack or the three-pack. **What triggers it.** Searches with local intent, whether or not they include a city. Every one of our 20 local queries had one, on both devices. **How to win it.** This is not about your website. It is about your Google Business Profile: the right category, complete details, reviews, and an address inside the area the searcher is in. Local packs change from one part of a city to another, which is why you need to [check local rankings for the exact city](https://serplify.io/blog/how-to-check-local-rankings/). ### Featured snippet **What it is.** A box near the top with a short answer, list, or table taken from one page, with that page's link. Sometimes called position zero. **What triggers it.** Direct questions with a short factual answer, on pages where Google does not show an AI Overview. **How to win it.** Rank on page one, then answer in 40 to 60 words or a clean list right under a heading that uses the question. Expect few chances in 2026. Our guide on [how to get a featured snippet](https://serplify.io/blog/how-to-get-a-featured-snippet/) shows where they still appear. ### Video and short videos **What it is.** A row of videos, almost always from YouTube, with thumbnails and lengths. Short videos is a separate block for vertical clips. **What triggers it.** How-to searches. Video showed on 61 percent of our how-to questions, and more often on mobile (37 percent of all mobile pages) than desktop (26 percent). **How to win it.** Publish a video that answers the query, with the query in the title. Add it to the matching page on your site with video structured data so Google can connect the two. ### Knowledge panel **What it is.** A box of facts about one entity: a company, a person, a place, a product. Logo, description, founding date, social links. **What triggers it.** Brand and entity searches. It showed on 40 percent of our brand queries. **How to win it.** Be a clear entity. A consistent name across your site, Wikipedia or Wikidata where you qualify, organization structured data, and matching profiles on major platforms. ### Discussions and forums, and Perspectives **What it is.** Two related blocks that surface posts from Reddit, Quora, niche forums, and social sites. Discussions and forums shows threads. Perspectives shows "what people are saying". **What triggers it.** Questions where opinion and experience matter: product picks, comparisons, local recommendations. **How to win it.** These pull from community sites, not brand sites. If your audience is on a forum, being useful there over time is the only way in. Do not spam it. ### Shopping and popular products **What it is.** Product cards with images, prices, and stores. Popular products appears on "best X" searches. Shopping results are ads tied to Google Merchant Center. **What triggers it.** Product and purchase intent. Popular products showed on 18 percent of our "best X" searches. **How to win it.** A Merchant Center feed with accurate prices and product structured data on each product page. ### Related searches and People also search for **What it is.** Suggested queries at the bottom of the page. Desktop shows related searches. Mobile shows "People also search for" chips. **What triggers it.** Nearly every page. **How to use it.** You cannot rank in it, but it is free keyword research. The chips tell you what Google thinks the searcher wants next. ### Sitelinks, rich results, and other extras Some features attach to a normal result rather than sitting in their own block: - **Sitelinks**, extra links under a result, usually for brand searches. Our guide to [what sitelinks are](https://serplify.io/blog/what-are-sitelinks/) shows how Google picks them. - **Rich results**, stars, prices, FAQ dropdowns, recipe times, or event dates shown under a link. These come from structured data on the page. - **Images**, an image row or grid for visual topics. - **Top stories**, news articles for current events. - **Jobs, events, recipes, courses, flights, hotels**, vertical blocks for those searches. Google's [visual elements gallery](https://developers.google.com/search/docs/appearance/visual-elements-gallery) shows what each looks like, and its [structured data gallery](https://developers.google.com/search/docs/appearance/structured-data/search-gallery) shows which markup unlocks which rich result. ## Why features change your clicks even when your rank does not Your rank tracker says you are still number one. Your traffic fell 30 percent. What happened? A feature arrived above you. In the *best running shoes* page we fetched for this guide, the first organic result is in the second spot on the page, under an AI Overview. On mobile it can be below the fold. Same rank, fewer eyes. Across our 200-page sample, a normal website held the very first spot on only 14.5 percent of pages. For how-to questions it was 1 percent. This is why tracking rank alone is not enough. You want to know, per keyword, which features are present and whether you own any of them. That is the point of [SERP feature tracking](https://serplify.io/blog/how-to-find-serp-feature-opportunities/), and it is a standard part of a [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/). ## A simple plan for your keywords 1. **List your top 50 keywords.** 2. **Fetch the real page for each**, on the device and in the location your customers use. 3. **Write down the features on each page** and which domains own them. 4. **Sort into three groups.** Features you can win (People Also Ask, local pack, video, rich results). Features you can be cited in (AI Overview). Features you cannot touch (forums, knowledge panels for other brands). 5. **Work the first group first.** They are the cheapest clicks you will find. 6. **Check monthly.** Features come and go with Google's updates, so recheck after each core update too. Frequently asked questions: Q: What are SERP features? A: SERP features are the extra blocks Google adds to a results page beyond the standard list of links. Examples are AI Overviews, People Also Ask, featured snippets, local packs, video carousels, knowledge panels, and shopping results. Q: How many SERP features are there? A: Google's own visual elements gallery lists a few dozen. Serplify's parser detects more than 40 block types and returns 9 of them with fully typed fields. In practice about ten appear on most pages. If you want to count them yourself, use a SERP API that returns every block as JSON. Q: Are SERP features good or bad for SEO? A: Both. A feature you win, like a featured snippet or a local pack spot, can bring more clicks than rank one. A feature you lose, like an AI Overview above your result, can take clicks away. The job is to know which features your keywords trigger and go after the ones you can hold. Q: How do I get my page into a SERP feature? A: Match the format Google is already showing. For People Also Ask, answer the question directly in a short paragraph under a matching heading. For local packs, keep a complete Google Business Profile. For video, publish a video that answers the query. For rich results, add the right structured data. Q: How can I track SERP features for my keywords? A: Use a rank tracker that records feature types for each keyword, or a SERP API that returns the full page as typed items. Then count, per keyword, which features appear and whether you own any of them. Sources: - Google Search Central: Visual elements gallery of Google Search: https://developers.google.com/search/docs/appearance/visual-elements-gallery - Google Search Central: AI features and your website: https://developers.google.com/search/docs/appearance/ai-features - Google Search Central: Structured data gallery: https://developers.google.com/search/docs/appearance/structured-data/search-gallery - Serplify docs: SERP feature types: https://docs.serplify.io/serp-api/feature-types/ --- # What Are Sitelinks? How Google Picks Them and What You Can Influence URL: https://serplify.io/blog/what-are-sitelinks/ Published: 2026-10-09 > Sitelinks are the extra links Google shows under some results, mostly for brand searches. See real examples, how Google picks them, and what you can change. Key takeaways: - Sitelinks are extra links to pages on the same website that Google shows under one search result. Google's own documentation says they are automated. - Of 30 US desktop results pages we fetched on October 9, 2026, only 2 showed a full block of sitelinks. Both were brand searches: netflix and youtube. - You cannot pick your sitelinks. Clear page titles and headings, a logical site structure and short, relevant internal link text make good ones more likely. - Google removed the sitelinks search box in November 2024. Ad sitelinks are a separate thing that you write yourself in Google Ads. Sitelinks are extra links to other pages on the same website that Google shows under one search result. You see them most when you search for a brand name, such as *netflix* or *youtube*. Google picks them automatically, so you cannot choose them yourself, but you can make good ones more likely. ## What are sitelinks? Google's own documentation defines sitelinks as links from the same domain that are grouped together under a text result. Its systems study the links on your site to find shortcuts that save searchers time. In plain words, Google is guessing where you want to go next on that site and giving you a direct link. Sitelinks are one of many [SERP features](https://serplify.io/blog/serp-features-explained/), the extra elements that sit around the normal blue links on a [search results page](https://serplify.io/blog/what-is-a-serp/). ### Two real examples We fetched the US desktop results for 30 everyday searches on October 9, 2026. Here is what showed under the top result for two brand searches: | Search | Top result | Sitelinks under it | |---|---|---| | netflix | netflix.com | Sign In, Login, Plans and Pricing, Join Netflix Sign In, Choose your plan | | youtube | youtube.com | Channel, Library, YouTube history, Video, and the YouTube home feed | Notice what Google chose. These are the pages people most likely want next, like signing in or picking a plan. Two of the Netflix links point to help.netflix.com, so sitelinks can lead to a subdomain of the same site. And three of the five Netflix links are about signing in, which shows that Google's picks are not always tidy. ## The kinds of sitelinks you will see ### Full sitelinks This is the block of links under a single result, usually the top one. It tends to show up when one website is clearly what the searcher wants, such as a search for a brand name. It is also rarer than many people think. Of our 30 results pages, only 2 had a full block of sitelinks, and both were brand searches. In the same sample, the results for *amazon*, *gmail* and *facebook login* showed none. ### Jump links to parts of a page Sometimes a result shows two or three short links that jump to sections of that same page. On October 9, 2026, the Investopedia result for *click through rate formula* had three of them: "What Is the Click-Through Rate?", "How to Calculate the CTR" and "Insights From CTR". Those labels match headings on the page. In our 30 page sample, jump links appeared under 7 results, on searches like *best credit card*, *mortgage* and *best running shoes*. These are the closest thing most normal pages get to sitelinks, and clear headings are what feed them. ### Ad sitelinks Google Ads has its own sitelinks, which are paid and written by the advertiser. Google says an ad can show up to 6 of them on desktop and up to 8 on mobile. The text of each one is limited to 25 characters in most languages. Unlike organic sitelinks, you choose these yourself. ### The sitelinks search box (retired) Some brand results used to show a small search box that searched inside that site. Google said its use had dropped over time and removed it starting November 21, 2024. Google also said the change did not affect rankings or normal sitelinks. You can leave the old markup on your site, because it causes no errors. ## Do sitelinks help SEO? Sitelinks are not a way to rank higher. Full sitelinks usually show up once your site is already the top answer for a search, and they change how that result looks. What they do change is space. A result with five sitelinks takes up far more of the page than a single blue link, and it pushes the next site further down. Space is one reason the same position can earn very different click rates, as our [guide to organic CTR](https://serplify.io/blog/what-is-a-good-organic-ctr/) shows. ## How Google chooses sitelinks Google's documentation says a few clear things: - **Sitelinks are automated.** No person at Google picks them, and there is no setting to request them. - **They only show when Google thinks they are useful.** If they would not help with a given search, they do not appear. - **Site structure matters.** If Google cannot find good shortcuts in the way your site links together, it shows none. That last point is the one you control. Google works out your important pages from how your site links to them. A page that is linked from your menu and from many related pages sends a stronger signal than a page that nothing links to. ## What you can influence You cannot pick sitelinks, but Google's sitelinks page lists the things that help. Here they are as a checklist: 1. **Write clear titles and headings.** Google asks for page titles and headings that are informative, relevant and short. "Pricing" beats "Our flexible plans for every team". 2. **Build a logical structure.** Make important pages easy to reach from your home page and menu, and link to them from other related pages. To spot pages that nothing links to, first [list all the pages on your site](https://serplify.io/blog/how-to-find-all-pages-on-a-website/). 3. **Use short, relevant link text.** The words in your internal links should describe the page they point to. "Read more" tells Google nothing. 4. **Avoid repeating yourself.** Pages that say the same thing make it harder for Google to tell them apart. 5. **Make sure the pages are in Google at all.** A page that is not indexed can never be a sitelink. If key pages are missing, work through [why a website does not show up on Google](https://serplify.io/blog/why-is-my-website-not-showing-up-on-google/). Brand strength matters too. In our sample, full sitelinks only showed on brand searches, so a brand that people look up by name has the best chance of getting them. ## Why you cannot just pick them Google says sitelinks are automated "at the moment" and that it may take input from site owners in the future. Today there is no tool in Search Console for adding or ordering them. That leaves one blunt way to remove a sitelink you do not want. Google suggests removing the page or adding a noindex tag. Noindex takes the page out of Google's results completely, so only use it on pages that should not be in search at all. ## How to check your own sitelinks Search your brand name in a private window, signed out, with the location set to the country you care about. Your own browser is personalized, so this gives a fairer view. Our guide to [checking Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) explains how to set the location. Check on both desktop and mobile, since the layout differs. If you track many brands or countries, some SERP APIs return sitelinks as a list of links attached to the organic result. That lets you record which pages Google picks over time and spot changes after you restructure your site. Frequently asked questions: Q: Can you give me an example of a Google sitelink? A: Search netflix on Google. On October 9, 2026, the top US desktop result for netflix.com had five sitelinks under it: Sign In, Login, Plans and Pricing, Join Netflix Sign In, and Choose your plan. Each one is a link to a different page on Netflix's own site. Q: How do I remove sitelinks? A: You cannot remove one sitelink with a setting. Google suggests removing the page from your site or adding a noindex tag to it. Be careful, because noindex takes that page out of Google search completely, not just out of the sitelinks. Q: How do I make a sitelink? A: For normal search results you cannot make one, because Google picks them automatically. You can only make good ones more likely with clear titles, headings and internal links. For ads, you can add sitelink assets yourself in Google Ads. Q: How many sitelinks do Google Ads have? A: Google Ads says an ad can show up to 6 sitelinks on desktop and up to 8 on mobile. At least 2 are needed before any show, and Google recommends adding at least 6 with descriptions. Q: Why does my site not have sitelinks? A: Google only shows them when it thinks they will help the searcher. They show up most for searches where one site is the clear answer, such as a brand name. A new site, a site with a confusing structure, or a search with many possible answers often gets none. Sources: - Google Search Central: Sitelinks in Google Search: https://developers.google.com/search/docs/appearance/sitelinks - Google Search Central Blog: Farewell, sitelinks search box (October 21, 2024): https://developers.google.com/search/blog/2024/10/sitelinks-search-box - Google Ads Help: About sitelink assets: https://support.google.com/google-ads/answer/2375416 --- # What Is a SERP? Search Engine Results Pages Explained Simply URL: https://serplify.io/blog/what-is-a-serp/ Published: 2026-09-06 · Updated: 2026-10-09 > What is a SERP? It is the search engine results page Google shows after a search. See what is on it and why it changes by city and device. Key takeaways: - SERP stands for Search Engine Results Page. It is the page you get after you type a search into Google, Bing, or any search engine. - A modern Google SERP is a stack of blocks, not a list of links. In our September 2026 sample of 200 pages, only 14.5 percent had a normal website in the very first spot. - People Also Ask appeared on 93 percent of pages and AI Overviews on 68.5 percent. Ads, maps, videos, and forums fill the rest. - The same search gives a different SERP by city, device, language, and time. So SEO starts with reading the real page your audience sees. A SERP is the page a search engine shows you after you search. The word stands for **Search Engine Results Page**. Type *best running shoes* into Google, press Enter, and the page that loads is the SERP for that query. That sounds simple. It used to be. Ten years ago a SERP was ten links and a few ads. Today it is a stack of different blocks, and the plain links are often pushed far down the page. ## SERP meaning, in one sentence **A SERP is the list of answers a search engine gives you for one search, arranged in the order it thinks will help you most.** Every search engine has SERPs. Google, Bing, DuckDuckGo, and YouTube all show one. Most SEO writing means Google when it says "the SERP", because Google handles most searches worldwide. One odd fact shows why the term needs context. When we fetched the US desktop SERP for the query *what is a serp* on September 6, 2026, the top websites were Investopedia and several financial advisors. To them, SERP means Supplemental Executive Retirement Plan. Google did not know we meant search. That is why SEO people often say "SERP in SEO" or "Google SERP" to be clear. ## What is on a Google SERP today The easiest way to learn the parts of a SERP is to look at one. Here is the real US desktop page for *best running shoes*, fetched on September 6, 2026, block by block from top to bottom. | Spot | Block | What it is | |---|---|---| | 1 | AI Overview | Google's own summary, written by AI, with source links | | 2 | Organic result | runnersworld.com | | 3 | Organic result | reddit.com | | 4 | People Also Ask | Four questions you can expand | | 5 | Popular products | A row of shoes with prices | | 6 to 10 | Organic results | Five more websites | | 11 | Perspectives | "What people are saying", posts from forums and social sites | | 12 | Organic result | amazon.com | | 13 | Related searches | Eight other searches to try | The first normal website is in spot 2. Nike, which many people would call the obvious brand for this search, is in spot 8. That is the modern SERP: the links are still there, but they share the page with a lot of other things. ### The two basic kinds of results **Organic results** are the links Google picks because it thinks they are the best match. Nobody pays to be there. SEO is mostly about earning these spots. **Paid results** are ads. They say "Sponsored" and appear at the top, at the bottom, or in shopping blocks. Advertisers pay Google when someone clicks. ### SERP features Everything on the page that is not a plain organic link or a text ad is called a **SERP feature**. Common ones include: - **AI Overview**, a generated answer at the top of the page. It is not the same as AI Mode, a separate chat-style search you open on purpose. See [how AI Mode and AI Overviews differ](https://serplify.io/blog/google-ai-mode-vs-ai-overviews/). - **Featured snippet**, a short answer pulled from one web page. See [why featured snippets are rare now](https://serplify.io/blog/how-to-get-a-featured-snippet/). - **People Also Ask**, a list of related questions with expandable answers. - **Local pack**, a map with three businesses, their ratings, and phone numbers. - **Video** and **short video** blocks, usually from YouTube. - **Knowledge panel**, a box of facts about a person, place, or company. - **Discussions and forums**, posts from Reddit and similar sites. - **Shopping** and **popular products**, product cards with prices. - **Related searches**, suggested queries at the bottom. There are more than 40 distinct block types. We explain the ones that matter, with what triggers each one, in [SERP features explained](https://serplify.io/blog/serp-features-explained/). ## How common each block is To get real numbers instead of guesses, we fetched 200 live Google SERPs on September 6, 2026. That was 100 queries, each on desktop and mobile, in the United States. The queries were a mix: 40 how-to and what-is questions, 30 "best X" product searches, 20 local searches like *plumber* and *coffee shops*, and 10 brand names. Here is how often each block appeared. | Block | Share of pages | Notes | |---|---|---| | Organic results | 100% | Average of 8 per first page | | People Also Ask | 93% | Usually 3 or 4 questions shown | | AI Overview | 68.5% | 95% of question and "best X" searches, 0% of local searches | | Related searches (desktop) | 96% | Mobile shows "People also search for" instead, on 97% of pages | | Video | 31.5% | 61% of how-to questions | | Perspectives | 30.5% | Forum and social posts | | Local pack | 22.5% | 100% of local searches | | Discussions and forums | 13% | Mostly Reddit | | Popular products | 7% | 18% of "best X" searches | | Knowledge panel | 5.5% | 40% of brand searches | Our larger [October 2026 study of 494 US searches](https://serplify.io/blog/google-ai-overviews-study/) found AI Overviews on 77 percent of pages and on 34 percent of local searches. Two samples with different keywords cannot show a trend, so read each one as a snapshot. Two numbers from that sample stand out. **Only 14.5 percent of pages had a website in the very first spot.** On most pages an AI Overview, a map, or a question box came first. For how-to questions, a website was first on just 1 percent of pages. **People Also Ask is now almost everywhere.** It showed up on 93 percent of pages, more often than any block except the organic links themselves. Our guide on [winning a spot in People Also Ask](https://serplify.io/blog/how-to-rank-in-people-also-ask/) shows the answer format Google lifts. One caution: our fetches saw very few text ads, because ad delivery depends on the searcher's profile in ways a data fetch does not copy. Treat ad numbers from any automated sample with care. ## Why the same search gives different SERPs There is no single SERP for a keyword. Google changes the page based on: - **Location.** *Pizza* in Boston and *pizza* in Austin show different map packs and different websites. Even two neighborhoods can differ. - **Device.** Mobile pages have different blocks and a different order. In our sample, video blocks showed on 37 percent of mobile pages. On desktop it was 26 percent. - **Language and country.** google.co.uk in English and google.de in German are different indexes with different features. - **Time.** Google refreshes its index constantly and runs several core updates a year. A page you saw yesterday may have moved. - **Personal history.** Being signed in and your past searches nudge results a little. This is why SEO tools fetch SERPs from a fixed city and device rather than trusting a browser. If you want to see the results for a specific place, read [how to check local Google rankings for any city](https://serplify.io/blog/how-to-check-local-rankings/). If you want to understand why rankings jump around, read [why Google rankings change every day](https://serplify.io/blog/why-google-rankings-fluctuate/). ## SERP rank and why position matters Your **SERP rank** is where your page sits on the results page. Rank 1 is the top organic result. Most tools also record the absolute position on the page, counting the blocks above you. In the *best running shoes* example, Runner's World is organic rank 1 but sits in spot 2, under the AI Overview. Position matters because clicks fall off fast. First Page Sage's September 2026 update puts the first organic result at 22.6 percent of clicks when Google shows no AI answer. The second gets 10.2 percent and the tenth 0.5 percent. When an AI answer sits above, the first result gets just 3.6 percent. Backlinko's study of four million searches found the top three results take 54.4 percent of all clicks. So moving from spot 4 to spot 1 does not add a little traffic. It can multiply it. ## Zero-click searches Sometimes the SERP answers the question itself. A weather box, a calculator, a definition, a featured snippet, or an AI Overview can settle things without a click. These are called **zero-click searches**. They are not a problem for every keyword. A page that answers *how many ounces in a cup* will lose most clicks to the answer box no matter how well it ranks. A page that sells running shoes will not. Knowing which kind of SERP you face is part of [doing a SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/). ## Why SERPs matter for SEO Everything in SEO ends on a SERP. Keyword research is about picking SERPs you can win. On-page work is about matching what a SERP rewards. Rank tracking is about watching your spot on the SERP over time. That means the first job in SEO is to look at the page. Not a screenshot from a year ago and not your own personalized browser view. The real page, for the real location and device your audience uses. Three practical ways to do that: 1. **Search in a private window with the location set.** Fine for one or two keywords. Our guide on [changing your Google search location](https://serplify.io/blog/how-to-change-google-search-location/) shows how. 2. **Use a rank tracker.** It fetches the SERP for each keyword on a schedule and records where you sit. 3. **Use a [SERP API](https://serplify.io/serp-api/).** It returns the whole page as data so you can count blocks, positions, and domains across thousands of keywords. Every SERP count in this guide came from one. Frequently asked questions: Q: What does SERP stand for? A: SERP stands for Search Engine Results Page. People say it as one word, 'serp'. The plural is SERPs. In SEO writing you will also see 'the SERP' used to mean the results for one specific keyword. Q: What is SERP in SEO? A: In SEO, the SERP is the page you are trying to appear on. Your rank is your position on that page. SERP features are the extra blocks, like maps or questions, that sit around the normal links. SEO work is judged by where you land on the SERP. Q: What is the difference between SERP and SEO? A: The SERP is the page of results. SEO, search engine optimization, is the work you do to show up higher on that page. One is the place, the other is the effort to get there. Q: Why does Google show a different SERP to me than to my colleague? A: Google adjusts results by location, device, language, search history, and the exact moment you search. Two people can search the same words and see different pages. Tools that fetch the SERP from a chosen city and device exist so you can see what others see. Q: What is a zero-click search? A: A zero-click search is one where the person gets their answer on the SERP itself and never clicks a result. Featured snippets, AI Overviews, weather boxes, and calculators cause most of them. Sources: - Google Search Central: How Search works: https://developers.google.com/search/docs/fundamentals/how-search-works - First Page Sage: Google click-through rates by ranking position (updated September 22, 2026): https://firstpagesage.com/reports/google-click-through-rates-ctrs-by-ranking-position/ - Backlinko: organic CTR study of 4 million search results: https://backlinko.com/google-ctr-stats --- # What Is Keyword Difficulty? Why SEO Tools Disagree (We Compared 39 Keywords) URL: https://serplify.io/blog/what-is-keyword-difficulty/ Published: 2026-10-09 > Keyword difficulty is a 0 to 100 score for how hard it is to reach Google's top 10. We compared 39 keywords in two tools and found a 14.8 point average gap. Key takeaways: - Keyword difficulty (KD) is a 0 to 100 estimate of how hard it is to reach Google's top 10. Most tools build it from the backlinks of the pages that rank today. - On October 9, 2026, DataForSEO and Ahrefs scored the same 39 US keywords 14.8 points apart on average, and 10 of the 39 differed by 20 points or more. - Neither tool was simply stricter. Each one gave the higher score on 19 of the 39 keywords. - A KD score cannot see search intent, forum threads or SERP features. Reading the top 10 yourself fills that gap. - Compare scores inside one tool only. A sheet that mixes KD from two tools mixes two different scales. Keyword difficulty (KD) is a score from 0 to 100 that estimates how hard it is to get a page into Google's top 10 for a keyword. A higher score means a harder keyword, and every big SEO tool shows one. The catch is that each tool works it out in its own way. That last part matters more than most people think. On October 9, 2026, we looked up the same 39 keywords in DataForSEO and in Ahrefs. The two scores were 14.8 points apart on average, and 10 of the 39 keywords were 20 points or more apart. ## What keyword difficulty means **Keyword difficulty is a guess at how much strength a page needs to rank on page one, based on the pages that rank there now.** Most tools measure that strength with backlinks, which are links from other websites. Ahrefs puts it in plain numbers. Pages that rank for a keyword with a KD of 0 to 5 barely have any backlinks. Around KD 50 they tend to have a couple of hundred, and above 90 they have thousands. The score never looks at your own site. It also does not judge whether the ranking pages are any good, or whether they answer the search at all, so it can only ever be a starting point. ## How SEO tools calculate keyword difficulty All the big tools start from the same idea: look at the top 10 results and measure the links behind them. After that, the math splits. | Tool | What goes into the score | Scale | |---|---|---| | Ahrefs | How many websites link to each of the top 10 ranking pages | 0 to 100 | | Semrush | Links to the ranking pages, the share of dofollow links, the Authority Score of the ranking sites, and traits of the keyword's results page | 0 to 100% | | DataForSEO | A link score for each top 10 page (90% weight) and its whole domain (10%), then the higher of the median or the average, rescaled | 0 to 100 | The labels differ too. Semrush calls a score of 0 to 14 "very easy" and 85 to 100 "very hard", and other tools draw those lines in other places. Ahrefs is open about the problem. Its own guide says the tools share a 0 to 100 scale, but "each one calculates it differently". So a 40 in one tool and a 40 in another are not the same thing. ## We compared 39 keywords in DataForSEO and Ahrefs To see how big the gap is in practice, we pulled keyword difficulty and monthly search volume for 39 keywords on October 9, 2026. We used DataForSEO Labs and Ahrefs Keywords Explorer, both set to the United States. The keywords are the SEO and SERP topics we research for this blog. Here is what we found when we lined the two tools up: - The average gap between the two scores was **14.8 points**, and the median gap was 11 points. - **10 of the 39 keywords** differed by 20 points or more. - Only 10 of the 39 landed within 5 points of each other. - Neither tool was stricter overall. DataForSEO gave the higher score on 19 keywords, Ahrefs on 19, and they matched on 1. Their averages were close: 22.9 for DataForSEO and 21.4 for Ahrefs. So on average the two tools agree, but on any single keyword they often do not. That is the case that matters, because you pick keywords one at a time. | Keyword | DataForSEO KD | Ahrefs KD | Gap | |---|---|---|---| | google search parameters | 82 | 0 | 82 | | people also ask | 45 | 4 | 41 | | google ai mode | 37 | 75 | 38 | | keyword clustering | 28 | 0 | 28 | | does chatgpt use google | 28 | 0 | 28 | | google custom search json api | 29 | 56 | 27 | | what is a good bounce rate | 25 | 0 | 25 | | web search api | 30 | 54 | 24 | | website traffic checker | 42 | 66 | 24 | | how to find all pages on a website | 0 | 20 | 20 | | how to track ai overviews | 34 | 36 | 2 | | ctr calculator | 2 | 0 | 2 | | rank tracking api | 0 | 0 | 0 | The first ten rows are every keyword with a gap of 20 or more. The last three show that the tools do agree sometimes. Search volume split as well. DataForSEO put *serp features* at 390 searches a month and Ahrefs put it at 4,400, about 11 times more. For *google ai mode* it went the other way: 301,000 against 29,000. ## Why the scores disagree Three things push the numbers apart. 1. **Different link data.** Each tool crawls the web on its own, so each one finds a different set of links. 2. **Different math.** Ahrefs counts links to the ranking page. DataForSEO blends page and domain scores. Semrush adds authority and link types. 3. **Different snapshots.** The top 10 changes over time, and each tool checks Google on its own schedule. A score can describe a results page that no longer looks like that. None of this makes KD useless. It just means that one score is one tool's opinion. Use it to sort a list inside that tool, and do not mix scores from two tools in one sheet. ## How to judge keyword difficulty by reading the SERP A score cannot see what you can see on the results page. Reading that page takes only a few minutes per keyword, and it often changes the answer you got from the score. Our [step by step SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/) covers it in full. Here is the short version: 1. **Load the real page** for your country and device, signed out, because your own browser is personalized. 2. **Note who ranks.** Big brands, small blogs, forums, PDFs and help threads are very different rivals. 3. **Check the intent.** If the top pages do not answer the search well, a page that does has an opening. 4. **Count what sits above the links.** AI Overviews, ads and videos push the first result down. Our guide to [SERP features](https://serplify.io/blog/serp-features-explained/) shows what each block does to clicks. 5. **Compare with your own site.** A new site should look for top 10s that include weak or off-topic pages. ### Example 1: google search parameters (DataForSEO 82, Ahrefs 0) We fetched the US desktop results for this keyword on October 9, 2026. The top eight included a Semrush PDF, a forum thread, a Google community thread and five blog posts. Seven of the eight were about search operators like `site:`, not the URL parameters the keyword asks about. Neither score tells that story. The real signal is a mix of weak page types and a poor match for what the searcher wants. A page that answers the actual question has a fair shot, which is why we wrote our [list of Google search parameters](https://serplify.io/blog/google-search-parameters/). ### Example 2: keyword clustering (DataForSEO 28, Ahrefs 0) Ahrefs says 0, which sounds easy. But the US top 10 on the same day included Semrush, Surfer, SE Ranking, Keyword Insights and Wikipedia. A KD of 0 suggests those pages have few links of their own, and links to the page are what Ahrefs counts. Yet four of those five sites are well-known SEO tool companies, and the fifth is Wikipedia. A small site will find it hard to beat them with one more general guide. A different angle has a better chance, such as working code that clusters keywords from real results. That is the approach in our guide on [how to cluster keywords](https://serplify.io/blog/how-to-cluster-keywords/). ## How to check keyword difficulty for a whole list 1. Pull KD and volume for every keyword from **one** tool. 2. Sort by KD and drop the keywords that are clearly out of reach for your site. 3. Read the results page for the rest, using the five checks above. 4. Write down your call for each keyword: go, wait or skip. Step 3 is the slow part when the list is long. For hundreds of keywords, you can pull the results pages as data with a [SERP API](https://serplify.io/serp-api/). Then count forums, PDFs and big brands in a sheet instead of by hand. Frequently asked questions: Q: How do you measure keyword difficulty? A: Start with the KD score from one SEO tool to sort your keyword list. Then open the real Google results for the keywords you like and look at who ranks, how strong those pages are, and whether they match what the searcher wants. The score is a first filter, and the results page is the real test. Q: What is a good keyword difficulty score? A: There is no single good number, because it depends on how strong your own site is. Ahrefs says pages that rank for keywords with a KD of 0 to 5 barely have any backlinks, so low scores are a fair place for a new site to look. Always check the results page before you commit. Q: Why do Ahrefs and Semrush show different keyword difficulty? A: Each tool uses its own link database and its own formula, and each checks Google on its own schedule. Ahrefs counts the sites that link to the top 10 pages. Semrush also mixes in authority scores and link types. The same keyword can get very different scores as a result. Q: Does a keyword difficulty of 0 mean it is easy to rank? A: Not always. A 0 in Ahrefs means the pages in the top 10 have few sites linking to them. It does not look at how strong those websites are overall. On October 9, 2026, Ahrefs scored keyword clustering at 0, yet Semrush, Surfer and SE Ranking all ranked in the US top 10. Sources: - Ahrefs: Keyword difficulty, how to estimate your chances to rank: https://ahrefs.com/blog/keyword-difficulty/ - Semrush Knowledge Base: Keyword difficulty: https://www.semrush.com/kb/1158-what-is-kd - DataForSEO Help Center: What is keyword difficulty and how is it calculated?: https://dataforseo.com/help-center/what-is-keyword-difficulty-and-how-is-it-calculated --- # Why Google Rankings Change Every Day: SERP Volatility Explained URL: https://serplify.io/blog/why-google-rankings-fluctuate/ Published: 2026-09-06 · Updated: 2026-10-09 > SERP volatility is how much Google results move between checks. Learn why rankings fluctuate, how to tell noise from a real drop, and what to do next. Key takeaways: - SERP volatility is how much the results for a keyword change from one check to the next. Some movement is normal every single day. - Six things cause it: Google updates, competitors publishing, SERP features arriving, testing by Google, personalization and location, and measurement noise in your own tools. - Google ran core updates in March 2026 and May 2026, and a spam update in August 2026. Big swings during those windows are the update, not you. - One day of movement means nothing. A real drop hits a group of related keywords, holds for a week or more, and shows up in clicks too. You checked your rankings this morning. A keyword that sat at position 3 for months is at position 7. You changed nothing. What happened? Most of the time, nothing happened to you. Google results move every day. That movement is called **SERP volatility**, and understanding it saves you from panic and from fixing things that were never broken. This guide explains what volatility is, the six things that cause it, how to tell a normal wobble from a real drop, and what to do when it is real. ## What SERP volatility means A SERP is a search engine results page. If you want the basics, read [what a SERP is](https://serplify.io/blog/what-is-a-serp/). **SERP volatility** is how much the results for a keyword change from one check to the next. If the same ten sites are in the same order, volatility is zero. If half of them swap places, or new sites appear, volatility is high. Tools measure it two ways: - **Per keyword.** Your rank tracker shows your position moving up and down over days. - **Across the web.** Semrush Sensor, MozCast, and similar tools check thousands of keywords daily and publish a single score. When that score spikes, Google is changing something for everyone. The second kind is the one to check first. If the whole web is shaking, your keyword moving is not about you. ## The six causes of ranking fluctuation ### 1. Google updates Google changes its ranking systems constantly and announces the big ones. In 2026 so far it has confirmed three: - A core update in March, from March 27 to April 8. - A core update in May, from May 21 to June 2. - A spam update in August, from August 18 to 21. The December 2025 core update ran for about three weeks. It was the most disruptive of last year. During a core update rollout, positions can swing daily and then settle. Google's own advice is not to judge the result until the rollout is complete. Google lists every confirmed update on its Search Status Dashboard, and it is the first place to look when something moves. ### 2. Competitors publishing and updating Every day, other sites publish new pages and refresh old ones. If a competitor rewrote their guide on your keyword last week, and it is now better than yours, you lose a spot without doing anything wrong. This is the most common cause of a slow slide over weeks. ### 3. SERP features arriving or leaving A new block above you changes your position on the page even if your organic rank did not change. In our September 2026 sample of 200 US result pages, a plain website led the page on only 14.5 percent of them. AI Overviews appeared on 68.5 percent, People Also Ask on 93 percent. When an AI Overview lands on your keyword, your rank-one result becomes the second thing on the page. Your tracker may say nothing changed. Your clicks say otherwise. Our guide on [SERP features](https://serplify.io/blog/serp-features-explained/) covers what each block does. ### 4. Google testing Google runs live experiments all the time. It may show a different layout, a different mix of results, or a different order to a share of searchers for a few days, then keep or drop the change. A tracker that fetches the page during a test sees a different page than one that fetches an hour later. ### 5. Location, device, and personalization There is no single ranking for a keyword. Results differ by city, by device, by language, and a little by the searcher's history. If your tracker checks from a different location than last week, or your browser was signed in this time and not last time, the position you see will differ. This is why serious tracking always fixes the location and device. See [why mobile and desktop rankings differ](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/) for how large the gap can be. ### 6. Measurement noise Some volatility is your tool, not Google. A tracker that hits a captcha and retries an hour later, or that counts a result twice, or that switches proxy country between checks, will report movement that never happened. Cheap trackers with loose location handling are the usual source. ## How to tell noise from a real drop Here is a simple test you can run in five minutes. | Question | Noise looks like | A real drop looks like | |---|---|---| | How many keywords moved? | One or two | A whole group on the same topic or section | | How far? | One to three positions | Five or more positions, or off page one | | How long? | Back within a few days | Holds for seven days or more | | Did traffic follow? | No change in Search Console clicks | Clicks fall with the positions | | Is the web-wide volatility index high? | Yes, everyone is moving | No, it is quiet and you still fell | | Did Google announce an update? | Yes, and you are inside the window | No update, or the drop started after it finished | The single most useful habit is to **look at seven-day averages across many keywords** instead of one keyword on one day. A tracker with daily history makes that a one-click view. If you do not have one yet, we cover [five ways to check rankings](https://serplify.io/blog/how-to-check-google-rankings/) and [what a rank tracker costs](https://serplify.io/blog/how-much-does-a-rank-tracker-cost/). ## What to do when it is real Work through this list in order. Stop when you find the cause. 1. **Check the update calendar.** If you are inside a core update rollout, wait for it to finish. Then compare the week before with the week after. 2. **Check Search Console for errors.** Open the Pages report. A sudden jump in "not indexed" pages, a new manual action, or a spike in crawl errors points to a technical cause. Blocked robots, a bad redirect after a site change, and an expired certificate are the classics. If pages have vanished from Google entirely, read [why your website is not showing up on Google](https://serplify.io/blog/why-is-my-website-not-showing-up-on-google/). 3. **Look at who moved above you.** Open the SERP for a few of the dropped keywords. Are the new pages above you newer, longer, or better sourced? A quick [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/) tells you what Google now prefers. 4. **Check for new SERP features.** If an AI Overview, a video row, or a forum block is now above you, your rank may be fine and the clicks moved. Decide whether you can [win or be cited in that feature](https://serplify.io/blog/how-to-find-serp-feature-opportunities/). 5. **Check for intent change.** Sometimes Google decides a keyword means something else. The page for *what is a serp* in the US now leads with retirement plans, not search results. If the top results changed type, your page may no longer fit. 6. **Improve, do not tweak.** After a core update, Google says there is nothing to "fix". The pages that rose are simply judged more helpful. Make yours better than them, then wait. Recovery often shows at the next update, not the next crawl. ## What not to do - **Do not change titles and headings every time a keyword moves.** You add noise to your own experiment. - **Do not chase daily numbers.** Judge weekly trends. - **Do not trust one tool from one location.** Verify with a second check from the location your customers use. - **Do not assume a penalty.** Manual actions are rare and show up by name in Search Console. Most drops are updates, competitors, or features. ## Reading a volatility index If you want an early warning, watch a web-wide volatility index. Each one reports a daily score on its own scale. The pattern to learn is simple. A flat line with a sudden spike that lasts several days is almost always a Google update, announced or not. A slow rise over weeks usually means Google is testing something in your category. Check the index the morning you see a drop. If it spiked, breathe. If it is flat and you fell, start the list above. Frequently asked questions: Q: What is SERP volatility? A: It is a measure of how much the search results for a keyword, or a whole set of keywords, change between checks. High volatility means many results moved position. Tools like Semrush Sensor and MozCast publish a daily volatility score across thousands of keywords so you can see whether the whole web is moving or just you. Q: Is it normal for Google rankings to change every day? A: Yes. Google refreshes its index constantly, tests layouts, and adjusts results by location and device. A swing of one or two positions on a single day is noise. Track the seven-day average instead of the daily number. Q: Why did my Google ranking drop suddenly? A: The usual causes, in order of how often we see them: a Google update, a competitor improving or publishing a better page, a new SERP feature pushing your result down, a technical problem on your site such as a blocked page or a broken redirect, or a change in what Google thinks the query means. Check the update calendar first, then Search Console for errors. Q: How long does it take for rankings to settle after a core update? A: Core updates take about two to three weeks to roll out, and Google says rankings can keep shifting until the rollout finishes. Judge the effect a week after the announced completion date, not during the rollout. Q: Can I recover from a ranking drop caused by a core update? A: Sometimes, but usually not by a quick fix. Google says there is nothing to repair after a core update. Recovery comes from making the content better than the pages that moved above you, and it often shows up at the next core update rather than right away. Sources: - Google Search Status Dashboard: Ranking updates: https://status.search.google.com/products/rGHU1uZEj6zL5gVnwWDh/history - Google Search Central: What site owners should know about Google's core updates: https://developers.google.com/search/updates/core-updates - Search Engine Land: Google core update coverage: https://searchengineland.com/library/platforms/google/google-algorithm-updates/core-update --- # Why Is My Website Not Showing Up on Google? 9 Causes and How to Fix Each One URL: https://serplify.io/blog/why-is-my-website-not-showing-up-on-google/ Published: 2026-09-06 · Updated: 2026-10-09 > Why is my website not showing up on Google? Usually it is not indexed yet, blocked by noindex or robots.txt, or ranking low. Nine causes, each with a fix. Key takeaways: - First, find out which problem you have. Not indexed means Google has no copy of the page. Not ranking means Google has it but shows it far down or for other searches. - Type site:yourdomain.com into Google. If nothing comes back, you are not indexed. If pages come back, you are indexed and this is a ranking problem. - New sites often take days to weeks to appear. Submit a sitemap in Search Console and use URL Inspection to request indexing. - The common blockers are a noindex tag, a robots.txt rule, a wrong canonical, a login wall, or pages that only exist in JavaScript Google cannot render. - If you rank but cannot see yourself, it is usually location or personalization. Check with a tool that fetches the page from a fixed city and device. Your site is live. You can open it in a browser. You search for it on Google and it is not there. Or it is there for your company name but nothing else. Or a colleague sees it and you do not. These are different problems with different fixes. This guide walks through nine causes in order, from most common to least, with a quick check and a fix for each. Most people find their answer in the first four. ## First: is it not indexed, or not ranking? Start here, because everything else depends on the answer. Open Google and search for: ``` site:yourdomain.com ``` Use your real domain. This search operator asks Google to show only pages from your site. Our guide on [Google search operators](https://serplify.io/blog/how-to-use-google-search-operators/) explains it. - **No results at all.** Google has no copy of your site. You have an indexing problem. Read causes 1 to 6. - **Some or all pages appear.** Google has your site. You have a ranking or visibility problem. Skip to causes 7 to 9. The count Google shows is an estimate. For an exact answer about one page, paste its URL into the **URL Inspection** tool in Google Search Console. It says "URL is on Google" or gives the reason it is not. If you have not set up Search Console yet, do it now. It is free, and every check below is faster with it. ## Cause 1: Google has not found the site yet **Who this hits.** New sites and new pages. **Why.** Google finds pages by following links and reading sitemaps. A brand-new site with no links pointing to it can sit unnoticed for weeks. **Check.** URL Inspection says "URL is not on Google" with a reason like "Discovered, currently not indexed" or no crawl at all. **Fix.** 1. In Search Console, open **Sitemaps** and submit your sitemap URL. Most platforms generate one at `/sitemap.xml`. 2. In URL Inspection, paste your homepage and click **Request indexing**. Do the same for your most important pages. 3. Get a few real links. A profile on a directory in your industry, a mention from a partner, a post on a social profile. Google follows links. Then wait. Days is normal. Two to three weeks is not unusual for a site with no history. ## Cause 2: A noindex tag is telling Google to stay away **Who this hits.** Sites launched from a staging setup, WordPress sites, sites with an SEO plugin left on a default. **Why.** A single line in the page's HTML, ``, tells Google not to index it. Developers add it to hide unfinished sites and forget to remove it. WordPress has a checkbox, "Discourage search engines from indexing this site," that does the same thing. **Check.** URL Inspection reports "Excluded by noindex tag." Or open your page, view the source, and search for "noindex." **Fix.** Remove the tag or uncheck the setting. In WordPress it is under Settings, Reading. Then request indexing again. Google usually picks up the change within days. ## Cause 3: robots.txt is blocking the crawler **Who this hits.** Sites with a leftover `Disallow: /` rule, or a rule that blocks the folder your pages live in. **Why.** The file at `yourdomain.com/robots.txt` tells crawlers which parts of the site they may read. A line that says `Disallow: /` blocks everything. **Check.** Open `yourdomain.com/robots.txt` in a browser. Look for `Disallow:` lines. URL Inspection also reports "Blocked by robots.txt." **Fix.** Remove the blocking line. A safe minimal file is: ``` User-agent: * Allow: / Sitemap: https://yourdomain.com/sitemap.xml ``` Note that robots.txt blocks crawling, not indexing. A blocked page can still appear in Google with no description if other sites link to it. To keep a page out of Google, use noindex and let Google crawl it. ## Cause 4: The canonical points somewhere else **Who this hits.** Sites that moved domains, sites with both www and non-www versions, sites copied from a template. **Why.** A canonical tag tells Google which URL is the "real" one. If your page says its canonical is a different site, or an old domain, Google indexes that one instead. **Check.** URL Inspection shows a "Google-selected canonical" that is not your URL. Or view the page source and search for `rel="canonical"`. **Fix.** Make every page's canonical point to itself on your live domain. Redirect www to non-www (or the reverse) so there is one version of each page. ## Cause 5: Google cannot see the content **Who this hits.** Sites built with JavaScript frameworks that load content after the page opens, sites behind a login, sites that block by country or IP. **Why.** Google indexes what it can render. If the HTML arrives empty and the content only appears after scripts run, Google may index a blank page or skip it. If a login or a geo-block stands in the way, Google sees a wall. **Check.** In URL Inspection, click **Test live URL**, then **View tested page**. Look at the screenshot and the HTML. If your text is missing, Google cannot see it. **Fix.** Render pages on the server or pre-render them so the HTML contains the content. Do not block Google's IP ranges. Keep at least a public version of any page you want indexed. ## Cause 6: A manual action or removal **Who this hits.** Rare. Sites that bought links, published spam, or were hacked. **Why.** Google's team can remove a site by hand for breaking its policies. A hacked site can also be dropped or flagged. **Check.** In Search Console, open **Security and Manual Actions**. It says "No issues detected" or names the problem. **Fix.** Follow the instructions in the report, fix the issue, and submit a reconsideration request. This is the only cause on this list that needs a formal appeal. ## Cause 7: You are indexed but ranking too low to see **Who this hits.** Almost every new site for anything other than its own name. **Why.** Being in Google's index puts you in the race. It does not put you on page one. For any search with competition, Google shows the pages it judges most helpful, and a new site with little content and no links rarely wins that yet. **Check.** Search `site:yourdomain.com` and see that your pages exist. Then search your target keyword and scroll through pages two to five, or use a tool that returns the top 100. **Fix.** This is normal SEO work, and it takes months, not days: - Write pages that answer the searches you want, better than the pages currently ranking. Do a quick [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/) for each one so you match the format Google rewards. - Earn links and mentions from other sites. - Track your positions so you can see progress before it reaches page one. See [how to check your Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) without the bias of your own browser. Also check the [Search Console Performance report](https://search.google.com/search-console). If you have impressions but almost no clicks, you are being shown, just far down. ## Cause 8: You rank, but not where you are looking **Who this hits.** Local businesses, anyone searching from outside their market, anyone signed in to Google. **Why.** Google results change by city, device, language, and personal history. A plumber in Denver may rank first for searches made in Denver and be invisible from a laptop in Dallas. And Google learns what you click. If you always click your competitor to check on them, Google may show them to you more. **Check.** Open a private window, set the location to your target city, and search again. Our guide on [changing your Google search location](https://serplify.io/blog/how-to-change-google-search-location/) shows the free ways to do it. Better, use a tool that fetches the page from a fixed city and device, so you see the neutral result. That is what a rank tracker does. **Fix.** There is nothing to fix on the site. Change how you check. For local businesses, [checking local rankings for the exact city](https://serplify.io/blog/how-to-check-local-rankings/) is the only reliable view. ## Cause 9: Something changed recently **Who this hits.** Sites that were fine last month. **Why.** Site migrations, theme changes, new plugins, and expired domains or certificates break indexing in quiet ways. A redesign can add a noindex, change every URL without redirects, or block the crawler. **Check.** In Search Console, open the **Pages** report and look for a jump in "Not indexed" pages on a specific date. Match the date to what you changed. **Fix.** Undo or repair the change. Add redirects from old URLs to new ones. Then request indexing for key pages. If rankings dropped but pages are still indexed, read [why Google rankings fluctuate](https://serplify.io/blog/why-google-rankings-fluctuate/), because it may be a Google update rather than your site. ## A five-minute checklist Run these in order and stop when one fails. | Step | Check | Passing looks like | |---|---|---| | 1 | `site:yourdomain.com` in Google | Pages appear | | 2 | URL Inspection on your homepage | "URL is on Google" | | 3 | View source, search "noindex" | Not found | | 4 | Open `/robots.txt` | No `Disallow: /` | | 5 | View source, search `canonical` | Points to this page on this domain | | 6 | URL Inspection, test live URL, view screenshot | Your content is visible | | 7 | Search Console, Manual Actions | "No issues detected" | | 8 | Private window, location set to your city | You appear somewhere in the top 100 | Frequently asked questions: Q: How long does it take for a new website to show up on Google? A: Anywhere from a few days to a few weeks. Google has to discover the site, crawl it, and decide to index it. A sitemap submitted in Search Console and a few links from other sites speed up discovery. Ranking well for competitive searches takes much longer, often months. Q: How do I check if my website is indexed by Google? A: Search Google for site:yourdomain.com. If pages appear, the site is indexed. For one exact page, paste its URL into the URL Inspection tool in Google Search Console. It tells you whether the page is indexed and, if not, why. Q: Why does my site show up for my brand name but not for anything else? A: That is normal for a young or small site. Google indexes it and shows it for searches where it is clearly the best answer, which is your own name. Ranking for other searches means competing with established pages, which takes better content and links over time. Q: Can I pay Google to show my website? A: You can buy ads through Google Ads, which appear in the sponsored spots. You cannot pay for organic ranking. Companies that promise guaranteed first-page organic placement are not selling anything Google offers. Q: Why does my site show up for my colleague but not for me? A: Google results differ by location, device, and search history. You may be searching from a different city, or Google may have learned you always click your own site and is showing you something else. Use a private window with the location set, or a rank tracker, to see the neutral result. Sources: - Google Search Central: Search Engine Optimization (SEO) Starter Guide: https://developers.google.com/search/docs/fundamentals/seo-starter-guide - Google Search Central: URL Inspection Tool: https://support.google.com/webmasters/answer/9012289 - Google Search Central: Block Search indexing with noindex: https://developers.google.com/search/docs/crawling-indexing/block-indexing - Google Search Central: Introduction to robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/intro - Google Search Central: Manual Actions report: https://support.google.com/webmasters/answer/9044175 --- # Bing Search API alternatives: what developers and AI agents use now URL: https://serplify.io/blog/bing-search-api-alternatives/ Published: 2026-10-09 > Microsoft retired the Bing Search APIs on August 11, 2025. Compare its replacement, Grounding with Bing, with other search APIs for apps and AI agents. Key takeaways: - Microsoft retired every public Bing Search API, including Bing Custom Search, on August 11, 2025. Old keys no longer work. - The official replacement, Grounding with Bing Search, costs $14 per 1,000 calls and gives your AI model an answer with citations. You never see the raw results. - If you need raw results as JSON, pick a search API with its own index or a SERP API that reads a search engine's results page. Decide first whether you need Bing, Google or just good web results. Microsoft retired the Bing Search APIs on **August 11, 2025**. Every existing key was switched off, and new sign-ups closed. Microsoft's replacement is **Grounding with Bing Search**, a tool for AI agents that returns a written answer with citations, not a list of results. That left every app built on it without a search feed. Below is what changed, what Microsoft offers now, and the alternatives that return results you can use. ## What happened to the Bing Search API? **The Bing Search API was a Microsoft service that returned Bing results as JSON. Microsoft shut it down on August 11, 2025.** The [retirement notice](https://learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement), posted in May 2025, says existing instances "will be decommissioned completely." The cut was wide. The [archived docs](https://learn.microsoft.com/en-us/bing/search-apis/) now open with one line: public Bing Search and Bing Custom Search APIs were retired. The same archived page lists the nine APIs in that family: - Web Search, Image Search, News Search and Video Search - Visual Search, Entity Search and Custom Search - Spell Check and Autosuggest So if your app used any of these, it stopped working on that date. ## What is Grounding with Bing Search? **Grounding with Bing Search is a tool you attach to an AI agent in Microsoft Foundry (formerly Azure AI Agents).** When a user asks a question, your model writes a Bing query. Bing sends results back to the model, and the model writes the answer. Here is the catch. Microsoft's [Grounding with Bing guide](https://learn.microsoft.com/en-us/azure/ai-services/agents/how-to/tools/bing-grounding) says developers and end users "don't have access to raw content returned" by the tool. You get the model's answer, links to the cited sites, and a link to the Bing query. You must show those links the way Microsoft requires. Other facts worth knowing before you build on it: - **Price.** $14 per 1,000 transactions, says Microsoft's [pricing page](https://www.microsoft.com/en-us/bing/apis). A transaction is one tool call. Model costs are extra. - **Limits.** 150 transactions per second and 1 million per day. - **Accounts.** Only paid Azure subscriptions qualify. Free-credit and sponsored subscriptions do not. - **Data.** Your queries leave the Azure compliance boundary and fall under Bing's own terms. Microsoft also offers a newer **Web Search tool** in Foundry. Its [web grounding overview](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/web-overview) recommends it for new agents. It also sends queries to Bing, and the agent replies with a cited answer. ## When the official replacement does not fit Grounding with Bing works if you build on Azure and want answers. It does not fit these common jobs: 1. **Showing a results list** in your own app, like a search box. 2. **Storing results**, for example to track rankings or watch a brand. 3. **Feeding raw text to your own model** outside Microsoft Foundry. 4. **Seeing the real results page**, with ads, maps and question boxes. Our explainer on [what a SERP is](https://serplify.io/blog/what-is-a-serp/) shows what that page holds today. For those, you need an API that returns results, not answers. ## Bing Search API alternatives compared Prices come from each provider's own page, checked on October 9, 2026. | Option | Search engine | Price (October 2026) | What you get back | |---|---|---|---| | Grounding with Bing Search | Bing | $14 per 1,000 calls, plus model costs | An AI answer with citations; no raw results | | SerpApi (Bing engine) | Bing results page | $25 a month for 1,000 searches; 250 free a month | JSON of the Bing page | | DataForSEO (Bing) | Bing results page | $0.002 per 10 results live, $0.0006 queued | JSON of the Bing page | | Brave Search API | Brave's own index | $5 per 1,000 requests; $5 free credit a month | JSON results, with extra text for AI use | | Exa | Exa's own index | $7 per 1,000 searches ($4 on the fastest mode); $10 free a month | JSON links; page text costs extra | | Tavily | Not stated | $0.008 per credit; a basic search is 1 credit, an advanced one is 2 | JSON results trimmed for AI models | | Google SERP APIs | Google results page | From $0.0006 per 10 results (DataForSEO, queued) to $0.025 per search (SerpApi's smallest plan) | JSON of the Google page | | Google Custom Search JSON API | Part of Google's index | Closed to new customers | Ends January 1, 2027 | One row needs a plain note. Serplify, which publishes this blog, is in the "Google SERP APIs" group. It returns Google results only. It does not offer Bing. ## Which alternative fits your use case? ### You need Bing results specifically Use a SERP API with a Bing engine. [SerpApi](https://serpapi.com/bing-search-api) and DataForSEO both read Bing's public results page and return it as JSON. This is not Microsoft's old official feed, so field names differ. But the results come from the same page a person sees on bing.com. ### You are building an AI agent Brave, Exa and Tavily all sell plans aimed at AI apps. They return short, clean text that fits in a model's context. Brave runs its own index of over 40 billion pages, its pricing page says. If you already run agents in Microsoft Foundry, Grounding with Bing is the simplest path. If your agent must answer from Google, see how to [give an AI agent live Google search](https://serplify.io/blog/google-search-mcp-server/) through a small MCP server. ### You need Google results Google's own path is closing. The Custom Search JSON API stopped taking new customers, and Google lists January 1, 2027 as its end date. Our post on [the Custom Search API shutdown](https://serplify.io/blog/google-custom-search-api-shutdown/) has the details and a code example. The practical option is a [Google SERP API](https://serplify.io/serp-api/). It returns the full results page as JSON, including organic links, ads, People Also Ask and AI Overviews. For a price comparison across providers, see our list of [DataForSEO alternatives](https://serplify.io/blog/dataforseo-alternatives/). ### You used Bing Custom Search for site search Microsoft's Grounding with Bing Custom Search covers this for agents, though it is still in preview. For a plain search box on your site, Google's free site search box handles up to 50 domains. ## How to switch without breaking your app 1. **List every call.** Note which Bing API it used and which fields you read. Many apps only read `name`, `url` and `snippet` from `webPages.value`. 2. **Decide: results or answers.** If a person reads the output, you probably need results. If a model reads it, either can work. 3. **Pick the engine.** Bing, Google or an independent index. Each one ranks the web differently. 4. **Test with 50 real queries** from your logs. Compare the top results with what users expect. 5. **Map the fields** to the new response and add retry logic for timeouts. 6. **Check the display rules.** Some providers, Microsoft included, require you to show source links. The Bing Search API is not coming back. Pick its replacement by the engine you need and by what your code reads: a list of results, or a written answer. Frequently asked questions: Q: Is the Bing Search API still available? A: No. Microsoft retired the public Bing Search APIs on August 11, 2025, and decommissioned all existing instances. That includes Web, Image, News, Video and Custom Search. New sign-ups are closed too. Q: What replaced the Bing Search API? A: Microsoft points users to Grounding with Bing Search, a tool for AI agents in Microsoft Foundry. It feeds Bing results to your model, which writes an answer with citations. Microsoft now also offers a newer Web Search tool for agents that uses Bing. Q: Does Bing have a free API? A: Not anymore. Grounding with Bing Search is billed at $14 per 1,000 transactions, and Microsoft says free-credit and sponsored Azure subscriptions cannot use it. Some other search APIs, such as Brave and Exa, give a small free credit each month. Q: Can I still get Bing results as JSON? A: Yes, through third-party SERP APIs that read Bing's public results page. SerpApi and DataForSEO both offer a Bing engine. They return the page as JSON, which is different from Microsoft's old official feed. Q: Is the Google search API available instead? A: Not for new users. Google's Custom Search JSON API is closed to new customers and is set to be discontinued on January 1, 2027. For Google results, developers now use third-party SERP APIs. Sources: - Microsoft Learn: Bing Search APIs retiring on August 11, 2025: https://learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement - Microsoft Learn: Bing Search Services documentation (archived, retirement banner): https://learn.microsoft.com/en-us/bing/search-apis/ - Microsoft Learn: Grounding with Bing Search in Foundry Agent Service: https://learn.microsoft.com/en-us/azure/ai-services/agents/how-to/tools/bing-grounding - Microsoft Learn: Overview of web grounding tools in Foundry: https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/web-overview - Microsoft: Grounding with Bing pricing: https://www.microsoft.com/en-us/bing/apis - Brave Search API pricing: https://brave.com/search/api/ - Exa pricing: https://exa.ai/pricing - Tavily pricing and API credits: https://docs.tavily.com/documentation/api-credits - SerpApi: Bing Search Engine Results API: https://serpapi.com/bing-search-api - DataForSEO Bing Organic SERP API pricing: https://dataforseo.com/pricing/serp/bing-organic-serp-api --- # Google Custom Search API is shutting down: what to use instead before 2027 URL: https://serplify.io/blog/google-custom-search-api-shutdown/ Published: 2026-10-09 > Google's Custom Search JSON API is closed to new customers and ends January 1, 2027. See who is affected, what Google suggests, and how to move your code. Key takeaways: - Google's Custom Search JSON API is closed to new customers. Google lists January 1, 2027 as the date the service is discontinued. - Until then, existing users still get 100 free queries a day and pay $5 per 1,000 after that, up to 10,000 queries a day. - Google points site search (up to 50 domains) to Vertex AI Search. For whole-web search, it asks you to fill in an interest form. - If your app needs the same results people see on google.com, a SERP API is the closest swap. The code change is a new URL, a new key and new field names. Google's Custom Search JSON API is going away. It is closed to new customers, and Google lists **January 1, 2027** as the date the service is discontinued. If your app calls it today, you need a new source of search results before then. Google suggests Vertex AI Search for site search and a request form for whole-web search. If your app needs the real google.com page, a SERP API is the closest match, and the code change is small. ## What is happening to the Custom Search JSON API? **Google has closed the Custom Search JSON API to new customers and lists January 1, 2027 as its discontinuation date.** Google explains this on its [Custom Search JSON API overview page](https://developers.google.com/custom-search/v1/overview), last updated February 18, 2026. The change was first announced on January 20, 2026, on the [Programmable Search Engine blog](https://programmablesearchengine.googleblog.com/2026/01/updates-to-our-web-search-products.html). That post says your move "needs to be completed by January 1, 2027." | Date | What changed | |---|---| | January 20, 2026 | Google announces the change. All new search engines must use "Sites to search" (50 domains at most). | | By February 18, 2026 | The API page says it is closed to new customers. | | Now until January 1, 2027 | Existing customers keep access. 100 free queries a day, then $5 per 1,000, up to 10,000 a day. | | January 1, 2027 | Google's stated discontinuation date for the API and for "Search the entire web" engines. | We checked these pages on October 9, 2026. Google has not said what the API will return after the cutoff, such as an error code. Treat the date as a hard stop. ## Who is affected? Three groups need to act. - **Apps that call the Custom Search JSON API.** This is anyone with a key and a search engine ID (the `cx` value) who sends requests to `customsearch/v1`. - **Search boxes set to "Search the entire web."** These engines keep working only until January 1, 2027. - **Search boxes that cover more than 50 domains.** Google asks these users to contact it about a full web search product. One group is fine. If you use Google's free search box on your own site and it covers 50 domains or fewer, Google says that option stays. ## Why your Custom Search results were never quite Google Some teams used this API as a cheap stand-in for google.com. It never matched. Google's own help page, [Programmable Search Engine vs Google.com](https://support.google.com/programmable-search/answer/70392?hl=en), lists the reasons. An engine favors your own sites. Whole-web engines search only part of Google's index. And they leave out answer boxes, real-time results and personalized results. The API also had hard limits. Each call returned at most 10 results. A single query could never go past result 100, says the [API reference](https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list). There were no ads, maps, People Also Ask boxes or AI Overviews. A real results page holds all of those, as we show in [SERP features explained](https://serplify.io/blog/serp-features-explained/). So the shutdown is also a chance to fix a data problem you may not have noticed. ## What Google suggests instead Google names two paths. 1. **Vertex AI Search, for up to 50 domains.** This is Google Cloud's search product for your own sites and files. Google's docs say it is being renamed **Agent Search**. It searches the content you give it, not the whole web. 2. **A "full web search solution", by request.** For whole-web search, Google asks you to fill in an interest form. It has not posted a public price. Neither one returns the page a person sees on google.com. If that is what your app needs, you need a different kind of tool. ## Other options: SERP APIs and independent search APIs A **SERP API** fetches the real Google results page for a keyword, country and device. It returns that page as JSON. Rank trackers, SEO tools and AI agents use them. For agents, our guide on how to [give an AI agent live Google search](https://serplify.io/blog/google-search-mcp-server/) shows a full setup. An **independent search API** runs its own index of the web. Brave Search is one example. Its results come from Brave's index, not Google's. Bing is no longer an option. Microsoft retired the Bing Search APIs on August 11, 2025. Our post on [what replaced the Bing Search API](https://serplify.io/blog/bing-search-api-alternatives/) covers that change. ## Custom Search API alternatives compared Prices below come from each provider's own pricing page, checked on October 9, 2026. | Option | Where results come from | Price (October 2026) | Status | |---|---|---|---| | Custom Search JSON API | Part of Google's index, filtered by your engine | $5 per 1,000 queries after 100 free a day | Closed to new customers; ends January 1, 2027 | | Vertex AI Search (Agent Search) | Your own sites and data | $1.50 per 1,000 queries (Standard), $4 (Enterprise); 10,000 free a month | Available | | Google full web search | Google's full index | Not published | By request | | Serplify | Live google.com results page, up to 100 results | $0.005 per successful SERP; $1 free credit | Available | | SerpApi | Live google.com results page | $25 a month for 1,000 searches; 250 free a month | Available | | DataForSEO | Live google.com results page | $0.002 per 10 results (live), $0.0006 (queued) | Available | | Brave Search API | Brave's own index | $5 per 1,000 requests; $5 free credit a month | Available | | Bing Search API | Bing | No longer sold | Retired August 11, 2025 | A fair note on our own row: Serplify, which publishes this blog, only bills a search that succeeds and has no monthly plan. For a wider field, see our comparison of [SerpApi alternatives](https://serplify.io/blog/best-serpapi-alternatives/). ## How to move a Custom Search request to a SERP API Often the change fits inside one function. Here is a typical Custom Search call in Python: ```python import os, requests res = requests.get( "https://customsearch.googleapis.com/customsearch/v1", params={ "key": os.environ["GOOGLE_API_KEY"], "cx": os.environ["SEARCH_ENGINE_ID"], "q": "best running shoes", "gl": "us", "num": 10, }, ) for item in res.json().get("items", []): print(item["title"], item["link"], item["snippet"]) ``` Here is the same search sent to our SERP API, using the request from the [quickstart](https://docs.serplify.io/getting-started/quickstart/). The `standard` format keeps organic results, ads and featured snippets: ```python import os, requests res = requests.post( "https://api.serplify.io/v1/serp/search", headers={"Authorization": f"Bearer {os.environ['SERPLIFY_KEY']}"}, json={ "keyword": "best running shoes", "location": {"code": 2840}, "language": {"code": "en"}, "format": "standard", }, ) res.raise_for_status() for item in res.json()["data"]["items"]: if item["type"] == "organic": print(item["title"], item["url"], item["description"]) ``` The fields map like this: | Custom Search | SERP API request or response | |---|---| | `q` | `keyword` | | `gl=us` | `location: {"code": 2840}` (a location code for the country or city) | | `hl`, `lr` | `language: {"code": "en"}` | | `num`, `start` | One call returns up to 100 results, so no paging | | `cx` (your engine) | No engine. Add `site:example.com` to the keyword to stay on one site. | | `items[].link` | `items[].url` | | `items[].snippet` | `items[].description` | | `items[].displayLink` | `items[].domain` | Three things change for the better. You get the real page, not a filtered copy. You can pick a city and a device, as well as a country. And each item has a `type`, so you can keep or skip ads, maps and question boxes. Two things to watch. Results will differ from what your engine returned, so check any tests that expect exact URLs. And if you used Custom Search to search your own site, Vertex AI Search may fit better than a SERP API. ## Which option should you pick? | If your app needs | Use | |---|---| | Search across your own site or docs (50 domains or fewer) | Google's free site search box, or Vertex AI Search | | The same results a person sees on google.com | A SERP API | | Web results for an AI agent that do not have to be Google | Brave Search API, or a SERP API | | Google's full index, from Google itself | Google's full web search interest form | If you were thinking of [scraping Google yourself](https://serplify.io/blog/how-to-scrape-google-search-results/) instead, read that post first. Google blocks plain scripts within a few dozen searches. If you want the same results page your users see, a [Google SERP API](https://serplify.io/serp-api/) is the most direct swap. Whatever you pick, start now. Run the new source next to the old one for a few weeks, compare the output, and switch well before January 1, 2027. Frequently asked questions: Q: Is the Google Custom Search API discontinued? A: It is closed to new customers now. Existing customers can keep using it until January 1, 2027, which Google calls the discontinuation date. After that you need another option. Q: Is the Google Custom Search API free? A: Only for existing customers, and only for the first 100 queries each day. More queries cost $5 per 1,000, with a cap of 10,000 queries a day. New sign-ups are not accepted. Q: Is there an API for Google search? A: Google no longer offers a public, self-serve API for whole-web results. It suggests Vertex AI Search for searching up to 50 of your own domains and runs an interest form for a full web search product. Third-party SERP APIs return the live google.com results page as JSON. Q: Will my existing Custom Search API key keep working until 2027? A: Google says existing customers have until January 1, 2027 to move to another solution. It has not said what error requests will return after that date. Plan to switch before the cutoff, not on it. Q: Why are Custom Search results different from Google.com? A: Google says a Programmable Search Engine favors your own sites, searches only part of Google's index, and leaves out features like answer boxes and personalized results. So the list your app got was never the same as a real google.com page. Sources: - Google for Developers: Custom Search JSON API overview (closure notice and pricing): https://developers.google.com/custom-search/v1/overview - Programmable Search Engine Blog: Updates to our Web Search Products (January 20, 2026): https://programmablesearchengine.googleblog.com/2026/01/updates-to-our-web-search-products.html - Google for Developers: cse.list reference (num and start limits): https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list - Programmable Search Engine Help: Programmable Search Engine vs Google.com: https://support.google.com/programmable-search/answer/70392?hl=en - Google Cloud: Vertex AI Search (Agent Search) pricing: https://cloud.google.com/generative-ai-app-builder/pricing - SerpApi pricing: https://serpapi.com/pricing - DataForSEO Google Organic SERP API pricing: https://dataforseo.com/pricing/serp/google-organic-serp-api - Brave Search API pricing: https://brave.com/search/api/ - Microsoft Learn: Bing Search APIs retiring on August 11, 2025: https://learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement --- # Google Search MCP Server: Give Claude, Cursor or Any AI Agent Live Google Results (Python Tutorial) URL: https://serplify.io/blog/google-search-mcp-server/ Published: 2026-10-09 > Build a Google search MCP server in Python that gives Claude Desktop, Cursor or any MCP client live Google results, AI Overviews and People Also Ask as JSON. Key takeaways: - MCP (Model Context Protocol) is an open standard that lets AI apps call outside tools. A Google search MCP server turns 'search Google' into one tool the agent can call. - The server below is about 75 lines of Python on the official MCP SDK (version 2.3.0, tested October 9, 2026). It returns the organic results, the AI Overview with its sources, and People Also Ask questions. - It calls a SERP API, so the agent sees the real Google page for a chosen country and device. Each search costs $0.005, and failed searches cost nothing. A Google search MCP server is a small program that lets an AI agent search Google and read the results. You run it on your computer. Then you point Claude Desktop, Cursor or another MCP client at it, and the agent gets a `google_search` tool it can call whenever it needs fresh facts. Below is a complete one in about 75 lines of Python. It uses the official MCP SDK and a SERP API, and it works with any MCP client. ## What is MCP, in plain words? **MCP, the Model Context Protocol, is an open standard for connecting AI apps to outside tools and data.** Anthropic introduced it in November 2024. The official docs compare it to a USB-C port for AI apps: one plug that fits many devices. There are two sides: - **The server** offers tools. Ours offers one tool, `google_search`. - **The client** is the AI app, such as Claude Desktop, Cursor or Claude Code. The model reads each tool's name and description and decides when to call it. In this setup, the client starts the server as a small background program. They talk over standard input and output, which MCP calls the **stdio transport**. Nothing is exposed to the internet. ## Why not use the agent's built-in web search? Claude and ChatGPT can already search the web. That is fine for quick answers. It falls short when you need what Google shows: - **You cannot pick the country or device.** Rankings in London on mobile differ from New York on desktop. - **You do not see the page.** No positions, no AI Overview, no People Also Ask. - **Google's own API is going away.** The Custom Search JSON API is closed to new customers and shuts down on January 1, 2027. Our guide to [the Custom Search API shutdown](https://serplify.io/blog/google-custom-search-api-shutdown/) covers the options. - **Scraping Google yourself breaks.** A script on your laptop hits captchas within minutes. We explain why in [how to scrape Google search results](https://serplify.io/blog/how-to-scrape-google-search-results/). A SERP API fetches the real results page from the country and device you choose, and returns it as JSON. The MCP server is the thin layer that hands that JSON to the agent. ## What you need - **Python 3.10 or newer** and **uv**, a fast Python package manager. - **An MCP client**: Claude Desktop, Cursor, Claude Code, or any other. - **A SERP API key.** This guide uses Serplify's `POST /v1/serp/search` endpoint. New accounts get $1 of free credit, about 200 searches. ## Step 1: Create the project ```bash uv init google-search-mcp cd google-search-mcp uv add "mcp[cli]" ``` That installs the official MCP Python SDK. We tested this guide with version 2.3.0. Version 2 renamed the main class to `MCPServer`, so older tutorials that import `FastMCP` will not run on it. ## Step 2: Write the server Create `server.py` and paste this in: ```python import asyncio import os import httpx2 from mcp.server import MCPServer from mcp.server.mcpserver.exceptions import ToolError API = "https://api.serplify.io" KEY = os.environ["SERPLIFY_KEY"] mcp = MCPServer("google-search") @mcp.tool() async def google_search( query: str, location_code: int = 2840, language: str = "en", device: str = "desktop", ) -> dict: """Search Google and return the live first page of results. Use it for recent events, prices, rankings, or anything you are unsure of. Args: query: The search, typed the way a person would type it. location_code: Google location code. 2840 = United States, 2826 = United Kingdom. language: Language code, such as "en" or "de". device: "desktop" or "mobile". """ body = { "keyword": query, "location": {"code": location_code}, "language": {"code": language}, "device": device, "depth": 10, } headers = {"Authorization": f"Bearer {KEY}"} async with httpx2.AsyncClient(base_url=API, headers=headers, timeout=300) as http: res = await http.post("/v1/serp/search", json=body) # A slow search comes back as HTTP 202 with a task to poll. for _ in range(20): if res.status_code != 202: break await asyncio.sleep(3) res = await http.get(res.json()["data"]["status_url"]) payload = res.json() if res.status_code != 200: message = payload.get("error", {}).get("message", "still running, try again") raise ToolError(f"Search failed ({res.status_code}): {message}") return summarize(payload["data"]) def summarize(data: dict) -> dict: """Keep what an agent needs from the page and drop the rest.""" page = {"query": data["keyword"], "ai_overview": None, "results": [], "people_also_ask": []} for item in data["items"]: if item["type"] == "organic": page["results"].append({ "position": item["rank_group"], "title": item["title"], "url": item["url"], "snippet": item.get("description"), }) elif item["type"] == "ai_overview": parts = item.get("items") or [] page["ai_overview"] = { "text": "\n".join(p.get("text") or "" for p in parts), "sources": [ref["url"] for ref in item.get("references") or []], } elif item["type"] == "people_also_ask": page["people_also_ask"] = [q["title"] for q in item.get("items") or []] return page if __name__ == "__main__": mcp.run(transport="stdio") ``` What each part does: - **`@mcp.tool()`** turns the function into a tool. The SDK builds the input schema from the type hints. The docstring becomes the description the model reads, so write it for the model. - **The request body** follows the API docs: keyword, location, language and device. `depth: 10` asks for the first page only. The price is per page either way, and a smaller page loads faster. - **The polling loop** handles slow searches. If a live search cannot finish in time, the API answers `HTTP 202` with a `status_url`. The loop checks it every 3 seconds for up to a minute. Checking is free. - **`ToolError`** sends a readable message, like "Missing or invalid API key", back to the model. In SDK version 2, other errors reach the model only as a generic failure. - **`summarize()`** keeps three things: organic results, the AI Overview with its sources, and People Also Ask questions. A full page can hold dozens of block types. Sending all of them wastes the model's context. One rule matters for every stdio server: never use `print()`. Standard output carries the protocol messages, and a stray print breaks the connection. Use the `logging` module, which writes to standard error. ## Step 3: Connect it to Claude Desktop Open the Claude Desktop config file. Create it if it does not exist. - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` - Windows: `%APPDATA%\Claude\claude_desktop_config.json` Add the server: ```json { "mcpServers": { "google-search": { "command": "uv", "args": ["--directory", "/ABSOLUTE/PATH/TO/google-search-mcp", "run", "server.py"], "env": { "SERPLIFY_KEY": "live_your_key_here" } } } } ``` Use the full path to your project folder. Save the file and restart Claude Desktop. If it cannot find `uv`, put the full path from `which uv` in the `command` field. ## Step 4: Connect Cursor or Claude Code **Cursor** reads the same JSON shape. Put it in `~/.cursor/mcp.json` for every project, or `.cursor/mcp.json` for one. If the tool does not appear, open the Output panel and pick "MCP Logs". **Claude Code** adds it with one command: ```bash claude mcp add --env SERPLIFY_KEY=live_your_key_here --transport stdio google-search \ -- uv --directory /ABSOLUTE/PATH/TO/google-search-mcp run server.py ``` Keep your key out of code you commit. The `env` field and the `--env` flag pass it to the server at start. ## Step 5: Try it Ask the agent something it cannot know from training. For example: "Search Google for *search api for ai agents*. Which sites rank first, and what does the AI Overview cite?" It should call `google_search` and answer from the page. Here is what `summarize()` made of the real US desktop page for that query on October 9, 2026. We trimmed it to two results, three sources and four questions: ```json { "query": "search api for ai agents", "ai_overview": { "text": "A web search API for AI agents evaluates a natural language query from an autonomous workflow and returns clean, machine-readable data ...", "sources": [ "https://tavily.com/", "https://www.firecrawl.dev/glossary/web-search-apis/web-search-tool-ai-agents", "https://www.vellum.ai/blog/best-web-search-apis-and-mcps-for-ai-agents" ] }, "results": [ { "position": 1, "title": "Tavily", "url": "https://tavily.com/", "snippet": "Tavily is the real-time search engine for AI agents ..." }, { "position": 2, "title": "What's the best tool/API for web search in an agentic stack?", "url": "https://www.reddit.com/r/AI_Agents/comments/1pf9avo/whats_the_best_toolapi_for_web_search_in_an/", "snippet": "I'm building an agentic stack where one component needs to run real web searches ..." } ], "people_also_ask": [ "Which search API is best for AI agents?", "Do AI agents use APIs?", "What is the best web search tool for AI agents?", "Is there a free AI agent API available?" ] } ``` That page had nine organic results and an AI Overview with 16 sources. The agent gets all of it as compact JSON. To pull more block types, like videos or the local pack, add branches to `summarize()`. Our post on [how we parse SERP features into JSON](https://serplify.io/blog/how-we-parse-serp-features-into-json/) lists the shapes. ## What it costs Each successful search costs $0.005, so 1,000 searches cost $5. A failed or blocked search costs nothing. If your agent runs 300 searches a day, that is $1.50 a day. There is no plan or monthly fee. The $1 of free credit covers about 200 searches, which is plenty to test the server. Our [Google SERP API page](https://serplify.io/serp-api/) has the full price and feature list. For a walkthrough of the API itself, see [how to use the Serplify SERP API](https://serplify.io/blog/how-to-use-serplify-serp-api/). ## Other ways to give an agent web search A Google results page is not always what an agent needs. These are the main options as of October 2026. | Option | Where results come from | Best when | |---|---|---| | Built-in web search in Claude or ChatGPT | The app's own search provider | You only need answers, not Google's page | | Brave Search MCP server (official, from Brave) | Brave's own index | You want a ready-made server and do not need Google | | Exa or Tavily MCP servers | AI-first search engines that also return page text | Research and RAG agents that need page content | | Google Custom Search JSON API | A Google custom search engine | Not for new projects: closed to new customers, ends January 1, 2027 | | Community servers that scrape google.com | Google, fetched from your own IP | Hobby use; they break on captchas | | Your own server plus a SERP API (this guide) | The real Google page, by country and device | You need rankings, AI Overviews or People Also Ask | Pick by the question your agent answers. "What does Google show for this keyword?" needs Google's page. "What do sources say about this topic?" can use any good index. Frequently asked questions: Q: Is there an official Google Search MCP server? A: Not for public web results, as of October 2026. Google's official MCP servers, announced in December 2025, cover services like Maps, BigQuery and Compute Engine. To give an agent the public Google results page, you need a SERP API behind your own MCP server, or a different search engine. Q: Which search API is best for AI agents? A: It depends on what the agent needs. For what Google shows, including rankings, AI Overviews and People Also Ask, use a SERP API. For page text to feed a RAG app, AI-first engines like Exa or Tavily return content directly. For simple answers, the built-in web search in Claude or ChatGPT may be enough. Q: Is there a free web search API for AI agents? A: Most search APIs have a free tier or trial credit. Serplify gives $1 of free credit at signup, which covers about 200 Google searches. Google's Custom Search JSON API had 100 free queries a day, but it is closed to new customers and shuts down on January 1, 2027. Q: Can I write the server in TypeScript instead? A: Yes. The official TypeScript SDK works the same way: create a server, register a tool with an input schema, and connect it over stdio. The API request and the client config stay the same. Sources: - Model Context Protocol: What is MCP?: https://modelcontextprotocol.io/docs/getting-started/intro - Model Context Protocol: Build an MCP server: https://modelcontextprotocol.io/docs/develop/build-server - MCP Python SDK documentation: https://py.sdk.modelcontextprotocol.io/ - Anthropic: Introducing the Model Context Protocol (November 2024): https://www.anthropic.com/news/model-context-protocol - Serplify docs: Live search: https://docs.serplify.io/serp-api/live-search/ - Google for Developers: Custom Search JSON API overview: https://developers.google.com/custom-search/v1/overview - Cursor docs: Model Context Protocol: https://cursor.com/docs/context/mcp --- # How to scrape Google search results with Python (and why a plain request gets no results) URL: https://serplify.io/blog/how-to-scrape-google-search-results/ Published: 2026-09-06 · Updated: 2026-10-09 > How to scrape Google search results with Python: the script, what Google sent back to it in September 2026, what a working scraper needs, and the API route. Key takeaways: - A plain Python request to Google returns a 200 and about 90 KB of HTML, but on September 6, 2026 it contained no result blocks at all. Google now serves the real results only to browsers that run its scripts. - To scrape at any volume you need a real browser, rotating residential proxies, and a parser you update when Google changes its HTML. Each is ongoing work. - Google answers repeated automated requests with captchas and HTTP 429. Expect blocks quickly when many searches come from one address. - A SERP API does the same job with one HTTPS call and returns typed JSON. Serplify charges $0.005 per successful page and nothing for blocked ones. - Scraping public search results is common and widely done, but Google's terms restrict automated access. Read them and get advice for your situation. Every developer tries it once. Send a request to google.com/search, parse the HTML, pull out the links. It feels like it should take an hour. Below is what happened when we did that in September 2026, with the real script and the real response. Then comes what it takes to keep going, and the shortcut most teams end up using. ## The simplest possible scraper Here is the script everyone writes first. It uses the `requests` library and pretends to be Chrome. ```python import requests from bs4 import BeautifulSoup headers = { "User-Agent": ( "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/130.0.0.0 Safari/537.36" ), "Accept-Language": "en-US,en;q=0.9", } resp = requests.get( "https://www.google.com/search", params={"q": "best running shoes", "hl": "en"}, headers=headers, timeout=20, ) print(resp.status_code, len(resp.content), "bytes") soup = BeautifulSoup(resp.text, "html.parser") for block in soup.select("div.g"): link = block.select_one("a") title = block.select_one("h3") if link and title: print(title.get_text(), link["href"]) ``` ## What Google sent back We ran that exact script on September 6, 2026 from a normal home connection. The output: ``` 200 92632 bytes ``` Then nothing. No titles, no links. The page was a 200 OK with about 90 KB of HTML, and it contained none of the result blocks the selector looks for. We checked for the usual markers, `div.g` and `data-hveid`, and neither was present. That is the modern Google response to a request that does not run JavaScript. It sends a shell. The results are loaded by scripts that a plain HTTP client never executes. The script did not fail loudly. It just found an empty page. ## What it takes to scrape Google at volume To get real results at any volume, you need four things. Each one is a project, not a setting. ### 1. A real browser Because the page is built with JavaScript, you need a browser engine. Playwright or Selenium with headless Chrome works. It renders the page like a person's browser, and then you can read the results out of the DOM. ```python from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() page.goto("https://www.google.com/search?q=best+running+shoes&hl=en") page.wait_for_selector("h3", timeout=10000) for h in page.query_selector_all("h3"): print(h.inner_text()) browser.close() ``` This works for the first few searches. A headless browser uses about 200 to 500 MB of memory per instance and takes a few seconds per page. A thousand searches is a real machine and a real wait. ### 2. Proxies, and the right kind Google counts requests per IP address. After a few dozen from one address in a short time, it shows its [unusual traffic captcha](https://serplify.io/blog/google-unusual-traffic-error/) or answers with HTTP 429. Datacenter IPs get flagged fastest. You need residential or mobile proxies that rotate, and you need them in the country and city you are searching from, because location changes the results. Residential proxy bandwidth is sold by the gigabyte. A rendered Google results page is several hundred kilobytes with all its scripts, so bandwidth becomes the largest line in the budget. ### 3. Captcha and block handling Even with good proxies, a share of requests get a captcha or a block. Your code must detect it, drop that proxy session, wait, and retry. At scale this is most of the code. Providers that fetch millions of pages a day treat a high retry rate as normal and only count the page as done when a real result comes back. ### 4. A parser you keep updating Google changes its HTML often and without notice. Class names are random strings that rotate. A selector that works today breaks next month. Then you have to tell an organic result from an ad, a People Also Ask box, an AI Overview, a local pack, and a video row. There are forty other block types after that, each with its own structure. Our guide on [SERP features](https://serplify.io/blog/serp-features-explained/) lists them. Every one is a parser to write and maintain. ## What this costs you Put it together for a modest job: 5,000 searches a week. | Item | What you are paying with | |---|---| | Browser rendering | A server with enough memory, and time | | Residential proxies | Roughly a few dollars per GB, and several hundred KB per page | | Captcha retries | 20 to 50 percent extra requests, all of them wasted bandwidth | | Parser maintenance | Developer hours every time Google changes | | Detection of silent failures | More developer hours, because empty pages look like success | For a lot of teams the math looks like this. A developer spends a few days a month keeping a scraper alive, and the proxy bill is still larger than a SERP API bill would have been. ## The same job with a SERP API Google's own search API is no longer a way out. The Custom Search JSON API is closed to new customers and ends on January 1, 2027, as we explain in [what to use instead of Google's Custom Search API](https://serplify.io/blog/google-custom-search-api-shutdown/). A SERP API runs the browsers, the proxies, the retries, and the parsers on its side. You send one HTTPS request and get JSON back. Here is the same search in Python: ```python import os import requests resp = requests.post( "https://api.serplify.io/v1/serp/search", headers={"Authorization": f"Bearer {os.environ['SERPLIFY_KEY']}"}, json={ "keyword": "best running shoes", "location": {"code": 2840}, "language": {"code": "en"}, "device": "desktop", "format": "advanced", }, timeout=60, ) resp.raise_for_status() data = resp.json()["data"] print(data["feature_types"]) for item in data["items"]: if item["type"] == "organic": print(item["rank_absolute"], item["rank_group"], item["domain"], item["url"]) ``` Run on the same day, that printed the page as it really was. An AI Overview at position 1. Runner's World at position 2. Reddit at 3. A People Also Ask block at 4. And so on down the page, each item with its type and both position numbers. Live requests like this usually take a few seconds. This one cost $0.005, the flat price on our [pricing page](https://serplify.io/pricing/). If Google had blocked the fetch, it would have cost nothing, because only successful pages are billed. Location is a code, 2840 for the United States, and any city has one. Depth goes up to 100 results in the same request. That is the trade. You lose control over the browser and proxy layer. You gain a stable, typed response and a bill that scales with successful pages, not with attempts. ## When you might still scrape it yourself There are good reasons to build your own scraper. - **You need something no API returns.** A rare block type, a screenshot, or a raw HTML archive. Some APIs offer raw HTML too, so check before you build. - **You are learning.** Rendering a page with Playwright and reading the DOM is a good exercise. - **Volume is tiny and infrequent.** Ten searches a week from a browser you drive by hand is fine. For anything ongoing, or anything a business depends on, the math points the other way. ## A note on terms and law Search results are public pages, and fetching public pages is common practice across the web. Google's terms of service restrict automated access to its services, and how that applies depends on where you are and what you do with the data. SERP API providers operate at scale under those conditions, and many businesses rely on them. If this matters for your company, read the terms and get advice. We are not lawyers. ## If you want to try the API route Create an account, take the $1 starting balance, and run the Python example above. Our [step-by-step tutorial](https://serplify.io/blog/how-to-use-serplify-serp-api/) walks through the API key, the Playground and reading the response. The [Serplify SERP API page](https://serplify.io/serp-api/) lists every endpoint. If you already have a DataForSEO integration, the [drop-in endpoints](https://docs.serplify.io/migrating/dataforseo/) accept the same request shape. For how the JSON is built from the HTML, read [how we parse SERP features into JSON](https://serplify.io/blog/how-we-parse-serp-features-into-json/). For what to do with the data once you have it, start with [how to track rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/). Frequently asked questions: Q: Is it legal to scrape Google search results? A: Search results are public, and scraping public web pages is common. But Google's terms of service restrict automated access, and laws differ by country. Many companies do it through SERP API providers who handle the access. If it matters for your business, read the terms and ask a lawyer. Q: Why does my Google scraper return no results? A: Because Google now builds most of the results page with JavaScript. A plain HTTP request gets a shell page without the result blocks. You need a real browser engine, such as Playwright or Selenium, to render it, or a SERP API that does the rendering for you. Q: How many Google searches can I scrape before getting blocked? A: From one IP address, usually a few dozen in a short period before Google shows a captcha or returns HTTP 429. Rotating residential proxies and slower pacing raise that, but blocks never go away entirely. Providers that fetch millions of pages a day treat retries as a normal cost. Q: Can I use the Google Custom Search API instead of scraping? A: Only if you already have it. Google closed the Custom Search JSON API to new customers, and existing users must move off it by January 1, 2027. It never returned the real results page either: no ads, maps, People Also Ask or AI Overviews, and no city targeting. Q: What is the cheapest way to get Google results into Python? A: A SERP API. Serplify's Python example is about ten lines with the requests library and costs $0.005 per page, up to 100 results with every feature. New accounts get $1 of balance, about 200 searches, to test. Sources: - Google Terms of Service: https://policies.google.com/terms - Requests: HTTP for Humans (Python): https://requests.readthedocs.io/ - Playwright for Python: https://playwright.dev/python/ - Serplify SERP API quickstart: https://docs.serplify.io/getting-started/quickstart/ - Google for Developers: Custom Search JSON API overview: https://developers.google.com/custom-search/v1/overview --- # How to use a SERP API: your first Serplify request, step by step URL: https://serplify.io/blog/how-to-use-serplify-serp-api/ Published: 2026-08-12 · Updated: 2026-10-09 > How to use a SERP API to get live Google results as JSON: create a key, test in the Playground, read the response and copy the request into your code. Key takeaways: - A SERP API takes a keyword, a location and a language, and returns the Google results page as JSON. - New Serplify accounts get $1 of free SERP API credit, about 200 searches at $0.005 each. No card is needed. - The Playground in the app sends the same POST /v1/serp/search call your code will send, and gives you the cURL command. - Store the location, language, device and time with every rank you save, or two numbers will look comparable when they are not. A SERP API is a service that runs a Google search for you and returns the results page as data. To use one, you send a keyword, a location and a language with your API key. You get back JSON that your app, script, dashboard or AI agent can read. The steps below use the [Serplify SERP API](https://serplify.io/serp-api/). You will create an API key, run a real search in the Playground, read the response and copy the request into your own project. The first test takes about five minutes. ## What you need before you start You need a Serplify account and an active API key. New accounts get **$1 of free SERP API credit**. At **$0.005 per successful SERP**, that covers about 200 test searches. A live request is billed only when the SERP comes back, so a blocked or failed fetch costs nothing. Queued tasks are billed when you submit them. Top-up sizes are on the [pricing page](https://serplify.io/pricing/). You do not need a credit card for this first test. You also do not need a server, a proxy or a scraping library. ## Step 1: create your API key Sign in at [app.serplify.io](https://app.serplify.io), then open **API keys** in the left menu. 1. Select **New API key**. 2. Give it a clear label, such as `local testing` or `rank tracker`. 3. Pick the `live` prefix for real searches, or `test` for development. 4. Create the key, then copy it right away. It is shown only once. 5. Store it in a password manager or secret store. An API key works like a password for your Serplify account. Do not paste it into a public GitHub file, browser-side JavaScript, screenshot, or support message. On a server, keep it in an environment variable such as `SERPLIFY_API_KEY`. If you use several apps, give each app its own key. Separate keys make usage easier to trace and let you revoke one integration without breaking the others. ## Step 2: run your first live Google search Open **Playground** in the Serplify app. The Playground sends a real request to `POST /v1/serp/search`, so the result matches what your code will receive later. Use these starter values: | Setting | Example | What it controls | |---|---|---| | Keyword | `coffee shops` | The Google query | | Location | `London,England,United Kingdom` | The searcher's location | | Language | `en` | The result language | | Device | `mobile` | Mobile or desktop results | | Format | `advanced` | Which SERP features are returned | | Depth | `20` | How many results to collect, from 10 to 100 | Choose your API key and select **Send request**. Most live searches finish in a few seconds. You can then switch between three useful views: - **Parsed** shows the organic results in a simple table. - **JSON** shows the full API response. - **cURL** gives you a command you can paste into a terminal. Start with **advanced** format. A results page holds far more than organic links. Advanced format can return local results, People Also Ask questions, images, news, shopping blocks, knowledge panels and AI Overviews when Google shows them. [SERP features explained](https://serplify.io/blog/serp-features-explained/) describes each block. ## Step 3: copy the request into your own project The Playground builds the request for you. A basic cURL version looks like this: ```bash curl -X POST https://api.serplify.io/v1/serp/search \ -H "Authorization: Bearer live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "keyword": "coffee shops", "location": { "name": "London,England,United Kingdom" }, "language": { "code": "en" }, "device": "mobile", "format": "advanced", "depth": 20 }' ``` Replace `live_your_key_here` with your key. For production code, read the key from a secret or environment variable instead of typing it into the file. The native `/v1` API is the best choice for a new integration. It uses normal HTTP status codes and a flat response shape. If you already use DataForSEO, Serplify also serves DataForSEO-compatible `/v3` endpoints, so you can switch by changing the base URL and key. The [DataForSEO migration guide](https://docs.serplify.io/migrating/dataforseo/) explains that path, and our list of [DataForSEO alternatives](https://serplify.io/blog/dataforseo-alternatives/) compares the options. ## Step 4: understand the response Every successful native response has four top-level parts: ```json { "request_id": "req_123", "status": "ok", "meta": { "time": 1.02, "cost": 0.005, "currency": "USD" }, "data": { "keyword": "coffee shops", "items_count": 38, "feature_types": ["local_pack", "organic", "people_also_ask"], "items": [] } } ``` Here is what each part means: - `request_id` is the ID to include if you ever contact support about this search. - `status` is `ok` when the result is ready or `accepted` when a slower search continues as an async task. - `meta` shows the processing time and exact cost. - `data` holds the keyword, location, device, feature list, and result items. Each item has a `type`. For example, an organic result uses `type: "organic"`, while a local result may use `type: "local_pack"`. We explain the item shapes in [how we parse SERP features into JSON](https://serplify.io/blog/how-we-parse-serp-features-into-json/). Two rank fields are easy to mix up: - `rank_absolute` is the item's position across the whole page, including different feature types. - `rank_group` is its position inside its own group. An organic result can be organic result number one while appearing below an ad or local pack. That difference matters in rank trackers. A user sees the whole page, not an organic-only list. The complete field guide lives in the [response-format documentation](https://docs.serplify.io/serp-api/response-format/). ## Step 5: choose the right format and depth Use the smallest response that answers your question. ### Use standard format when: - You only need organic links, ads, and featured snippets. - You want a smaller response. - Your existing pipeline expects classic search results. ### Use advanced format when: - You monitor local packs, People Also Ask, images, news, or AI Overviews. - You study SERP layout changes. - You need the most complete picture of what a searcher saw. ### Use HTML format when: - You maintain your own parser. - You need the captured page for an audit or replay. - A special result type requires custom extraction. Depth ranges from 10 to 100. A depth of 10 is enough for a quick first-page check. Use a deeper search when you track a page that may rank on page two or later. Deeper searches return more data, so do not request 100 results by habit. ## Step 6: handle the three common outcomes A reliable integration plans for more than `200 OK`. ### `200 OK`: the result is ready Read `data.items` and store the fields you need. Keep `request_id`, `fetched_at`, the location, language, and device with the result. Those fields make later comparisons trustworthy. ### `202 Accepted`: the search is still running A live request can take longer than the synchronous time window. Serplify then returns a `task_id` and `status_url`. Poll that URL until the result is ready. The task is charged once; fetching the finished result is free. ### An error response Common examples include an invalid location, an empty balance, or a search that could not be completed. Check the HTTP status and the error `code` instead of matching the message text. The [error guide](https://docs.serplify.io/getting-started/errors/) lists safe retry behavior. ## A practical first project: find a domain's rank After your first test, add a `track` block to a search request. Serplify then saves your domain's position each time that search runs: ```json { "keyword": "best running shoes", "location": { "code": 2840 }, "language": { "code": "en" }, "track": { "target": "nike.com", "label": "nike-brand" } } ``` The response then includes a `tracked_rank` block with both rank numbers. Reading the saved history back with `GET /v1/serp/track` is free. The [rank tracking docs](https://docs.serplify.io/serp-api/rank-tracking/) cover the details. For a rank tracker, always store these dimensions with the position: - keyword; - target domain or URL; - location; - language; - device; - search engine domain; - capture time. Without those details, two rank numbers may look comparable when they came from different searches. A mobile result in London is not the same measurement as a desktop result across the whole United Kingdom. Our guide on [how to check Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) explains why location and device change the number. ## Mistakes to avoid - **Do not expose the API key in browser code.** Send requests from your server. - **Do not call every result an organic rank.** Check the item `type` and both rank fields. - **Do not mix locations or devices in one trend line.** Keep each measurement set consistent. - **Do not retry every error at once.** Retry temporary server errors with a delay; fix invalid requests before trying again. - **Do not request deep results when you only need page one.** Smaller requests are easier to store and inspect. ## Your five-minute checklist 1. Create and safely store an API key. 2. Open the Playground. 3. Search one real keyword with a precise location. 4. Read the Parsed and JSON views. 5. Copy the cURL request. 6. Check `meta.cost`, `feature_types`, and the rank fields. 7. Move the request into server-side code. That is the whole first loop: ask for a live Google SERP, read the structured answer, then keep only the fields your product needs. The [Serplify quickstart](https://docs.serplify.io/getting-started/quickstart/) has Node.js and Python versions of the same call. When you are ready to check thousands of keywords on a schedule, read [how to track rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/). To let an AI assistant such as Claude Desktop or Cursor run the same search, [build a Google search MCP server](https://serplify.io/blog/google-search-mcp-server/) around this call. Frequently asked questions: Q: What does the Serplify SERP API return? A: It returns a live Google results page as structured JSON. The response can include organic results, ads, featured snippets, People Also Ask, local packs, AI Overviews and other SERP features, depending on what Google shows for that query. Q: How much does one Serplify SERP API request cost? A: A successful SERP costs $0.005, for up to 100 results. A live request is billed only when the SERP comes back, and blocked fetches do not draw from your balance. New accounts get $1 of free SERP API credit, about 200 searches. Q: Do I need to write code to test the SERP API? A: No. The Playground in the Serplify app lets you pick a keyword, location, language, device, depth and format. It sends a real request and shows the parsed results, the raw JSON and a cURL command you can copy. Q: What is the difference between standard and advanced format? A: Standard format returns only organic results, ads and featured snippets. Advanced format returns every SERP feature Serplify detects on the page. Start with advanced when you want to see the whole page. Sources: - Serplify docs: Quickstart: https://docs.serplify.io/getting-started/quickstart/ - Serplify docs: Live search: https://docs.serplify.io/serp-api/live-search/ - Serplify docs: Response format: https://docs.serplify.io/serp-api/response-format/ - Serplify docs: Errors: https://docs.serplify.io/getting-started/errors/ - Serplify docs: Rank tracking: https://docs.serplify.io/serp-api/rank-tracking/ - Serplify docs: DataForSEO drop-in: https://docs.serplify.io/migrating/dataforseo/ --- # How we parse Google SERP features into stable JSON URL: https://serplify.io/blog/how-we-parse-serp-features-into-json/ Published: 2026-07-05 · Updated: 2026-10-09 > How Serplify turns a Google results page into typed JSON: 9 fully typed features, 40 more block types, two rank fields, parser versions and golden tests. Key takeaways: - A Google results page is a mixed list of blocks. Serplify returns each one as a JSON item with a type, such as organic, local_pack or ai_overview. - 9 feature types have fully typed fields. 40 more, such as video and top_stories, share a simpler common shape. That makes 49 types in all. - Every item carries two ranks. rank_absolute counts every block on the page, and rank_group counts only blocks of the same type. - Each parser change runs against 21 saved Google pages, desktop and mobile, before it ships. A Google results page is a stack of different blocks. To use it in code, you turn each block into a JSON object with a type, a position and its own fields. This post explains how Serplify's parser does that, and the rules that keep the output stable when Google changes its HTML. It is written for developers who use SERP data or build their own parser. The field names match our [response format docs](https://docs.serplify.io/serp-api/response-format/). ## What a results page looks like to a parser A modern results page has a few classic links and many other blocks. Think of an AI Overview at the top, then ads, People Also Ask, a map with three businesses, videos and a knowledge panel. Google's own [visual elements gallery](https://developers.google.com/search/docs/appearance/visual-elements-gallery) shows dozens of them. Each block has a different shape: - A **featured snippet** has a source page, a title and sometimes a table. - **People Also Ask** is a list of questions. Each one opens to show an answer and its source. - A **local pack** is a set of businesses with ratings, phone numbers and a Google Maps ID. - An **AI Overview** is generated text with links to the pages it cites. The classic links are the easy part. Most of the work is in the other blocks, and Google changes them without notice. For a plain guide to each block, read [SERP features explained](https://serplify.io/blog/serp-features-explained/). ## Rule 1: every block gets a type We return the page as one list called `items`. Each item says what it is in a `type` field. Your code reads the type first, then the fields that type promises. Here is an organic result as it comes back: ```json { "type": "organic", "rank_group": 1, "rank_absolute": 3, "page": 1, "domain": "nike.com", "title": "Nike Running Shoes", "description": "Shop the latest running shoes …", "url": "https://www.nike.com/running", "breadcrumb": "nike.com › running" } ``` Not every type gets the same depth. Nine types have **fully typed** fields, which means each field is named, documented and checked. They are organic, paid, featured_snippet, ai_overview, people_also_ask, related_searches, refinement_chips, knowledge_graph and local_pack. Forty more types are **detected** and returned in a simpler shared shape. That shape holds a title, a description, a URL, sub-items, images, and a rating or price when the block has one. Examples are video, top_stories, shopping, jobs and discussions_and_forums. That makes 49 types in all, and the [feature types docs](https://docs.serplify.io/serp-api/feature-types/) list every one. The type names follow DataForSEO's, so code written for DataForSEO's advanced results can read ours. A test checks this list against real pages. We sample the item types seen on real production results. If the sample holds a type our list lacks, the test fails. ## Rule 2: keep two ranks, not one Where a block sits on the page is not the same as its organic rank. Ads, an AI Overview and a map can push the first organic link far down the screen. So every item has two numbers: - `rank_absolute` is its place among all blocks on the page. 1 is the top block. - `rank_group` is its place among blocks of the same type, such as organic result 1, 2 or 3. A third field, `page`, says which Google page the item came from. Tools that keep only one number report false drops. Google adds an AI Overview above you, and your rank seems to fall by one, though no rival passed you. With both numbers you can tell those cases apart. Our guide to [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) shows how to report both. ## Rule 3: one broken block must not break the page Sometimes Google ships a layout we have never seen, perhaps in one country or on one device. So the parser runs one small parser per feature. If the People Also Ask parser fails on a page, it logs a warning, and the rest of the page still parses. There is one exception. If we cannot work out the real URL of an organic result, the whole parse fails. A ranking with the wrong URL is worse than no ranking, because it looks correct. We also log a warning when a page yields no organic results at all. Real results pages almost always have some, so an empty list is a sign to look at the HTML. ## Rule 4: version the parser and keep the HTML The parser has its own version, a date stamp such as 2026.09.12-1. We bump it each time a change in Google's HTML forces a fix. That September 12 build, for example, follows Google's redirect links to the real ranking URL. It no longer guesses the URL from the domain shown on the page. We also keep the raw HTML of recent pages next to the parsed JSON. That gives us two things: - **Re-parsing.** When a parser improves, we can run it again over stored pages. - **Clear logs.** Parse warnings are logged with the parser version, so we know which build read which page. You can get the raw page yourself. Send `"format": "html"` and the API returns the HTML instead of parsed items. ## How we test it: saved pages and golden files The parser is tested against real Google pages saved as fixtures. Each fixture is three files: the page HTML, the search settings, and the JSON we expect. That last file is called a **golden file**. Today the suite holds 21 saved pages from desktop and mobile. They include local packs from Dutch, Hebrew, Korean and Russian results, because Google labels those blocks in the local language. When Google ships a new layout, the steps are always the same: 1. Save a real page with the new layout as a fixture. 2. Run the tests and watch the golden test fail. 3. Fix the parser for that block. 4. Review the new expected JSON by hand and save it. 5. Bump the parser version. Every later change runs against all saved pages, so an old fix cannot quietly break. ## What to ask of any SERP data source These checks work for any parser or SERP API, ours included: - **Is every item typed?** You want a type field you can switch on, not loose text. - **Are there two ranks?** One number cannot tell a new block apart from a lost position. - **Is the parser versioned?** Without a version, you cannot tell a fix from a bug. - **Does it fail loudly where it counts?** A wrong URL should be an error, not a quiet guess. - **Can you get the raw HTML?** Then you can check any result yourself. If you would rather read this JSON than maintain a parser, the [Serplify SERP API](https://serplify.io/serp-api/) returns it for every Google search. Our [first request, step by step](https://serplify.io/blog/how-to-use-serplify-serp-api/) shows the call and the response. If you are weighing a scraper of your own, read [how to scrape Google search results](https://serplify.io/blog/how-to-scrape-google-search-results/) first. Frequently asked questions: Q: What is SERP JSON? A: SERP JSON is a Google results page turned into structured data. Each block on the page, such as an organic link or a People Also Ask box, becomes an object with a type, a position and its own fields. Code can read it without touching HTML. Q: Why version a SERP parser? A: Google changes its HTML often. A version number tells you which parser build read a page. With the raw HTML kept, you can parse a page again with a newer build and see exactly what changed. Q: How do you test a SERP parser? A: Save real Google pages as fixtures, with the expected JSON next to each one. Run every parser change against all of them. If the output differs, the test fails and a person reviews the change. Q: Can I get the raw HTML instead of JSON? A: Yes. Set format to html and Serplify returns the page HTML instead of parsed items. That helps if you run your own parser. Sources: - Google Search Central: Visual elements gallery of Google Search: https://developers.google.com/search/docs/appearance/visual-elements-gallery - Serplify docs: SERP feature types: https://docs.serplify.io/serp-api/feature-types/ - Serplify docs: Response format: https://docs.serplify.io/serp-api/response-format/ - DataForSEO docs: Google Organic live advanced: https://docs.dataforseo.com/v3/serp/google/organic/live/advanced/ --- # Google Search Console API: what it gives you, its limits, and a Python example URL: https://serplify.io/blog/google-search-console-api/ Published: 2026-10-09 > The Google Search Console API is free and returns clicks, impressions, CTR and position by query. See its limits, setup steps and a working Python script. Key takeaways: - The Search Console API is free. It covers Search Analytics, URL Inspection, Sitemaps and your list of sites. - The Search Console screen exports only 1,000 rows. The API returns up to 25,000 rows per request and up to 50,000 rows per day per site and search type. - Setup has four parts: a Google Cloud project, the API switched on, a service account, and that account added as a user in Search Console. - Data usually arrives 2 to 3 days late, covers the last 16 months, and leaves out rare queries for privacy. - The API only knows your own site. For competitors, live positions in a set city, or the SERP features above you, you need a SERP API. The **Google Search Console API** lets you pull your site's Search Console data with code. It is free. You get clicks, impressions, click-through rate and average position for every query and page, plus index checks and sitemap tools. Use it when the Search Console screen is not enough, usually because it stops at 1,000 rows. Below are the limits, a step-by-step setup and a Python script that saves every query to a CSV file. ## What does the Search Console API give you? **The Search Console API gives code access to four parts of Search Console: Search Analytics, URL Inspection, Sitemaps and Sites.** Google lists them in its [API reference](https://developers.google.com/webmaster-tools/v1/api_reference_index). | Service | What it returns | Common use | |---|---|---| | Search Analytics | Clicks, impressions, CTR and average position, grouped by query, page, country, device, date or search appearance | Export all queries, build reports | | URL Inspection | The index status of one URL, like the URL Inspection tool | Check that key pages are indexed | | Sitemaps | Lists your sitemaps and lets you submit or delete them | Submit sitemaps from a deploy script | | Sites | Lists, adds or removes properties | Manage many sites at once | Most people only need Search Analytics. It is the same data as the Performance report. Do not confuse it with the **Indexing API**. That is a separate API, and Google says it only works for pages with job postings or livestream video markup. ## Is the Search Console API free? **Yes.** Google's [pricing page](https://developers.google.com/webmaster-tools/pricing) says all use of the Search Console API is free of charge. It does have usage limits. ## Search Console API limits These come from Google's docs, checked on October 9, 2026. | Limit | Value | |---|---| | Rows you can export from the Search Console screen | 1,000 | | Rows per API request | 1,000 by default, up to 25,000 | | Rows per day, per site, per search type | 50,000 | | Search Analytics calls | 1,200 per minute per site and per user; 40,000 per minute and 30 million per day per project | | URL Inspection calls | 2,000 per day and 600 per minute per site | | How far back data goes | The last 16 months | | How fresh the data is | Usually 2 to 3 days behind | The 1,000 and 50,000 row limits come from Google's [post on performance data limits](https://developers.google.com/search/blog/2022/10/performance-data-deep-dive). The 25,000 rows per request come from the [query reference](https://developers.google.com/webmaster-tools/v1/searchanalytics/query). The call limits are on the [usage limits page](https://developers.google.com/webmaster-tools/limits). There is also a second kind of limit, called **load**. Google says queries grouped by both page and query are the most expensive, and long date ranges cost more than short ones. If you hit "quota exceeded," wait 15 minutes. If it keeps happening, ask for one day of data at a time. One more gap: **anonymized queries**. Google leaves out queries that few people searched over two to three months. Your totals include them, but the query rows do not. ## How to set up Search Console API access You need a verified property in Search Console and a Google account. The setup below uses a **service account**, which is a robot Google account your script signs in as. 1. **Create a project.** Open the Google Cloud console, click the project picker at the top, and choose **New project**. 2. **Turn on the API.** Go to **APIs & Services**, then **Library**. Search for "Google Search Console API" and click **Enable**. 3. **Create a service account.** Go to **IAM & Admin**, then **Service accounts**, and click **Create service account**. A name is all it needs. 4. **Download a key.** Open the new account, go to **Keys**, then **Add key**, then **Create new key**. Pick JSON. Save the file somewhere safe and never commit it to git. 5. **Add it to Search Console.** In Search Console, open **Settings**, then **Users and permissions**, then **Add user**. Paste the service account's email address. **Restricted** is enough to read performance data. Pick **Full** if the script will also inspect URLs or submit sitemaps, as Google's [permissions table](https://support.google.com/webmasters/answer/2453966?hl=en) shows. 6. **Install the Python client.** Run `pip install google-api-python-client google-auth`. Only a property owner can add users. If you are not an owner, ask one to do step 5. ## Python example: export every query past the 1,000-row limit This script asks for September 2026, grouped by query and page. It pages through the results 25,000 rows at a time and writes them to a CSV file. ```python import csv from google.oauth2 import service_account from googleapiclient.discovery import build KEY_FILE = "service-account.json" SITE = "sc-domain:example.com" # or "https://www.example.com/" SCOPES = ["https://www.googleapis.com/auth/webmasters.readonly"] creds = service_account.Credentials.from_service_account_file(KEY_FILE, scopes=SCOPES) gsc = build("searchconsole", "v1", credentials=creds) rows, start = [], 0 while True: body = { "startDate": "2026-09-01", "endDate": "2026-09-30", "dimensions": ["query", "page"], "rowLimit": 25000, "startRow": start, } resp = gsc.searchanalytics().query(siteUrl=SITE, body=body).execute() batch = resp.get("rows", []) rows.extend(batch) if len(batch) < 25000: break start += 25000 with open("gsc-queries.csv", "w", newline="") as f: out = csv.writer(f) out.writerow(["query", "page", "clicks", "impressions", "ctr_percent", "position"]) for r in rows: query, page = r["keys"] out.writerow([query, page, r["clicks"], r["impressions"], round(r["ctr"] * 100, 2), round(r["position"], 1)]) print(f"Saved {len(rows)} rows") ``` A few notes on the code: - **`SITE`** must match the property exactly. Domain properties start with `sc-domain:`. URL properties are the full URL with a slash at the end. - **`keys`** holds the dimension values in the order you asked for them. Here that is the query, then the page. - **`ctr`** comes back as a fraction, so the script multiplies by 100. - **Dates** are in Pacific time. Ask for whole past days, and leave the last two or three days out if you want final numbers. For a large site, grouping by query and page is the most expensive kind of request. Run it one day at a time in a daily job and add each day to your file. ## What the API cannot tell you Search Console data is the best source for clicks. It is weak at telling you where you rank and what the page looked like. **Average position is not a rank you can see.** Google defines it as the average position of your topmost result across all impressions. If you were 2 for half the searches and 8 for the rest, the API says 5. Our guide on [how to check Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) explains the difference in more detail. The API also has three blind spots: 1. **Only your own site.** It shows nothing about the competitors around you. 2. **Only queries where you appeared.** A keyword you want but do not rank for will not be in the data. 3. **No page layout.** It does not show whether an AI Overview, a map pack or People Also Ask sat above your link. The third gap hides a common cause of low click-through rates. An AI Overview, ads or a map pack above your link push it down the screen, and Search Console cannot show that. Compare your numbers with our [organic CTR benchmarks](https://serplify.io/blog/what-is-a-good-organic-ctr/), and use our guide to [calculating click-through rate](https://serplify.io/blog/how-to-calculate-click-through-rate/) if your sums look off. ## When you need a SERP API instead A SERP API fetches the live Google results page for a keyword, place and device, and returns it as data. It fills the gaps above. | Question | Search Console API | SERP API | |---|---|---| | How many clicks did this query get? | Yes | No | | Where do I rank right now in Chicago, on mobile? | No, only an average | Yes | | Who ranks above me? | No | Yes | | Is there an AI Overview or map pack on the page? | No | Yes | | Where do I rank for a keyword I get no clicks from? | Only if you got impressions | Yes | | What does it cost? | Free | Paid per search | Most teams use both. Pull clicks and impressions from Search Console each day. Then check the live page for your top queries with a [SERP API](https://serplify.io/serp-api/), and join the two on the query. For thousands of keywords, the setup in [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) handles the scheduling and storage. Frequently asked questions: Q: Is the Google Search Console API free? A: Yes. Google's pricing page says all use of the Search Console API is free of charge. It does have usage limits, such as 1,200 Search Analytics queries per minute per site. Q: Do I need Google Search Console to use the API? A: Yes. The API only returns data for properties you own or have been added to as a user. You need a verified property in Search Console first, and the account your script uses must be a user on it. Q: Is there a free Google Search API? A: Not for general web results. The Search Console API is free but only covers your own site's performance. Google's Custom Search JSON API is closed to new customers and ends on January 1, 2027. Q: How far back does Search Console API data go? A: About 16 months, the same as the Search Console screen. Older data is gone, so save a copy each month if you want a longer history. Q: Why doesn't the API return all my queries? A: Two reasons. Google hides rare queries to protect privacy, and the API serves at most 50,000 rows per day per site and search type, sorted by clicks. Very large sites can turn on the bulk data export to BigQuery, which holds all performance data except anonymized queries. Sources: - Google for Developers: Search Console API reference: https://developers.google.com/webmaster-tools/v1/api_reference_index - Google for Developers: Search Analytics query (rowLimit and startRow): https://developers.google.com/webmaster-tools/v1/searchanalytics/query - Google for Developers: Search Console API usage limits: https://developers.google.com/webmaster-tools/limits - Google for Developers: Search Console API pricing: https://developers.google.com/webmaster-tools/pricing - Google for Developers: Query all your search traffic (50K rows, 2 to 3 day delay): https://developers.google.com/webmaster-tools/v1/how-tos/all-your-data - Google Search Central Blog: Search Console performance data filtering and limits (October 19, 2022): https://developers.google.com/search/blog/2022/10/performance-data-deep-dive - Search Console Help: Managing owners, users, and permissions: https://support.google.com/webmasters/answer/2453966?hl=en - Search Console Help: Performance report (average position definition): https://support.google.com/webmasters/answer/7576553 - Search Console Help: About bulk data export to BigQuery: https://support.google.com/webmasters/answer/12918484?hl=en - Google Analytics Help: Queries report (Search Console keeps 16 months of data): https://support.google.com/analytics/answer/13682862?hl=en --- # How Much Does a Rank Tracker Cost? Prices for 500 to 25,000 Keywords (2026) URL: https://serplify.io/blog/how-much-does-a-rank-tracker-cost/ Published: 2026-09-06 · Updated: 2026-10-09 > Rank tracker pricing compared: Ahrefs, Semrush, SE Ranking, AccuRanker, and Nightwatch cost 6 to 23 cents per keyword a month. See when an API is cheaper. Key takeaways: - Rank trackers charge per tracked keyword per month. The number to compare is cost per keyword per month, which ran from about 6 cents to 23 cents on the tools we checked in September 2026. - Prices climb with more keywords, more locations, daily updates, and extra users. Suites bundle other tools you may not use. - A SERP API charges per check instead. 1,000 keywords checked weekly is about $22 a month, 10,000 is about $215. - Under 1,000 keywords, a tool is simpler. Over a few thousand, or with many cities, the API is usually cheaper. Rank tracker pricing looks like a simple menu: this many keywords for this many dollars a month. The problem is that every tool counts keywords differently, updates on a different schedule, and bundles different extras. Two plans at $129 a month can differ by three times in what you get. This guide lays out the prices as listed on September 6, 2026, converts them to one number you can compare, and shows when an API beats a tool. ## Rank tracker prices side by side | Tool | Entry plan | Keywords tracked | Cost per keyword per month | Update frequency | |---|---|---|---|---| | Nightwatch | €79 (about $92) | 500 | about 18 cents | Daily | | Ahrefs Lite | $129 | 750 | 17 cents | Weekly on Lite, paid add-on for daily | | Semrush | $117.33 as listed | 500 | 23 cents | Daily | | SE Ranking Core | $129 | 2,000 | 6 cents | Daily | | AccuRanker Professional | $224 | 2,000 | 11 cents | Daily | And the larger plans: | Tool | Plan | Keywords tracked | Cost per keyword per month | |---|---|---|---| | Nightwatch Professional | €159 (about $185) | 2,500 | 7 cents | | Nightwatch Agency | €399 (about $465) | 7,500 | 6 cents | | Ahrefs Standard | $249 | 2,000 | 12 cents | | Ahrefs Advanced | $449 | 5,000 | 9 cents | | SE Ranking Growth | $279 | 5,000 | 6 cents | | AccuRanker Expert | $764 | 10,000 | 8 cents | | Semrush Advanced | $455.67 as listed | 5,000 | 9 cents | Prices are monthly billing unless the tool only lists one number. Ahrefs, Semrush, and SE Ranking are full SEO suites, so the rank tracker is one part of what you pay for. Nightwatch and AccuRanker are rank trackers first. Euro prices are converted at roughly $1.16. ## How to compare rank tracker prices Use cost per keyword per month. Divide the monthly price by the keyword count. That gives a range from about 6 cents (SE Ranking, Nightwatch Agency) to about 23 cents (Semrush entry plan) per keyword per month in September 2026. Then ask what a "keyword" is. On every tool above, the same keyword tracked in two cities or on two devices counts as two. A local agency tracking 300 keywords for 10 clients across 3 cities each is tracking 9,000 keywords. That moves you from an entry plan to the top of the table. ## What pushes the price up **More keywords.** The obvious one. Most tools step up in tiers, so 2,100 keywords costs the same as 5,000. **More locations.** Each city is a multiplier. National brands rarely notice. Local businesses and agencies always do. **Daily updates.** Ahrefs Lite updates weekly and charges extra for daily. Others include daily. Ask whether you need it. Weekly is enough for most keywords, as we explain in [how often to check rankings](https://serplify.io/blog/how-to-check-google-rankings/). **Mobile and desktop.** Two devices is two keywords on most tools. Since [mobile vs desktop rankings](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/) often differ, many teams track both. **Users, projects, and reports.** Suites limit projects and seats per plan. Agencies hit these before they hit keyword limits. **Bundled tools.** Ahrefs and Semrush include backlink and keyword research databases. If you use them, the rank tracker is almost free. If you do not, you are paying for them. ## The API alternative: pay per check A SERP API charges per fetched page instead of per tracked keyword. You decide how often to check. You store the results yourself, or use the API's built-in history. [Serplify's SERP API](https://serplify.io/serp-api/) charges $0.005 per successful check, up to 100 results, with every SERP feature included. Failed live requests are free. Reading the rank history back is free. | Keywords | Weekly checks | Daily checks | |---|---|---| | 500 | about $11 a month | $75 a month | | 1,000 | about $22 | $150 | | 2,000 | about $43 | $300 | | 5,000 | about $108 | $750 | | 10,000 | about $215 | $1,500 | | 25,000 | about $538 | $3,750 | These figures use the flat $0.005 rate. Larger top-ups add a bonus, so [see current pricing](https://serplify.io/pricing/) before you budget. Per keyword per month, weekly checking is about 2 cents. Daily checking is 15 cents, which is in the same range as the tools. So the saving comes from choosing the schedule, and from city and device combinations costing exactly one check each rather than a plan upgrade. The trade is work. You write a short script and keep a table. Our guide on [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) has the whole setup, and it is an afternoon, not a project. ## When a tool is the better buy - **Under about 1,000 keywords, one location.** An entry plan is $80 to $130 a month and needs no code. - **You want charts, alerts, and client reports today.** Tools have them built. An API gives you data. - **You already pay for a suite.** If you use Ahrefs or Semrush for research, the tracker inside is a small add-on. - **Nobody on the team writes code.** Fair reason. Pick a dedicated tracker like Nightwatch or AccuRanker and skip the suite bundle if you only need tracking. ## When the API is the better buy - **Thousands of keywords checked weekly.** 10,000 keywords weekly is about $215 a month on the API. The tool plans for 10,000 keywords run $700 to $800 a month. - **Many cities.** Local packs change block by block. Checking 50 neighborhoods costs 50 checks, not a plan tier. See [how to check local rankings for any city](https://serplify.io/blog/how-to-check-local-rankings/). - **You want the whole page.** Tools store your rank. The API returns every block, so you can track People Also Ask, AI Overviews, and competitors from the same fetch. - **Custom reports.** Anything a tool's dashboard does not show, you can build from the raw data. ## How to cut your rank tracking bill, whichever you choose 1. **Track fewer keywords, better.** Most sites act on 200 keywords and watch 5,000 out of habit. Move the 5,000 to weekly or monthly. 2. **Drop desktop where your traffic is mobile.** Search Console tells you the split. 3. **Use country codes for national keywords and city codes only for local ones.** 4. **Check Search Console first.** It is free and tells you which queries already bring impressions. Track those. 5. **Ask for annual pricing.** Most tools discount 10 to 20 percent for annual billing. AccuRanker lists 10 percent. Frequently asked questions: Q: What is the cheapest rank tracker? A: Per keyword, the cheapest listed plans in September 2026 are around 6 cents per keyword per month: Nightwatch's Agency plan and SE Ranking's Growth plan. A SERP API is cheaper still for weekly checks, at about 2 cents per keyword per month on Serplify. For under 200 keywords, Google Search Console is free and often enough. Q: Is there a free rank tracker? A: Google Search Console tracks average position for every query your site appeared for, at no cost. Its numbers are averaged and delayed, and it shows no competitors. Most paid trackers offer a free trial of 7 to 14 days. Serplify starts every account with $1 of balance, which is about 200 checks. Q: Why do rank trackers cost so much for daily updates? A: Every check is a real fetch of a Google results page through a proxy, which costs the provider money each time. Daily checks on 5,000 keywords are 150,000 fetches a month. Weekly checks are 21,000. Tools price for daily and pass the cost on. Q: How much does it cost to track keywords in multiple cities? A: On most tools, each keyword in each city counts as a separate tracked keyword. 500 keywords in 10 cities is 5,000 keywords. On a per-check API it is the same math but you can check weekly, so 5,000 checks a week is about $108 a month on Serplify. Q: Can I build my own rank tracker for less? A: Yes, with a SERP API, a small script, and a table to store results. It takes an afternoon to set up. The trade is that you build your own charts. Our guide on tracking rankings in bulk shows the setup. Sources: - Ahrefs pricing: https://ahrefs.com/pricing - Semrush pricing: https://www.semrush.com/prices/ - SE Ranking pricing: https://seranking.com/pricing.html - AccuRanker pricing: https://www.accuranker.com/pricing/ - Nightwatch pricing: https://nightwatch.io/pricing - Serplify pricing and wallet: https://docs.serplify.io/getting-started/pricing/ --- # How to Calculate SEO Share of Voice: The Formula, a Real Example and a Spreadsheet Method URL: https://serplify.io/blog/how-to-calculate-seo-share-of-voice/ Published: 2026-10-09 > SEO share of voice is your share of the clicks for a set of keywords. Get the formula, a worked example from five real Google pages, and a spreadsheet method. Key takeaways: - SEO share of voice is the share of all estimated clicks for a keyword set that goes to one site. Estimated clicks are monthly searches times the click-through rate for the site's position. - Counting rankings alone can mislead. In our example from five real Google pages, HubSpot ranked on more pages than Sprout Social, but Sprout Social took 34.8 percent of the estimated clicks to HubSpot's 11.7 percent. - The exact CTR curve matters less than you think. Swapping First Page Sage's 'AI answer present' curve for its 'no AI answer' curve made the click totals almost 7 times bigger, yet Sprout Social's share moved by under 2 points. - You can run it in a spreadsheet with one lookup formula, or automate it with weekly rank data for every site in the top 10. SEO share of voice is the share of all clicks for a set of keywords that goes to your site. To calculate it, estimate each site's clicks from its Google position and each keyword's monthly searches. Then divide your clicks by the total clicks of every site in the set. A share of 20 percent means you get about one in five of the clicks your keyword set sends to the results you track. Below are the formulas, a worked example from five real Google pages, and a spreadsheet you can copy. ## What is share of voice in SEO? **Share of voice is how much of the attention in your market you get, compared with everyone else.** The term comes from advertising, where it meant a brand's share of all ad spend in its category. In SEO it means your share of organic visibility for a keyword set. Tools use the idea under different names. Ahrefs says its Share of Voice is the same thing other platforms call a visibility score. Rank tracking tells you where you sit on one page. Share of voice rolls all your pages and all your rivals into one number you can watch over time. ## The share of voice formula There are two common versions. One counts rankings. The other weighs them by clicks. ### Simple visibility: count the spots **Share of voice = your top-10 spots ÷ all top-10 spots in the set** If you track 20 keywords, there are about 200 top-10 spots. If you hold 30 of them, your simple share is 15 percent. It is fast, but it treats a #9 ranking on a tiny keyword the same as a #1 on your biggest one. ### Click-weighted: estimate the clicks **Estimated clicks = monthly searches × CTR for the position** **Share of voice = your estimated clicks ÷ estimated clicks of all results × 100** CTR, or click-through rate, is the share of searchers who click a result. It drops fast as you go down the page, so a #1 ranking counts for far more than a #9. Ahrefs' Rank Tracker works this way: your clicks divided by the clicks to all results for your tracked keywords. Semrush also weighs by search volume. Its help page gives an example: one keyword with 30,000 searches outweighs ten keywords with 50 searches each. ## The CTR curve to use You need a CTR for each position. First Page Sage publishes one twice a year. Its September 22, 2026 update splits the numbers by whether Google showed an AI answer on the page. | Position | AI answer present | No AI answer | |---|---|---| | 1 | 3.6% | 22.6% | | 2 | 1.4% | 10.2% | | 3 | 0.8% | 5.8% | | 4 | 0.5% | 3.7% | | 5 | 0.3% | 2.5% | | 6 | 0.3% | 1.8% | | 7 | 0.2% | 1.3% | | 8 | 0.2% | 0.9% | | 9 | 0.1% | 0.7% | | 10 | 0.1% | 0.5% | These numbers are far lower than older studies. First Page Sage's own 2025 report put position 1 at 39.8 percent. Backlinko's study of 4 million results put it at 27.6 percent. Our guide to [what a good organic CTR is](https://serplify.io/blog/what-is-a-good-organic-ctr/) covers both the new and the older figures. For share of voice, the level matters less than the shape. Every curve drops steeply from #1 to #10. As the example below shows, the shares barely change when you swap curves. ## Worked example: who owns "share of voice" on Google? We took five keywords about share of voice itself. We pulled the US desktop Google results for each on October 9, 2026, and the US monthly searches from DataForSEO. Every page had an AI Overview on top, so we used the "AI answer present" curve. Here are the two sites that show the lesson best: | Keyword | Searches a month | Sprout Social | HubSpot | |---|---|---|---| | share of voice | 880 | #1: 880 × 3.6% = 31.7 | #4: 880 × 0.5% = 4.4 | | what is share of voice | 320 | #1: 320 × 3.6% = 11.5 | #2: 320 × 1.4% = 4.5 | | share of voice marketing | 260 | Not in top 10 | Not in top 10 | | how to calculate share of voice | 170 | #2: 170 × 1.4% = 2.4 | #1: 170 × 3.6% = 6.1 | | share of voice calculation | 140 | Not in top 10 | #7: 140 × 0.2% = 0.3 | | **Estimated clicks** | | **45.6** | **15.3** | Each page showed nine organic results, so the set has 45 results in total. Together they get about 131 estimated clicks a month. We counted HubSpot's blog subdomain as HubSpot. | Site | Simple visibility (spots held ÷ 45) | Click-weighted share of voice | |---|---|---| | Sprout Social | 3 spots = 6.7% | 45.6 ÷ 131 = **34.8%** | | HubSpot | 4 spots = 8.9% | 15.3 ÷ 131 = **11.7%** | | Wikipedia | 2 spots = 4.4% | 13.9 ÷ 131 = **10.6%** | The two methods disagree. By simple count, HubSpot leads, because it ranks on four of the five pages. By clicks, Sprout Social has three times HubSpot's share. It holds #1 on the biggest keyword, and that one keyword is worth more than all of HubSpot's spots together. Then we checked how much the curve choice mattered. With the "no AI answer" curve, total clicks jumped from 131 to 876. Sprout Social's share moved only from 34.8 to 32.9 percent, and HubSpot's from 11.7 to 12.0 percent. Pick a curve, keep it, and the trend you see will be real. ## How to calculate share of voice in a spreadsheet You need two tabs in Google Sheets or Excel. 1. **Make a "Curve" tab.** Put positions 1 to 10 in column A and the CTR for each in column B, as decimals (0.036 for 3.6 percent). 2. **Make a "Rankings" tab.** One row per result: Keyword, Searches, Domain, Position. List every site in the top 10, including your rivals. 3. **Add an estimated clicks column.** Multiply searches by the CTR for that position. 4. **Total the clicks per domain.** Use a pivot table, or a SUMIF per domain. 5. **Divide by the grand total.** That is each site's share of voice. The formulas, with Keyword in column A through Position in column D: ```text E2 (estimated clicks): =B2*VLOOKUP(D2, Curve!A:B, 2, FALSE) Share for one domain: =SUMIF(C:C, "sproutsocial.com", E:E) / SUM(E:E) ``` Filling the Rankings tab by hand works for about 20 keywords. You can [check Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) from a private window for a small set. Past that, you need rank data you do not have to copy. ## How to automate share of voice with rank data The data you need is the full top 10 for each keyword, every week, with every domain and position. A [rank tracking API](https://serplify.io/serp-api/) returns exactly that as JSON. Store each row, then run the same math in code. Here is the calculation in Python, using the curve above: ```python CTR = {1: 0.036, 2: 0.014, 3: 0.008, 4: 0.005, 5: 0.003, 6: 0.003, 7: 0.002, 8: 0.002, 9: 0.001, 10: 0.001} def share_of_voice(rows): """rows: (keyword, volume, domain, position) for every top-10 result.""" clicks = {} for keyword, volume, domain, position in rows: clicks[domain] = clicks.get(domain, 0) + volume * CTR[position] total = sum(clicks.values()) ranked = sorted(clicks.items(), key=lambda pair: pair[1], reverse=True) return {domain: round(100 * c / total, 1) for domain, c in ranked} ``` Run on the 45 results above, it returns Sprout Social 34.8, HubSpot 11.7 and Wikipedia 10.6, matching the table. The cost stays small. Checking 500 keywords once a week is about 2,170 result pages a month. At Serplify's $0.005 per page, that is about $11 a month. Our guide to [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) covers the scheduling and storage. ## Share of voice vs share of market | | Share of voice | Share of market | |---|---|---| | Measures | Attention: visibility or clicks | Sales: revenue or units sold | | Comes from | Rankings, ads, mentions | Sales data, industry reports | | Moves | Week to week | Quarter to quarter | Many marketers watch share of voice as an early signal for share of market. People have to see you before they can buy from you. ## Mistakes that skew share of voice 1. **Mixing branded keywords in.** You will own your brand name. Keep brand terms in a separate set or they inflate your share. 2. **Mixing countries or devices.** A US desktop ranking and a UK mobile ranking are different pages. Calculate each market on its own. 3. **Changing the keyword set or the curve.** Both reset your baseline. Change them rarely, and note the date when you do. 4. **Mixing volume sources.** Tools disagree on search volume. Use one source for every keyword. 5. **Ignoring the rest of the page.** An AI Overview or a People Also Ask box can take clicks before any result. Tracking your [AI visibility](https://serplify.io/blog/how-to-track-ai-visibility/) shows the part of the page that rankings miss. Start with 20 to 50 keywords that match what you sell. Calculate it once by hand to see how it works, then automate it. The trend line is the part you will use. Frequently asked questions: Q: What is the formula for share of voice? A: In SEO, share of voice equals your estimated clicks divided by the estimated clicks of every result you track, times 100. For each keyword, estimated clicks are monthly searches times the CTR for your position. Add them up across all keywords before you divide. Q: What is a good share of voice percentage? A: There is no standard number, because it depends on how many keywords and rivals you track. Judge it against your top competitor on the same keyword set, and watch whether it rises month over month. In our five-keyword example, the leader held about a third of the clicks. Q: What does 100% share of voice mean? A: It would mean your site gets every click in the set, which cannot happen in search, since each page shows many results. Some tools use a different 100 percent: Semrush's Visibility score hits 100 percent when you rank first for every tracked keyword. Q: What is the difference between share of voice and share of market? A: Share of voice measures attention: your share of visibility or clicks. Share of market measures sales: your share of all revenue or units sold in your category. Attention comes before buying, so share of voice is often watched as an early signal. Q: What does SOV mean? A: SOV stands for share of voice. It began in advertising as a brand's share of all ad spend or ad impressions in its category. In SEO it means your share of organic visibility or clicks for a set of keywords. Sources: - First Page Sage: Google click-through rates by ranking position (updated September 22, 2026): https://firstpagesage.com/reports/google-click-through-rates-ctrs-by-ranking-position/ - Backlinko: organic CTR study of 4 million search results: https://backlinko.com/google-ctr-stats - Ahrefs Help: What is Share of Voice and how is it calculated?: https://help.ahrefs.com/en/articles/2072381-what-is-share-of-voice-sov-and-how-is-it-calculated - Semrush Knowledge Base: Position Tracking overview: https://www.semrush.com/kb/549-position-tracking-overview-manual --- # How to Change Your Google Search Location and See Results From Any City or Country URL: https://serplify.io/blog/how-to-change-google-search-location/ Published: 2026-09-06 · Updated: 2026-10-09 > Change your Google search location and see results as if you were in another city or country. Four ways, from the free uule parameter to a browser override. Key takeaways: - Google no longer has a setting where you type a city. It uses your device location and IP address, and you can only accept or refine what it detects. - The uule URL parameter is the most exact free method. It encodes a place name so Google treats the search as if it came from there. - Chrome's developer tools can fake your GPS coordinates. Google then uses those for the map pack and local results. - For country-level results, add gl= and hl= to the search URL, or use the Google Ads Ad Preview tool, which is free and needs no code. - For many keywords or cities, a SERP API takes a Google location code per request and returns the page a searcher there would see. Google knows where you are, and it will not let you pretend otherwise. There is no box in the settings where you type a city. If you want to see the results a searcher in Denver or Manchester sees, you have to use one of a few workarounds. This guide covers four that work in September 2026, from a URL trick you can use right now to an API for doing it at scale. Pick the one that matches how many searches you need to run. ## Why Google will not just let you pick a city Google removed the manual location setting years ago. Today it detects your location from your IP address, your device's GPS if you allow it, and your account history. The settings page shows what it detected and lets you switch on precise location. That is all. The reason matters for anyone doing SEO. Results change with location, and for local searches they change block by block. Our guide on [checking local rankings for any city](https://serplify.io/blog/how-to-check-local-rankings/) shows how different two cities can look. So "what do we rank for" always needs a "where". ## Method 1: The uule parameter (free, exact, one search at a time) Google accepts a URL parameter called `uule` that encodes a place. Add it to a search URL and Google returns the results for that place. Here is a search for *coffee shops* as seen from London: ``` https://www.google.com/search?q=coffee+shops&uule=w+CAIQICIdTG9uZG9uLEVuZ2xhbmQsVW5pdGVkIEtpbmdkb20&hl=en&gl=gb ``` The `uule` value is built from the canonical place name, *London,England,United Kingdom*. The format is: 1. Start with `w+CAIQICI`. 2. Add one character that stands for the length of the place name. For a 29-character name it is `d`. 3. Add the place name encoded in base64, with any trailing `=` removed. A few ready-made values: | Place | Canonical name | uule | |---|---|---| | London | London,England,United Kingdom | `w+CAIQICIdTG9uZG9uLEVuZ2xhbmQsVW5pdGVkIEtpbmdkb20` | | Denver | Denver,Colorado,United States | `w+CAIQICIdRGVudmVyLENvbG9yYWRvLFVuaXRlZCBTdGF0ZXM` | | Austin | Austin,Texas,United States | `w+CAIQICIaQXVzdGluLFRleGFzLFVuaXRlZCBTdGF0ZXM` | The place names come from Google's geo targets list, the same list Google Ads uses. Many free web tools generate the value for you from a city name. Search for "uule generator". **Tips.** Use a private window so your history does not leak in. Add `gl=` for the country and `hl=` for the language. Scroll to the bottom of the page. Google shows the location it used, which is your check that it worked. **Limits.** One search at a time. Google may ignore the value now and then. And it sets the search location, not your device, so a few personalized elements can still leak through. ## Method 2: Override your location in the browser (free, good for map packs) Chrome and other Chromium browsers let you fake your GPS coordinates. Google then treats you as standing at that point, which is the most realistic way to see local packs. 1. Open Chrome and press F12, or right-click and choose Inspect. 2. Open the three-dot menu in the developer tools panel, then **More tools**, then **Sensors**. 3. Under **Location**, choose a preset city or pick **Other** and type a latitude and longitude. 4. Reload Google and search. If Google asks for location permission, allow it. 5. Check the location Google shows at the bottom of the results. **Tips.** Combine with device mode in the same panel to see the mobile page. Use a private window, and note that Google may still use your IP address for the country, so pair this with `gl=` if you are crossing borders. **Limits.** Still one search at a time. The override resets when you close the panel. ## Method 3: Country-level parameters and the Ads preview tool (free, no code) If you only need another country, two simple options. **URL parameters.** Add `gl=` with the two-letter country code and `hl=` with the language: ``` https://www.google.com/search?q=plumber&gl=gb&hl=en ``` This switches Google's country and language. It does not pick a city. Our guide to [Google search parameters](https://serplify.io/blog/google-search-parameters/) lists the other codes you can add to a search URL, and which ones Google still honors. **Google Ads Ad Preview and Diagnosis tool.** Inside any Google Ads account, under Tools, there is a preview tool. It shows the results page for a keyword, a location down to city level, a language, and a device. It exists so advertisers can check their ads, but the organic results and features are shown too. It is free, needs no code, and is one of the most exact ways to see another city's page. You need a Google Ads account, which is free to create. **VPN.** A VPN gives you an IP in another country, so Google switches country. It is rough, it cannot pick a city, and Google often adds a consent screen or its [unusual traffic captcha](https://serplify.io/blog/google-unusual-traffic-error/). Use it only when nothing else is available. ## Method 4: A SERP API with location codes (any scale) When you need dozens of keywords in dozens of cities, or a weekly check, do not click through URLs. A [SERP API with location codes](https://serplify.io/serp-api/) accepts a location per request and returns the page as data. Google gives every country, region, and city a numeric ID. The United States is 2840, the United Kingdom is 2826, London is 1006886, New York is 1023191. You send the ID with the keyword and get back the page a searcher there would see. You can also pass a place name or a map point with a radius. Each request costs $0.005. The full request, with real local results from London and New York, is in our guide on [how to check local rankings](https://serplify.io/blog/how-to-check-local-rankings/). ## Which method should you use? | You need | Use | |---|---| | One quick look at another city | uule parameter in a private window | | The map pack as a local searcher sees it | Browser location override, mobile device mode | | Another country only | `gl=` and `hl=` parameters | | City-level checks, no code, occasional | Google Ads Ad Preview tool | | Many keywords, many cities, on a schedule | SERP API with location codes | ## How to confirm it worked Whatever method you use, do two checks. 1. **Scroll to the bottom of the results page.** Google prints the location it used under the results. If it says your real city, the trick did not take. 2. **Search something local.** *Pizza* or *pharmacy* should show a map pack for the place you set. If the pack shows your own neighborhood, start over in a fresh private window. ## Common mistakes - **Using your normal signed-in browser.** Your history and account location leak in. Use a private window. - **Forgetting the country.** A uule for Manchester with a US IP can produce a mixed page. Add `gl=gb`. - **Checking desktop for a local business.** Local searches happen on phones. Use device mode or set `device` to mobile. See [why mobile and desktop rankings differ](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/). - **Reading one result as the truth.** Results move daily. For anything you report, check the trend, as we explain in our [rank checking guide](https://serplify.io/blog/how-to-check-google-rankings/). Frequently asked questions: Q: Can I change my location in Google search settings? A: Not by typing a city. Google removed that option years ago. In settings you can see the location Google detected and allow it to use precise device location, but you cannot pick a different city there. To search as if you were somewhere else, use one of the four methods in this guide. Q: What is the uule parameter? A: It is a value you add to a Google search URL that encodes a canonical place name, such as London,England,United Kingdom. Google reads it and returns results for that place. It is the same mechanism Google Ads uses to preview ads by location. Q: Does a VPN change my Google search results? A: Only to the country level, and only roughly. A VPN gives you an IP address in another country, so Google switches country and language. It will not put you in a specific city, and Google may still use other signals. The uule parameter or a location override is more precise. Q: How do I see Google results from another country? A: Add gl= with the two-letter country code and hl= with the language to the search URL, for example google.com/search?q=plumber&gl=gb&hl=en. For a specific city inside that country, add a uule value as well. Q: Why do I need to change my location to check rankings? A: Because rankings differ by place. Local packs and many organic results depend on where the searcher is. Checking from your own desk shows your desk's results. To see what a customer sees, you have to search as if you were where they are. Sources: - Google Search Help: Update your location on Google: https://support.google.com/websearch/answer/179386 - Google Ads Help: Ad Preview and Diagnosis tool: https://support.google.com/google-ads/answer/2564584 - Google Ads API: Geo targets (location IDs): https://developers.google.com/google-ads/api/data/geotargets - Chrome DevTools: Override geolocation: https://developer.chrome.com/docs/devtools/sensors --- # How to Check Local Google Rankings for Any City (Local SERP Checker Guide) URL: https://serplify.io/blog/how-to-check-local-rankings/ Published: 2026-09-06 · Updated: 2026-10-09 > A local SERP checker shows the Google results a searcher in any city sees, map pack included. Three ways to check local rankings, with real examples. Key takeaways: - A local SERP checker fetches the results page as a searcher in a chosen city would see it, including the map pack. A search from your desk shows your desk's results, not your customer's. - In our September 2026 sample, every local query showed a local pack, and a normal website never held the first spot on those pages. - Three ways to check: a URL trick for one-off looks, a rank tracker with city settings, or a SERP API with Google's location codes. - Track the map pack separately from organic. They are ranked by different signals, and your Google Business Profile drives the map. A plumber in Brooklyn checks *emergency plumber* from the office and sees the business at the top of the map. A customer in Queens searches the same words and sees three other plumbers. Both are looking at real Google. Neither is wrong. Local results depend on where the searcher stands. This guide shows how to check the results for any city, including the map pack, so you see what customers see. There is a free method for one-off checks and two ways to do it at scale. ## Why local rankings change by city Google treats the searcher's location as a ranking signal for every query, and as the main signal for local ones. Two things happen. **The map pack moves.** For searches with local intent, Google shows a local pack: a map with three businesses, ratings, and a directions button. Google's own help page lists the three factors it ranks them by: relevance, distance, and prominence. Distance is from the searcher, not from the city center. So the pack changes as the searcher moves. **Organic results shift too.** Below the pack, Google favors pages that mention or serve the searcher's area. A directory page for "plumbers in Queens" outranks a Brooklyn plumber's homepage for a Queens searcher. In our September 2026 sample of 200 US pages, every one of the 40 local pages (20 local queries, each on desktop and mobile) showed a local pack. On those pages a normal website never held the first spot. The map was always first or right under a question box. ## What a real local page looks like Here are two local SERPs we fetched on September 6, 2026, block by block. **Coffee shops, London, mobile:** | Spot | Block | |---|---| | 1 | Find results on (Yelp, Tripadvisor, and similar) | | 2 to 4 | Local pack: three cafes with ratings | | 5 | People Also Ask | | 6 | Organic: a London blog's list of cafes | | 7 | People also search for | | 8 | Discussions and forums | | 9 to 13 | Organic: Tripadvisor, two cafes, Reddit, a travel blog | | 14 | Video | **Plumber, New York, mobile:** | Spot | Block | |---|---| | 1 to 3 | Local pack: three plumbing companies | | 4 | People Also Ask | | 5 to 9 | Expanded knowledge panel items about plumbing | | 10 | Organic: Yelp | | 11 | Organic: a national plumbing chain | | 12 | People also search for | | 13 to 14 | Organic: two local plumbers | Notice that the first local plumber's own website is the thirteenth block. Their place in the map pack is what matters. That is the shape of most local pages. Each of these blocks is described in our [list of Google SERP features](https://serplify.io/blog/serp-features-explained/). ## Method 1: Check one city by hand (free) For a quick look, you can tell Google where you are. 1. Open a private browser window. 2. Use one of the location methods in [how to change your Google search location](https://serplify.io/blog/how-to-change-google-search-location/). The simplest is the browser's developer tools location override, which sets fake GPS coordinates. The others are the `uule` URL parameter and, for country-level, the `gl` parameter. 3. Reload Google and search. Scroll to the bottom and check the location Google shows under the results. 4. Count down to your business in the pack and in the organic list. This works for a few checks. It does not work for 50 keywords in 10 cities every week, and it is easy to get slightly wrong. ## Method 2: A rank tracker with city settings Most rank trackers accept a location per keyword. Enter the city, or for some tools a zip code or a pin on a map, and the tracker fetches from there on a schedule. Two things to confirm before you rely on one: - **Does it track the map pack separately?** Look for a "local" or "maps" rank next to the organic rank. - **How precise is the location?** City-level is the minimum. Some tools go to zip code or a point on a map, which matters for anything where distance decides the pack. Local tracking usually counts each city as a separate keyword against your plan. Our [rank tracker price comparison](https://serplify.io/blog/how-much-does-a-rank-tracker-cost/) shows what that does to the bill. ## Method 3: A SERP API with location codes A SERP API is the most exact way, because you name the location with Google's own ID. Google gives every country, region, city, and many neighborhoods a number. The United States is 2840. London is 1006886. New York is 1023191. You can list them for free: ```bash curl "https://api.serplify.io/v1/locations?country=GB&limit=5000" \ -H "Authorization: Bearer live_your_key_here" ``` Then request the page for that place and device: ```bash curl -X POST https://api.serplify.io/v1/serp/search \ -H "Authorization: Bearer live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "keyword": "coffee shops", "location": { "code": 1006886 }, "language": { "code": "en" }, "device": "mobile", "format": "advanced" }' ``` For a point rather than a named place, Serplify also accepts coordinates and a radius, for example `"location": { "coordinate": "51.5074,-0.1278,10" }`, which is central London with a 10 kilometer radius. The response comes back with the local pack as separate items: ```json { "type": "local_pack", "rank_absolute": 2, "rank_group": 1, "title": "Kiss the Hippo Coffee", "rating": { "value": 4.6, "votes_count": 812 }, "cid": "1234567890123456789" } ``` `cid` is Google's stable ID for the business, so you can match your own listing even if the name changes. Record `rank_group` for the pack position and `rank_absolute` for where the pack sits on the page. Add a `track` block with your domain to get your organic rank in the same call. Checking 100 keywords in 20 cities weekly is 2,000 checks a week, about $43 a month on Serplify's [city-level SERP API](https://serplify.io/serp-api/). The scheduling and storage setup is in our [bulk rank tracking guide](https://serplify.io/blog/how-to-track-rankings-in-bulk/). ## Track the pack and organic separately They are ranked by different systems. | | Map pack | Organic results | |---|---|---| | Ranked by | Google Business Profile: category, reviews, distance, completeness | Your website: content, links, local relevance | | Moves when | The searcher moves, reviews change, a competitor updates their profile | Content or links change, Google updates | | Fix it with | Profile work, reviews, correct address and categories | Pages for each area you serve, local content | A business can lead the pack and be invisible in organic, or the reverse. Report both. And check on mobile, because that is where local searches happen. See [how mobile and desktop results differ](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/). ## How often to check local rankings Packs move more than organic results. A new review, a competitor's profile edit, or a small shift in the searcher's assumed location changes them. Weekly checks per city are enough to see trends. Daily checks are for the two or three keywords that bring most calls. If a rank jumps around, read [why rankings move from day to day](https://serplify.io/blog/why-google-rankings-fluctuate/) before you change anything. Local packs are the most volatile part of the page. ## Common mistakes - **Checking from the office.** You see the office's results. - **Using a country code for a local business.** *Plumber* with the US code shows a page for nobody in particular. Use the city. - **Tracking only the website.** For most local searches the pack is the prize. - **Ignoring the neighborhood.** In big cities the pack differs by district. Add a second or third location for your busiest areas. - **Reporting desktop.** Local searches are mostly on phones. Frequently asked questions: Q: What is a local SERP checker? A: It is a tool that shows you the Google results page for a keyword as seen from a specific city or area, rather than from where you happen to be. Good ones include the map pack with each business's position and rating, and let you pick the device. Q: Why are local rankings different from my normal rankings? A: Google uses the searcher's location as a ranking signal. For local searches it also shows a map pack ranked by relevance, distance, and prominence of Google Business Profiles. Move the searcher a few miles and the distance signal changes, so the pack and often the organic results change with it. Q: Can I check local rankings for free? A: For one or two keywords, yes. Add a location parameter to the Google search URL or use the location override in browser developer tools, then search. For a list of keywords across several cities, a tracker or API is far faster and more consistent. Q: How do I track my Google Maps ranking? A: Use a tracker or SERP API that returns the local pack as separate items. Match your business name or Google place ID, record its position in the pack, and request a city or neighborhood-level location. Check it weekly, because packs move more than organic results. Q: What is a Google location code? A: Google gives every country, region, city, and many neighborhoods a numeric ID, called a geo target criteria ID. The United States is 2840. London is 1006886. SERP APIs and Google Ads use these codes so a request means exactly one place. Sources: - Google Business Profile Help: How to improve your local ranking on Google: https://support.google.com/business/answer/7091 - Google Ads API: Geo targets (location IDs): https://developers.google.com/google-ads/api/data/geotargets - Serplify docs: Locations and languages: https://docs.serplify.io/serp-api/reference-data/ - Serplify docs: SERP feature types (local pack): https://docs.serplify.io/serp-api/feature-types/ --- # How to Check Your Google Ranking for Any Keyword (5 Ways, From Free to Automatic) URL: https://serplify.io/blog/how-to-check-google-rankings/ Published: 2026-09-06 · Updated: 2026-10-09 > How to check Google ranking for keywords: five ways, from free Search Console and a private window to rank trackers and a SERP API, by city and device. Key takeaways: - Never trust your own browser. Google personalizes results by location, device, and history, so your view is not what customers see. - Search Console is free and comes straight from Google, but it shows averages over time and no competitor data. - A private window with the location set works for a few keywords. It does not scale past twenty. - Rank trackers check a keyword list on a schedule from a fixed city and device. The tools we checked start at about $80 a month. - A SERP API returns the full page as data for a fraction of a cent, so you can check thousands of keywords and build your own reports. Search your keyword. Scroll until you find your site. Note the number. That is how most people check their Google ranking, and it is wrong more often than it is right. Google shows you a personalized page. It knows your location, your device, and what you clicked last time. The page it shows you is not the page it shows your customers. So the first rule of checking rankings is this: **do not trust your own browser**. This guide covers five ways to check where you rank, from free to fully automatic, and when to use each one. ## What "ranking" means before you check it Two numbers matter, and tools often mix them up. - **Organic rank** is your place among the normal results. Rank 1 is the first non-ad website. - **Position on the page** counts every block above you: ads, the AI Overview, the map pack, People Also Ask. In our September 2026 sample of 200 US result pages, the first organic result was in the very first spot on only 14.5 percent of pages. You can be organic rank 1 and the fourth thing on the screen. A good tool gives you both numbers. When it gives you one, ask which. Rankings also differ by **location**, **device**, and **language**. There is no single rank for a keyword. There is a rank for a keyword in a place on a device. Decide those three before you check anything. If your customers are on phones in Chicago, check mobile in Chicago. ## Method 1: Google Search Console (free, from Google, delayed) Search Console is Google's own report on how your site performs in search. It is free, and it is the only source that comes straight from Google. **How to check:** 1. Open Search Console and pick your property. 2. Go to **Performance**, then **Search results**. 3. Click the **Queries** tab. Turn on the **Average position** metric. 4. Filter by a query, a page, a country, or a device using the filters at the top. **What you get.** Clicks, impressions, click-through rate, and average position for every query that showed your site. **Limits.** The position is an average over the date range and over every searcher. It lags a day or two. It shows nothing about competitors and nothing about which SERP features were on the page. And it only lists queries where you already appeared, so a keyword you rank 150 for will not show. **Best for.** Monthly reviews, finding keywords you did not know you ranked for, and checking whether a drop in rank matches a drop in clicks. The screen exports only 1,000 rows. To pull more into a sheet or a script, use the free [Search Console API](https://serplify.io/blog/google-search-console-api/). ## Method 2: A private window with the location set (free, live, slow) For a live look at one keyword, a private browsing window removes most personalization. You still need to set the location, because Google uses your IP address. **How to check:** 1. Open an incognito or private window. 2. Set the search location. Our guide on [changing your Google search location](https://serplify.io/blog/how-to-change-google-search-location/) covers the free methods, including the URL parameter that sets a city. 3. Search your keyword and count down to your site. Count blocks above you too. 4. For mobile, use your browser's device mode or a real phone on the same location. Cannot find your site at all? Search `site:yourdomain.com` first to confirm Google has indexed it. It is one of several [search operators](https://serplify.io/blog/how-to-use-google-search-operators/) that make quick checks faster. **Limits.** It takes a minute per keyword. It is easy to miscount on a long page. And Google still uses some signals in private mode, so treat it as close, not exact. **Best for.** Spot checks, seeing the page with your own eyes, and confirming what a tool reports. ## Method 3: A rank tracker (paid, scheduled, by city and device) A rank tracker takes a list of keywords, a location, and a device, and checks them on a schedule. It stores the history so you see trends, and most show which competitors hold the other spots. **How to check:** 1. Add your domain and your keywords. 2. Set the location (country or city) and device for each keyword or group. 3. Let it run. Most check daily. Some let you refresh on demand. 4. Read the dashboard: current rank, change since last check, best rank, and a chart over time. **Limits.** Cost scales with keyword count. On the tools we checked in September 2026, entry plans run about $80 to $130 a month for 500 to 2,000 keywords and climb to several hundred dollars for more. Some cheaper trackers use loose location handling, which adds noise. We compare prices in [how much a rank tracker costs](https://serplify.io/blog/how-much-does-a-rank-tracker-cost/). **Best for.** Anyone with more than 20 keywords who wants trends without building anything. ## Method 4: A SERP API (pay per check, any scale, your own reports) A SERP API fetches the Google results page for a keyword, location, and device, and returns it as data. You send a request, you get back every result with its type and position. From there you can check rankings for as many keywords as you like and store the history however you want. **How to check.** Send a request with your keyword, location, and the domain you want to find. Here is one that checks where nike.com sits for *best running shoes* on US desktop: ```bash curl -X POST https://api.serplify.io/v1/serp/search \ -H "Authorization: Bearer live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "keyword": "best running shoes", "location": { "code": 2840 }, "language": { "code": "en" }, "device": "desktop", "track": { "target": "nike.com" } }' ``` The response includes the full page plus a small block with the answer: ```json "tracked_rank": { "target": "nike.com", "rank_absolute": 8, "rank_group": 6, "url": "https://www.nike.com/running", "found": true } ``` That says Nike is organic rank 6 and the eighth block on the page. Both numbers, no counting. **Limits.** You or a developer write a little code and a place to store results. A spreadsheet or a small database is enough. If you have never called an API, start with [making your first SERP API request](https://serplify.io/blog/how-to-use-serplify-serp-api/). **Cost.** Serplify's [pay-per-check SERP API](https://serplify.io/serp-api/) charges $0.005 per successful check, so 1,000 keywords checked weekly is about $22 a month. Reading the stored history back is free. Our guide on [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) has the full setup. **Best for.** Agencies, tools, and anyone with thousands of keywords, many cities, or reports that no tracker offers. ## Method 5: Ask Google Ads (indirect) If you run Google Ads, the **Search terms** report and the **Auction insights** report show where your ads appeared and which competitors showed alongside. It says nothing about organic rank. It is useful only as a check on which search terms bring people to your ads. ## Which method should you use? | Your situation | Use | |---|---| | One site, curious about a few keywords | Search Console plus a private window | | A small business in one city | A rank tracker set to that city, mobile | | 100 to 5,000 keywords, want charts | A rank tracker | | Many clients, many cities, custom reports | A SERP API | | Checking a sudden drop | Search Console for clicks, then a private window to see the page | ## Five mistakes that give you the wrong number 1. **Searching signed in.** Google remembers what you click. Use a private window or a tool. 2. **Ignoring location.** A ranking from your desk is not a ranking from your customer's street. Set it. For local businesses, [check local rankings for the exact city](https://serplify.io/blog/how-to-check-local-rankings/). 3. **Checking desktop only.** Most consumer searches are on phones, and mobile pages differ. See [why mobile and desktop rankings differ](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/). 4. **Reacting to one day.** Rankings wobble daily. Watch the weekly trend. If a keyword moved a lot, read [why Google rankings fluctuate](https://serplify.io/blog/why-google-rankings-fluctuate/) before you change anything. 5. **Counting only blue links.** If an AI Overview and a map sit above you, your organic rank 1 is not the first thing anyone sees. Track both numbers. Frequently asked questions: Q: How do I check my website's ranking on Google for free? A: Use Google Search Console. Open the Performance report, click Queries, and read the Position column. It is the average position your site held for that query over the date range. For a live look at one keyword, open a private browser window, set the location, and search. Q: Why is my ranking different in Search Console than in my browser? A: Search Console reports an average across every searcher, location, and device over the period you selected. Your browser shows one page, for you, right now. If you ranked 2 for half the searchers and 8 for the other half, Search Console says 5 and your browser says one of the two. Q: What is the difference between rank and position on the page? A: Rank usually means your place among organic results. Position on the page counts every block above you, including ads, AI Overviews, and maps. You can be organic rank 1 and the fourth thing on the screen. Good tools report both. Q: How often should I check rankings? A: Weekly is enough for most sites. Daily makes sense for keywords that drive revenue or during a Google update. Checking more often than daily just shows you noise. Q: Can I check rankings for a specific city? A: Yes, with a tool that accepts a location. Rank trackers and SERP APIs take a city or a Google location code and fetch the page as a searcher there would see it. A browser search from another city does not show that page. Sources: - Google Search Console Help: Performance report (Search results): https://support.google.com/webmasters/answer/7576553 - Google Search Central: How Search works: https://developers.google.com/search/docs/fundamentals/how-search-works - Serplify docs: Rank tracking: https://docs.serplify.io/serp-api/rank-tracking/ --- # How to Track Google Rankings in Bulk for Thousands of Keywords URL: https://serplify.io/blog/how-to-track-rankings-in-bulk/ Published: 2026-09-06 · Updated: 2026-10-09 > How to track rankings in bulk for thousands of keywords by city and device: a keyword list with location codes, nightly async jobs, storage, and reports. Key takeaways: - To track rankings in bulk, your own code fetches the Google page for each keyword, location, and device, finds your domain in it, and stores the position. - Bulk tracking has four parts: a keyword list with location codes, a nightly async job, a table for the results, and a report with both organic rank and position on the page. Async requests avoid the timeouts of live calls. - At Serplify's $0.005 per successful SERP, 10,000 keywords checked daily costs about $1,500 a month. Weekly checks cost about $215. Reading history back is free. - Track SERP features alongside rank. A new block above you explains a traffic drop that rank alone will not. Rank tracking tools charge by the keyword. At 500 keywords that is fine. At 10,000 keywords across 30 cities it is a five-figure yearly bill for daily checks you may not need. And you still cannot get the report you want. A [rank tracker API](https://serplify.io/serp-api/) flips the model. You pay per check, you choose the schedule, and the data lands in your own table. This guide shows how to set that up, step by step, using Serplify's API as the example. The same shape works with any SERP API. ## What each rank check returns Each check fetches the Google results page for a keyword in a location on a device, and tells you where a domain sits on it. Two numbers matter: - **Organic rank** (`rank_group` in most APIs): your place among the normal results. - **Absolute position** (`rank_absolute`): your place counting every block on the page, including AI Overviews, ads, and map packs. In our September 2026 sample of 200 US result pages, the first organic result held the very first spot on only 14.5 percent of pages. Reporting both numbers is how you explain why clicks and rank do not move together. If you are new to that distinction, start with [the basics of checking your rank](https://serplify.io/blog/how-to-check-google-rankings/). ## Step 1: Build the keyword list with locations and devices Start a table with one row per thing you want to track. Not one row per keyword. One row per keyword, location, and device. | keyword | location_code | device | target | label | |---|---|---|---|---| | emergency plumber | 1023191 | mobile | acmeplumbing.com | nyc | | emergency plumber | 1014221 | mobile | acmeplumbing.com | chicago | | plumber near me | 1023191 | mobile | acmeplumbing.com | nyc | Add one more column for the topic or page each keyword belongs to, so you can report by group. Keywords that share most of their top results belong together. Our guide on [how to cluster keywords](https://serplify.io/blog/how-to-cluster-keywords/) shows how to find those groups. **Location codes** are Google's own IDs for countries, regions, and cities. 2840 is the United States. 1023191 is New York. You can pull the list from the API for free: ```bash curl "https://api.serplify.io/v1/locations?country=US&limit=5000" \ -H "Authorization: Bearer live_your_key_here" ``` Use the most specific code your customers match. A city code for local services. A country code for national brands. The difference is large for anything local, which we cover in [how to check local rankings](https://serplify.io/blog/how-to-check-local-rankings/). **Device** matters as much as location. Mobile and desktop pages differ in blocks and order, as our [mobile vs desktop sample](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/) shows. Track the device your customers use, or both. ## Step 2: Pick a schedule More checks cost more and show more noise. A good default: | Keyword group | Frequency | |---|---| | Top revenue keywords, 50 to 200 | Daily | | Everything else | Weekly | | During a confirmed Google update | Daily for the week | Rankings wobble by a position or two every day. Weekly checks smooth that out. Daily checks are for the keywords where you would act on a change. ## Step 3: Send async requests, not live ones A live request waits for the page. It is fine for one keyword in a dashboard. For a batch of 10,000 it ties up connections and hits timeouts. An async request drops a task in a queue and returns at once. You collect results later, by polling or by webhook. Same price on Serplify, no waiting. If this is your first call to the API, walk through [your first SERP API request, step by step](https://serplify.io/blog/how-to-use-serplify-serp-api/) before you script a batch. Here is one task. The `track` block tells the API which domain to find and how to label the check: ```bash curl -X POST https://api.serplify.io/v1/serp/tasks \ -H "Authorization: Bearer live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "keyword": "emergency plumber", "location": { "code": 1023191 }, "language": { "code": "en" }, "device": "mobile", "depth": 100, "track": { "target": "acmeplumbing.com", "label": "nyc" }, "webhook": { "result_url": "https://you.example.com/hooks/serplify?id=$id" } }' ``` The API answers with a task ID right away. When the page is fetched, it posts the full result to your webhook, or you fetch it from `/v1/serp/tasks/{id}`. Fetching a result is free. A nightly job in any language loops over the table and sends one task per row. In Python that is about twenty lines with `requests`. ## Step 4: Read the result Each result carries the whole page plus a small block with the answer: ```json "tracked_rank": { "target": "acmeplumbing.com", "rank_absolute": 6, "rank_group": 3, "url": "https://acmeplumbing.com/emergency", "found": true } ``` That says the site is organic rank 3 and the sixth block on the page. When the domain is not in the top 100, `found` is `false` and the ranks are `null`. Store that too. A gap in the history is information. Also store `feature_types` from the result. It lists every block on the page, like `["local_pack", "organic", "people_also_ask", "ai_overview"]`. Next month, when a keyword's clicks fall and its rank did not, this column tells you what arrived above you. ## Step 5: Store it You do not need a big system. One table with these columns covers most reporting: | column | example | |---|---| | checked_at | 2026-09-06T02:10:00Z | | keyword | emergency plumber | | location_code | 1023191 | | device | mobile | | target | acmeplumbing.com | | rank_group | 3 | | rank_absolute | 6 | | url | https://acmeplumbing.com/emergency | | feature_types | local_pack, organic, people_also_ask | | first_organic_position | 4 | Serplify also keeps its own history for every tracked request. `GET /v1/serp/track?keyword=...&target=...` returns the snapshots, newest first, at no charge. A spreadsheet or a small script can chart a trend from that without a database at all. ## Step 6: Report the two numbers, and the features A useful weekly report has three columns per keyword: organic rank, absolute position, and a flag when a new feature appeared above you. Add a seven-day average so daily noise does not drive decisions. Then compare against clicks in Google Search Console. When rank held and clicks fell, look at the feature column. When rank fell across a group of keywords for more than a week, check for a Google update before you change anything. For one number per group, turn ranks into estimated clicks and compare them with your competitors' clicks. Our guide on [how to calculate SEO share of voice](https://serplify.io/blog/how-to-calculate-seo-share-of-voice/) shows the formula and a worked example. ## What it costs Serplify charges [$0.005 per successful SERP](https://serplify.io/pricing/), up to 100 results, with every feature parsed. Failed live requests are free. Async tasks are charged when they are queued. History reads are free. | Setup | Checks per month | Cost per month | |---|---|---| | 1,000 keywords, weekly | 4,300 | about $22 | | 1,000 keywords, daily | 30,000 | $150 | | 10,000 keywords, weekly | 43,000 | about $215 | | 10,000 keywords, daily | 300,000 | $1,500 | | 10,000 keywords, 5 cities, weekly | 215,000 | about $1,075 | Compare that with tool pricing, where 10,000 daily-checked keywords runs into thousands of dollars a month. We lay the tool prices side by side in [how much a rank tracker costs](https://serplify.io/blog/how-much-does-a-rank-tracker-cost/). The break-even is usually a few thousand keywords, or any setup with many cities. ## Tracking the local pack Local businesses live or die by the map pack. It comes back as separate `local_pack` items, each with the business title, rating, and Google's place ID (`cid`). Match on the title or the ID, record the pack position, and request a city-level or even neighborhood-level location code. Packs differ from one side of a city to the other. ## Tracking SERP features, not just yourself Once you store `feature_types` for every check, you have a SERP feature tracker for free. Filter for keywords where `people_also_ask` is present and you are not in it. Filter for keywords where `ai_overview` appeared this month and was absent last month. Our guide on [finding SERP feature opportunities](https://serplify.io/blog/how-to-find-serp-feature-opportunities/) turns that data into a plan. ## Mistakes that waste money - **Depth 100 on everything.** If you only ever act on top-20 changes, request depth 20 on the weekly list and 100 on the keywords you are trying to move. Serplify charges the same either way, but on per-page providers this is the difference between $0.002 and $0.02 per check. - **Live calls in a batch.** Use async. Same data, no timeouts. - **One country code for a local business.** Use the city. - **Checking daily and reading daily.** Check daily if you like, but report weekly averages. - **Storing only the rank.** Store the URL that ranked and the feature list. Both explain changes that rank alone cannot. Frequently asked questions: Q: What is a bulk rank checker? A: It is a tool or script that checks Google rankings for a long list of keywords at once, instead of one search at a time. Most are built on an API that fetches the results page for each keyword, location, and device. Some APIs, like Serplify, also accept a target domain, return its rank directly, and keep a history you can query. Q: How many keywords can I track with an API? A: As many as you can pay for. There is no plan cap. Each keyword, location, and device combination is one request per check. 10,000 keywords on two devices checked daily is 20,000 requests a day. Q: Is an API cheaper than a rank tracking tool for bulk tracking? A: Usually, once you pass a few thousand keywords or need many cities. Tools charge per keyword slot per month, whether you check daily or not. An API charges per check, so weekly checks on 10,000 keywords can cost less than a 2,000-keyword tool plan. You do need a little code and somewhere to store results. Q: How accurate is API-based rank tracking? A: As accurate as the location and device you request. A request for mobile results in Denver returns the page a mobile searcher in Denver sees, with no personalization. That is more consistent than checking by hand, and the same method commercial rank trackers use under the hood. Q: Can I track local map pack rankings with an API? A: Yes. The local pack comes back as separate items with the business name, rating, and Google's place ID. Match on your business name or place ID to record your map rank, and request a city-level location code so the pack matches what local searchers see. Sources: - Serplify docs: Rank tracking: https://docs.serplify.io/serp-api/rank-tracking/ - Serplify docs: Async tasks: https://docs.serplify.io/serp-api/tasks/ - Serplify docs: Locations and languages: https://docs.serplify.io/serp-api/reference-data/ - Google Search Console Help: Performance report: https://support.google.com/webmasters/answer/7576553 --- # Why Mobile and Desktop Rankings Differ (and How to Track Mobile Properly) URL: https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/ Published: 2026-09-06 · Updated: 2026-10-09 > Mobile vs desktop rankings differ because Google builds a different page for each device. See what our 200-SERP sample showed and how to track mobile. Key takeaways: - Google builds a different results page for phones and desktops. Same keyword, different blocks, different order, and often a different rank for your site. - In our September 2026 sample of 200 US pages, video blocks appeared on 37 percent of mobile pages and 26 percent of desktop pages. Mobile also swaps related searches for 'People also search for' and shows more forum content. - Google indexes the mobile version of your site. If content is hidden or missing on mobile, it is missing for ranking on both devices. - Most consumer searches happen on phones. Track the device your customers use, or both, and check that your tracker fetches mobile, because some tools default to desktop. Search for a keyword on your laptop and your site is third. Search on your phone and it is seventh. Nothing is broken. Google made two different pages, one for each device, and your site sits in a different spot on each. This guide explains why that happens and what our own sample of 200 pages showed about the gap. It then shows how to track mobile rankings, so the number you report is the number your customers see. ## Google builds a different page for each device When a phone asks Google for results, Google knows it is a phone. It builds a page for a narrow screen, a thumb, and a person who is probably out somewhere. When a desktop asks, it builds for a wide screen and a keyboard. That is not just layout. Google picks different blocks, orders them differently, and sometimes ranks the same sites differently. Three things drive it. ### 1. Different SERP features To measure the gap, we fetched 100 US queries on both devices on September 6, 2026. Here is where the pages differed most. | Feature | Desktop pages | Mobile pages | |---|---|---| | Related searches | 96% | 2% | | People also search for | Rare | 97% | | Video | 26% | 37% | | Perspectives (forum and social posts) | 26% | 35% | | Discussions and forums | 10% | 16% | | Expanded knowledge panel items | Rare | 18% | | Local pack | 21% | 24% | | Average blocks on the page | 12.5 | 13.8 | | Average organic results on page one | 8.2 | 7.9 | Mobile pages had more blocks and slightly fewer organic results. They leaned toward video, forums, and expanded knowledge panels. Desktop pages leaned toward the classic list with related searches at the bottom. People Also Ask and AI Overviews were nearly the same on both, at 92 to 94 percent and 68 to 69 percent. Our [SERP features guide](https://serplify.io/blog/serp-features-explained/) explains what each block does. ### 2. Different ranking signals Google indexes the mobile version of every site. That is called mobile-first indexing, and it has covered all sites since 2023. If your mobile pages hide text behind tabs, drop images, or trim internal links, Google sees the trimmed version. That affects rankings on both devices, but it shows first on mobile. Google also measures page experience per device. A page that loads in one second on a desktop connection and four seconds on a phone is two different experiences. Speed and layout stability matter more where they are worse. ### 3. Different intent Phones are used on the move. Google reads more local intent into mobile searches. *Coffee shops* on a phone leans toward the map. *Coffee shops* on a desktop leans toward lists and guides. Sites that serve one intent well rise on one device and fall on the other. ## What the gap looks like for one keyword Take *best running shoes* in the US. On desktop, the page opens with an AI Overview, then Runner's World, then Reddit, then People Also Ask. On mobile the AI Overview fills the first screen, and the first website is below the fold. A site in organic rank 2 on both devices is the second link on desktop and the first thing you scroll to on a phone. Same rank. Different visibility. That is why a useful report shows both organic rank and position on the page. Our guide on [how to check your Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) explains both numbers. ## Which device should you track? The answer is in Google Search Console. Open the Performance report and switch the tab to **Devices**. It shows clicks and impressions for mobile, desktop, and tablet. As a rough rule: | Your topic | Usual split | Track | |---|---|---| | Local services, restaurants, retail | Mostly mobile | Mobile, city-level | | Consumer products, health, how-to | Mostly mobile | Mobile first, desktop for the top keywords | | Business software, finance, B2B | Often half desktop | Both | | Developer and technical topics | Mostly desktop | Desktop first | Whatever the split, do not report a desktop number as "the" ranking if most of your visitors are on phones. ## How to set up a mobile rank tracker A mobile rank tracker is any tool or API that fetches the results page as a phone would. Three ways to do it. ### In a rank tracking tool Most trackers have a device setting per keyword or per project. Set it to mobile. Note that many tools count mobile and desktop as two separate keywords against your plan. See [rank tracker pricing](https://serplify.io/blog/how-much-does-a-rank-tracker-cost/) for what that costs. Check the default. Some tools track desktop unless you change it, and teams report the desktop number for years without noticing. ### With a SERP API A SERP API gives you [mobile and desktop SERP data](https://serplify.io/serp-api/) from the same request format. Set `device` to `mobile` in the request. On Serplify you can also set the operating system with `os`: ```bash curl -X POST https://api.serplify.io/v1/serp/search \ -H "Authorization: Bearer live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "keyword": "best running shoes", "location": { "code": 2840 }, "language": { "code": "en" }, "device": "mobile", "os": "android", "track": { "target": "nike.com" } }' ``` The response tells you the rank, the position on the page, and the list of features present. Run the same request with `"device": "desktop"` and you have both sides of the gap for one cent. The full bulk setup is in [how to track rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/). ### By hand Open your browser's developer tools, switch to device mode, pick a phone, and reload the results. Set the location too, using one of the methods in [how to change your Google search location](https://serplify.io/blog/how-to-change-google-search-location/). This is fine for a spot check. It is not exact, because Google still sees a desktop browser pretending, and it does not scale. ## What to do when mobile rank is lower than desktop 1. **Check what Google sees on mobile.** Use the URL Inspection tool in Search Console, test the live URL, and view the rendered page. Missing text or links on mobile is the most common cause. 2. **Check speed on a phone.** PageSpeed Insights reports mobile and desktop separately. Fix the mobile score first. 3. **Look at the mobile page for your keyword.** If it is full of video and forum blocks, that is the format Google wants on phones. Consider a short video or a clearer, faster answer near the top. 4. **Check local intent.** If a map pack appears on mobile and not desktop, your page is competing with a map. Your Google Business Profile matters more than your page. See [how to check local rankings](https://serplify.io/blog/how-to-check-local-rankings/). 5. **Watch the trend, not the day.** Mobile pages carry more moving parts. Use weekly averages, as we explain in [why Google rankings fluctuate](https://serplify.io/blog/why-google-rankings-fluctuate/). Frequently asked questions: Q: Why is my ranking different on mobile and desktop? A: Google builds each results page for the device asking. Mobile pages have more video, forum, and app content, a different order of blocks, and a screen that fits fewer results. Google also weighs page speed and mobile usability differently. The result is that the same keyword can rank your page 3 on desktop and 7 on a phone, or the other way around. Q: What is mobile-first indexing? A: It means Google crawls and indexes the mobile version of your site, and uses that version to decide rankings for every device. If text, links, or images are only on the desktop version, Google does not see them. Google moved all sites to mobile-first indexing by 2023. Q: Which should I track, mobile or desktop? A: Track the device your visitors use. Google Search Console's Performance report shows your split by device. For most consumer and local topics that is mobile. For business software and work-related searches, desktop is still a large share. When in doubt, track both. Q: Are mobile rankings more volatile? A: They move a bit more, mainly because mobile pages carry more feature blocks that come and go, and because local intent is stronger on phones. Track weekly averages rather than reacting to one day. Sources: - Google Search Central: Mobile-first indexing best practices: https://developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing - Google Search Central: Understand how Google Search sees your pages: https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics - Serplify docs: SERP API overview (device parameter): https://docs.serplify.io/serp-api/overview/ --- # 4 SerpEmpire Alternatives for CTR Tests: Monthly Plans vs Pay per Click URL: https://serplify.io/blog/best-serpempire-alternatives/ Published: 2026-07-05 · Updated: 2026-10-09 > Compare 4 SerpEmpire alternatives for CTR tests on price, billing model, targeting and click type. Prices checked October 2026, plus where SerpEmpire wins. Key takeaways: - SerpEmpire sells monthly plans counted in searches, from €79 for 500 searches up to €2,999 for 50,000 (checked October 2026). - SearchSEO has the cheapest entry plan at $29 a month. Serplify has no monthly plan and bills $0.04 per delivered click. - SerpEmpire still wins on platforms, city targeting and a free test that needs no card. The closest SerpEmpire alternatives are SearchSEO, Serplify and SerpClix. A fourth option, rewriting and split-testing your titles, raises CTR with no bought clicks. Most people look elsewhere because of the billing model, the price per click, or who makes the click. SerpEmpire sells monthly plans in euros, counted in searches, from €79 a month on its [pricing page](https://serpempire.com/pricing/) (checked October 2026). It has real strengths: city targeting and a long list of search engines. So the right choice depends on what you test. We make Serplify, one of the tools below. That is a conflict of interest, so we show where SerpEmpire or another tool is cheaper or does more. ## SerpEmpire at a glance - **What it sends:** searches and visits in real browsers on residential IPs, with modeled scrolling and moves between pages, per its site. - **Platforms:** Google web and Maps, YouTube, Bing, Yahoo, Baidu, Yandex and Amazon. - **Targeting:** every country, down to the city. - **Plans:** five monthly plans from €79 to €2,999, or yearly with two months free. - **Free test:** 50 searches over 7 days on one campaign, with no card. - **Sizing:** it suggests about 1.2 searches for each organic visit your site already gets. ## Monthly search plans vs pay per click This is the biggest difference between SerpEmpire and its rivals. SerpEmpire and SearchSEO sell a monthly allowance. SerpClix sells credits. Serplify bills each delivered click from a prepaid balance. The table compares the price per unit at the entry, middle and top of each range. SerpEmpire counts searches. SearchSEO counts clicks on small plans and searches on large ones. Serplify counts only clicks that found and clicked your page. | Level | SerpEmpire | SearchSEO | Serplify | |---|---|---|---| | Entry | from €79 for 500 searches, about €0.16 each | $29 for 750 clicks, about $0.04 each | $0.04 per click | | Middle | from €499 for 5,000 searches, about €0.10 each | $239 for 9,000 searches, about $0.03 each | $0.04 per click | | Top | €2,999 for 50,000 searches, about €0.06 each | $589 for 30,000 searches, about $0.02 each | $0.04 per click | SearchSEO figures assume you use the full daily limit for 30 days. SerpEmpire lists each plan "from" the price of the lowest volume in its range, so more searches inside a plan may cost more. On these listed prices, Serplify costs less per click than SerpEmpire at every level. SearchSEO is the cheapest per unit, if you use its full daily limit. ## The 4 SerpEmpire alternatives ### 1. Serplify: pay per delivered click, with rank data [Serplify's search click tests](https://serplify.io/buy-seo-traffic/) use automated sessions in real Chrome browsers on residential and mobile connections. Each one searches Google for your keyword, finds your page, clicks it, and stays for the time you set. They are test clicks, not people. - **Price:** $0.04 per delivered click. There is no monthly plan. Top-ups start at $25, and the balance never expires. - **Free misses:** a search that does not find your page is not billed. - **Controls:** country, device (desktop, mobile or mixed), time on page, pages per visit, pacing, and search depth from 1 to 10 result pages. - **Rank data:** each delivered click records your Google position. The same balance pays for the SERP API at $0.005 per SERP, so you can track a control group. **Where SerpEmpire wins:** city targeting, many more platforms, and a free test. Serplify clicks target by country and run on Google web search only. They start after a first top-up, because the $1 signup credit covers the SERP API only. **Best for:** small or irregular tests, and teams that want clicks and rank checks in one account. ### 2. SearchSEO: the cheapest monthly entry [SearchSEO](https://searchseo.io/) calls its product a traffic bot on a residential network. Its plans start at $29 a month for 25 clicks a day and reach $589 for 1,000 searches a day, before VAT. It works on Google, Bing and Yahoo, plus Amazon and eBay. - **Targeting:** country and city. - **Free trial:** 3 days. **Where it differs from SerpEmpire:** a much cheaper entry plan and a lower price at high volume. SerpEmpire covers more platforms, such as YouTube, Baidu and Yandex. Our [SearchSEO alternatives](https://serplify.io/blog/best-searchseo-alternatives/) post shows the cost per click for each plan. **Best for:** steady daily volume on a small budget. ### 3. SerpClix: clicks made by people, at a premium [SerpClix](https://serpclix.com/pricing/) says its clicks come from a network of more than 400,000 people. It sells credits, and an all-country click costs 9 credits. That works out to about $0.15 to $0.36 per click. - **Plans:** credit packs from $100, or monthly plans from $197. - **Platforms:** Google Search, Maps, Images, YouTube, News and Video, plus Bing, DuckDuckGo and Brave. - **Free trial:** 7 days with 500 credits, with payment details up front. **Where it differs from SerpEmpire:** it is the only tool here that says people make the clicks. It costs more per click, and its site mentions country targeting only. See our [SerpClix alternatives](https://serplify.io/blog/best-serpclix-alternatives/) post for the credit math. **Best for:** teams that want clicks made by people. ### 4. Rewrite and split-test your titles A better result earns more clicks from real searchers, with no tool and no risk. Lead the title with the search term, write a description that answers the search, and add structured data for rich results. If you have many similar pages, test the change on half of them and keep the other half as a control. Compare clicks and positions in Search Console after a few weeks. Our guide to [a good organic CTR](https://serplify.io/blog/what-is-a-good-organic-ctr/) shows the benchmark for each position, so you know which pages need it most. **Best for:** every site, and stores or directories with many pages of one type. ## SerpEmpire alternatives compared Prices come from each vendor's public page, checked October 2026. Plans and billing rules differ, so read the full terms before you buy. | Option | Who or what clicks | Price | How you pay | Targeting | |---|---|---|---|---| | SerpEmpire | Automated browser sessions (per SerpEmpire) | about €0.06 to €0.16 per search | Monthly plan, in searches | Country, city | | Serplify | Automated Chrome sessions | $0.04 per delivered click | Prepaid balance, per click | Country, device | | SearchSEO | Traffic bot on a residential network (per SearchSEO) | about $0.02 to $0.04 per click or search | Monthly plan, daily limit | Country, city | | SerpClix | People in its network (per SerpClix) | about $0.15 to $0.36 per all-country click | Credit packs or monthly plan | All countries or one country | | Title rewrites and split tests | Real searchers | Free | Your time | n/a | ## When SerpEmpire is the better pick Stay with SerpEmpire if you need clicks on YouTube, Google Maps, Baidu or Yandex. It is also a strong fit for city-level campaigns with steady monthly volume. Its free test needs no card, which makes it easy to try. Look elsewhere if your volume is small or changes month to month, if you want rank data in the same account, or if you want clicks made by people. ## How to test whichever tool you pick Google's NavBoost system learns from clicks, but Google also filters clicks that look fake. Its [spam policies](https://developers.google.com/search/docs/essentials/spam-policies) count attempts to manipulate rankings as spam. Our post on [what the evidence says about clicks and rankings](https://serplify.io/blog/does-ctr-affect-seo-rankings/) covers what is known. So keep tests small and on your own pages. Use pages that already rank, a control group, and a success rule written in advance. Our [step-by-step SEO traffic test guide](https://serplify.io/blog/how-to-run-seo-traffic-test/) covers each part. Frequently asked questions: Q: What is the best SerpEmpire alternative? A: SearchSEO if you want a cheaper monthly entry plan and several search engines. Serplify if you want to pay per delivered click with no monthly plan, plus rank data on the same balance. SerpClix if you want clicks its site says are made by people, at a higher price. Q: How much does SerpEmpire cost? A: Plans start from €79 a month for 500 searches and go up to €2,999 a month for 50,000 searches. That is about €0.06 to €0.16 per search. A free test gives 50 searches over 7 days with no card (checked October 2026). Q: Is SerpEmpire traffic automated? A: Yes. SerpEmpire describes searches run in real browsers on residential IPs, with modeled scrolling and page moves. That is the same broad method SearchSEO and Serplify use. None of them can promise that Google will count the clicks. Q: Can SerpEmpire or any CTR tool guarantee rankings? A: No. Google uses click data, but it also filters clicks that look fake, and its spam policies count attempts to manipulate rankings as spam. Treat any click tool as a small test on your own pages, measured against a control group. Sources: - SerpEmpire: Pricing: https://serpempire.com/pricing/ - SerpEmpire: Homepage and FAQ: https://serpempire.com/ - SearchSEO: Homepage with plans and features: https://searchseo.io/ - SerpClix: Pricing (credit packs and monthly plans): https://serpclix.com/pricing/ - Serplify docs: SEO traffic (CTR): https://docs.serplify.io/traffic-api/seo-traffic/ - Google Search Central: Spam policies for Google web search: https://developers.google.com/search/docs/essentials/spam-policies --- # 5 SearchSEO Alternatives for CTR Tests, With Real Cost per Click URL: https://serplify.io/blog/best-searchseo-alternatives/ Published: 2026-07-05 · Updated: 2026-10-09 > Compare 5 SearchSEO alternatives for CTR tests: what makes each click, cost per click at low and high volume, targeting, and where SearchSEO still wins. Key takeaways: - SearchSEO calls its product a traffic bot on a residential network. Plans run from $29 a month for 25 clicks a day to $589 for 1,000 searches a day (checked October 2026). - At full use, that is about $0.04 per click on the smallest plan and about $0.02 on the largest. Few tools beat it at high volume. - Serplify costs about the same as SearchSEO's smallest plan, $0.04 per delivered click, with no monthly plan and rank data on the same balance. - SerpClix says its clicks come from people and costs more. SerpEmpire sells monthly search plans in euros with city targeting. - Title and snippet fixes raise CTR for free, and a Google Ads headline test shows which title wins with real searchers. The main SearchSEO alternatives are Serplify, SerpClix and SerpEmpire for search clicks. Title and snippet work and a Google Ads headline test are two ways to study CTR without buying clicks. SearchSEO is hard to beat on price at high volume, so most people switch for other reasons: the billing model, who makes the click, or rank data. [SearchSEO](https://searchseo.io/) calls its product a traffic bot that runs on a residential network. Its clickers search your keyword, go through the results until they find your page, and click it. Plans start at $29 a month (checked October 2026). We make Serplify, one of the tools below. So we name the places where SearchSEO or another tool does more, and we link every price to its source. ## SearchSEO at a glance - **What clicks:** "clickers" on a residential network. SearchSEO's own site calls it a traffic bot. - **Search engines:** Google, Bing and Yahoo, plus Amazon and eBay. - **Targeting:** country and city. - **Plans:** eight monthly plans, from $29 to $589, before VAT. - **Free trial:** 3 days. ## What SearchSEO costs per click Each SearchSEO plan sets a daily limit of clicks or searches. The table shows four of the eight plans and what each click costs if you use the full limit for 30 days. | Plan | Price a month | Daily limit | Per click or search, used in full | |---|---|---|---| | Mini | $29 | 25 clicks | about $0.039 | | Large | $89 | 100 clicks | about $0.030 | | Ultimate | $129 | 150 clicks | about $0.029 | | Corporate | $589 | 1,000 searches | about $0.020 | The four larger plans are counted in searches a day, not clicks. The site does not explain how the two differ. For comparison, Serplify charges $0.04 per delivered click. So 750 clicks a month cost about $30 on Serplify and $29 on SearchSEO's Mini plan. At 30,000 a month, SearchSEO costs $589 and Serplify costs $1,200. **At high volume, SearchSEO is the cheaper tool.** ## The 5 SearchSEO alternatives ### 1. Serplify: pay per delivered click, no monthly plan [Serplify SEO traffic](https://serplify.io/buy-seo-traffic/) clicks are automated sessions in real Chrome browsers on residential and mobile connections. Each one searches Google for your keyword, finds your page, clicks it, and stays for the time you set. These are test clicks, not customers. - **Price:** $0.04 per delivered click. Top-ups start at $25, and the balance never expires. - **Billing:** you pay only for delivered clicks. Searches that miss your page are free, and there is no monthly fee. - **Controls:** country, device, time on page, pages per visit, pacing, and search depth from 1 to 10 result pages. - **Rank data:** each delivered click records your Google position. The same balance pays for the SERP API at $0.005 per SERP, so you can check a control group too. **Where SearchSEO wins:** more search engines, city targeting, a free trial, and a lower price at high volume. Serplify clicks run on Google web search only. Click projects start after a first top-up, since the $1 signup credit covers the SERP API only. **Best for:** small or uneven test volumes, and teams that want clicks and rank tracking in one account. ### 2. SerpClix: clicks made by people, at a higher price [SerpClix](https://serpclix.com/pricing/) says its clicks come from a network of more than 400,000 people. You buy credits, and an all-country click costs 9 credits. That works out to about $0.15 to $0.36 per click, depending on the pack or plan. - **Plans:** credit packs from $100, or monthly plans from $197. - **Platforms:** Google Search, Maps, Images, YouTube, News and Video, plus Bing, DuckDuckGo and Brave. - **Free trial:** 7 days with 500 credits. You enter payment details first. **Where it differs:** SerpClix is the only tool here that says people make the clicks. It costs several times more per click than SearchSEO. Our [SerpClix alternatives](https://serplify.io/blog/best-serpclix-alternatives/) post has the full credit math. **Best for:** teams that want clicks made by people and can pay more. ### 3. SerpEmpire: monthly search plans with city targeting SerpEmpire says it runs searches in real browsers on residential IPs, with modeled scrolling and page-to-page moves. It targets down to the city. - **Platforms:** Google web and Maps, YouTube, Bing, Yahoo, Baidu, Yandex and Amazon. - **Price:** plans start from €79 a month for 500 searches and reach €2,999 for 50,000. That is about €0.06 to €0.16 per search, per its [pricing page](https://serpempire.com/pricing/). - **Free test:** 50 searches over 7 days, with no card. **Where it differs:** prices are in euros and counted in searches. Its entry plan costs more than SearchSEO's, but it covers more platforms. See our [SerpEmpire alternatives](https://serplify.io/blog/best-serpempire-alternatives/) for a plan-by-plan view. **Best for:** monthly city-level campaigns. ### 4. Fix your titles and snippets The cheapest way to raise CTR is to make your result more worth clicking. Lead the title with the search term. Write a description that says what the page gives the reader. Add structured data so you can earn stars, prices or FAQ dropdowns. Google explains how it builds snippets in its [snippet guide](https://developers.google.com/search/docs/appearance/snippet). Our guide to [a good organic CTR](https://serplify.io/blog/what-is-a-good-organic-ctr/) shows the benchmark for each position, so you know which pages to fix first. **Best for:** every site. It costs nothing, and the gain lasts. ### 5. Test title ideas with Google Ads Want to know which of two titles earns more clicks? Run both as ad headlines on the same keyword for a week or two. Real searchers decide, and you get CTR data fast. Then use the winner as your title tag. Ad clicks cost money, and ad CTR is not the same as organic CTR. But every click comes from a real search. **Best for:** choosing between title ideas before you change a page. ## SearchSEO alternatives compared Prices come from each vendor's public page, checked October 2026. Plans and billing rules differ, so read the full terms before you buy. | Option | Who or what clicks | Price | How you pay | Engines | |---|---|---|---|---| | SearchSEO | Traffic bot on a residential network (per SearchSEO) | about $0.02 to $0.04 per click or search | Monthly plan, daily limit | Google, Bing, Yahoo, Amazon, eBay | | Serplify | Automated Chrome sessions | $0.04 per delivered click | Prepaid balance, per click | Google web search | | SerpClix | People in its network (per SerpClix) | about $0.15 to $0.36 per all-country click | Credit packs or monthly plan | Google, Maps, YouTube, Bing and more | | SerpEmpire | Automated browser sessions (per SerpEmpire) | about €0.06 to €0.16 per search | Monthly plan, in searches | Google, Maps, YouTube, Bing and more | | Title and snippet fixes | Real searchers | Free | Your time | All | | Google Ads headline test | Real searchers | You pay per ad click | Ad budget | Google | ## How to choose - **You want the lowest price at high volume:** stay with SearchSEO. - **You run small tests, or volume changes week to week:** Serplify bills only delivered clicks, with no monthly fee. - **You want clicks made by people:** SerpClix. - **You need city targeting or other search engines:** SerpEmpire or SearchSEO. - **You want more clicks with no risk:** fix titles and snippets first. ## How to test any of them Click data feeds Google's NavBoost system, but Google also filters clicks that look fake. Its [spam policies](https://developers.google.com/search/docs/essentials/spam-policies) count attempts to manipulate rankings as spam. So run any click tool as a small test, never as a ranking plan. Our post on [whether CTR affects rankings](https://serplify.io/blog/does-ctr-affect-seo-rankings/) covers the evidence. A fair test uses pages that already rank, a control group, and a success rule you write down first. The guide on [running an SEO traffic test](https://serplify.io/blog/how-to-run-seo-traffic-test/) walks through each step. Frequently asked questions: Q: What is the best SearchSEO alternative? A: For pay-per-click billing with no monthly plan, Serplify at $0.04 per delivered click. For clicks made by people, SerpClix, at a higher price. For city targeting on monthly plans, SerpEmpire. If you want a higher CTR without buying clicks, fix your titles and snippets. Q: Is SearchSEO a bot? A: SearchSEO calls its product a traffic bot that runs on a residential network of clickers. In other words, it is automated, like most tools in this space. Serplify is automated too: real Chrome browsers on residential and mobile connections. Q: How much does SearchSEO cost? A: Plans start at $29 a month for 25 clicks a day and go up to $589 a month for 1,000 searches a day, before VAT. Used in full, that is about $0.04 to $0.02 per click or search. There is a 3-day free trial (checked October 2026). Q: Does CTR traffic improve rankings? A: There is no guarantee. Google uses click data in its NavBoost system, but it also filters clicks that look fake. Treat any click tool as a test on pages that already rank, measured against a control group. Sources: - SearchSEO: Homepage with plans and features: https://searchseo.io/ - SerpClix: Pricing (credit packs and monthly plans): https://serpclix.com/pricing/ - SerpEmpire: Pricing: https://serpempire.com/pricing/ - Serplify docs: SEO traffic (CTR): https://docs.serplify.io/traffic-api/seo-traffic/ - Google Search Central: Control your snippets in search results: https://developers.google.com/search/docs/appearance/snippet - Google Search Central: Spam policies for Google web search: https://developers.google.com/search/docs/essentials/spam-policies --- # 6 SerpClix Alternatives for CTR Tests, Compared on Price and Click Type URL: https://serplify.io/blog/best-serpclix-alternatives/ Published: 2026-07-05 · Updated: 2026-10-09 > Compare 6 SerpClix alternatives for CTR tests on who or what makes the click, price per click and targeting. Prices checked October 2026, with sources. Key takeaways: - SerpClix says its clicks come from a network of more than 400,000 people. An all-country click costs 9 credits, or about $0.15 to $0.36 (checked October 2026). - Serplify, SearchSEO and SerpEmpire all use automated browser sessions instead. They cost less per click, and SearchSEO and SerpEmpire add city targeting. - Title rewrites and title split tests raise CTR with real searchers and no bought clicks. - No click tool can promise rankings. Run any test on pages that already rank, with a control group. The main SerpClix alternatives are Serplify, SearchSEO and SerpEmpire for search clicks. If you want a higher CTR without buying clicks, title rewrites, Google Ads headline tests and title split tests also work. The options differ most in who or what makes the click and what each click costs. SerpClix says a crowd of people search Google and click your listing. That makes it one of the pricier tools. An all-country click costs 9 credits, which works out to about $0.15 to $0.36 per click on its [pricing page](https://serpclix.com/pricing/) (checked October 2026). We make Serplify, one of the tools below. That is a conflict of interest, so we say where the others are cheaper or do more, and we link every price to its source. ## SerpClix at a glance - **Who clicks:** people in the SerpClix network, more than 400,000 of them according to its site. - **How you pay:** one-time credit packs from $100, or monthly plans from $197. Pack credits never expire. - **Price per click:** 9 credits for an all-country click, 17 credits for a click from one chosen country. - **Platforms:** Google Search, Maps, Images, YouTube, News and Video, plus Bing, DuckDuckGo and Brave. - **Free trial:** 7 days with 500 credits, about 55 all-country clicks. You enter payment details, but you are not charged during the trial. The table shows what a click costs at the low and high end. We divided credits by 9 for an all-country click. SerpClix shows its own rounded figures. | Purchase | Credits | All-country clicks | Cost per click | |---|---|---|---| | $100 pack (one-time) | 2,500 | about 278 | about $0.36 | | $1,000 pack (one-time) | 50,000 | about 5,556 | about $0.18 | | Starter plan, $197 a month | 6,000 | about 667 | about $0.30 | | Platinum plan, $2,497 a month | 150,000 | about 16,667 | about $0.15 | ## What any click tool can and cannot do Clicks are one of many inputs to Google's rankings. Google's NavBoost system learns from past clicks, but Google also filters clicks that look manipulated. Our post on [whether CTR affects SEO rankings](https://serplify.io/blog/does-ctr-affect-seo-rankings/) covers the evidence. Three rules apply to every tool on this list: - Test only pages that already rank near page one. Clicks on a page at position 40 test nothing. - Keep a control group of similar keywords that get no clicks. - Expect no ranking promise. Google's [spam policies](https://developers.google.com/search/docs/essentials/spam-policies) count attempts to manipulate rankings as spam. ## The 6 SerpClix alternatives ### 1. Serplify: automated Chrome clicks at $0.04, with rank data [Serplify's CTR test clicks](https://serplify.io/buy-seo-traffic/) are automated sessions in real Chrome browsers on residential and mobile connections. Each one searches Google for your keyword, finds your page, clicks it, and stays for the time you set. They are not people. - **Price:** $0.04 per delivered click, so 1,000 clicks cost $40. There is no subscription. Top-ups start at $25, and the balance never expires. - **Free misses:** searches that do not find your page are not billed. - **Controls:** country, device, time on page, pages per visit, pacing, and how many result pages to search (1 to 10). - **Rank data:** each delivered click records your Google position. The same balance pays for the SERP API at $0.005 per SERP, so you can check rank for a control group too. **Where SerpClix differs:** its clicks come from people, per its site. It works on many more platforms, while Serplify clicks run on Google web search only. It also has a free trial, while Serplify click projects start after a first top-up. Our $1 signup credit covers the SERP API only. **Best for:** teams that want pay-per-click billing and rank tracking in one account. ### 2. SearchSEO: a residential "traffic bot" with daily plans [SearchSEO](https://searchseo.io/) calls its product a traffic bot on a residential network. Its clickers search your keyword, look through the results until they find your page, and click. It works on Google, Bing and Yahoo, plus Amazon and eBay. - **Price:** monthly plans from $29 (25 clicks a day) to $589 (1,000 searches a day), before VAT. That is about $0.02 to $0.04 per click or search if you use the full daily limit. - **Targeting:** country and city. - **Free trial:** 3 days. **Where it beats SerpClix:** a much lower price per click, Yahoo, Amazon and eBay support, and city targeting. Our [SearchSEO alternatives](https://serplify.io/blog/best-searchseo-alternatives/) post breaks down each plan. **Best for:** steady daily click volume on a tight budget. ### 3. SerpEmpire: monthly search plans with city targeting SerpEmpire says it runs searches in real browsers on residential IPs, with modeled scrolling and page-to-page moves. It targets every country, down to the city. It covers Google web and Maps, YouTube, Bing, Yahoo, Baidu, Yandex and Amazon. - **Price:** plans start from €79 a month for 500 searches and reach €2,999 a month for 50,000. That is about €0.06 to €0.16 per search, on its [pricing page](https://serpempire.com/pricing/). - **Free test:** 50 searches over 7 days, no card needed. **Where it beats SerpClix:** a lower price per search and city-level targeting. More detail in our [SerpEmpire alternatives](https://serplify.io/blog/best-serpempire-alternatives/) post. **Best for:** monthly campaigns that need city targeting. ### 4. Rewrite your titles and descriptions You can raise organic CTR without buying a single click. Put the search term early in the title. Write a description that answers the search. Add structured data so you can earn rich results. Then compare CTR before and after in Search Console. Google's guide to [title links](https://developers.google.com/search/docs/appearance/title-link) explains how it picks the title it shows. Our post on [what a good organic CTR is](https://serplify.io/blog/what-is-a-good-organic-ctr/) lists seven fixes and the benchmark for each position. **Best for:** anyone. It is free, and the gain lasts. ### 5. Test headlines with Google Ads If you want to learn which title wins more clicks, a small Google Ads test gives fast answers from people who searched. Run two headlines on the same keyword and compare their CTR. Then try the winner as your title tag. Ad CTR is not organic CTR, and each click costs money. The price depends on the keyword. **Best for:** testing title ideas quickly with real searchers. ### 6. Split-test titles across many similar pages Sites with many pages of one type, such as products or locations, can change titles on half the pages. The other half stays the same as a control. Compare clicks and positions in Search Console over a few weeks. This tests CTR and rankings with real searchers and no bought clicks. It needs dozens of similar pages to give a clear answer. **Best for:** stores, directories and large content sites. ## SerpClix alternatives compared Prices come from each vendor's public page, checked October 2026. Plans and billing rules differ, so read the full terms before you buy. | Option | Who or what clicks | Price | Targeting | Free trial | |---|---|---|---|---| | SerpClix | People in its network (per SerpClix) | about $0.15 to $0.36 per all-country click | All countries or one country | 7 days, 500 credits | | Serplify | Automated Chrome sessions | $0.04 per delivered click | Country, device | No (the $1 credit is for the SERP API) | | SearchSEO | Traffic bot on a residential network (per SearchSEO) | about $0.02 to $0.04 per click or search | Country, city | 3 days | | SerpEmpire | Automated browser sessions (per SerpEmpire) | about €0.06 to €0.16 per search | Country, city | 50 searches | | Title rewrites | Real searchers | Free | n/a | n/a | | Google Ads headline test | Real searchers | You pay per ad click | Ad targeting | n/a | | Title split test | Real searchers | Free | n/a | n/a | ## Which SerpClix alternative should you pick? - **You want clicks made by people:** stay with SerpClix and pay more per click. - **You want the lowest cost per click at volume:** SearchSEO's larger plans. - **You need city targeting:** SearchSEO or SerpEmpire. - **You want no subscription and rank data in the same account:** Serplify. - **You want a higher CTR with no risk:** rewrite or split-test your titles. ## How to test whichever tool you pick Start small. Pick one page that ranks around positions 4 to 15, three to ten related keywords, and a control group that gets no clicks. Write your success rule before the clicks start, then watch Search Console for at least four weeks. Our step-by-step guide on [how to run an SEO traffic test](https://serplify.io/blog/how-to-run-seo-traffic-test/) covers the setup, the daily volume, and how to read the rank chart without fooling yourself. Frequently asked questions: Q: What is the best SerpClix alternative? A: For the lowest price per click at high volume, SearchSEO's larger plans. For city targeting, SearchSEO or SerpEmpire. For pay-per-click billing with rank checks on the same balance, Serplify at $0.04 per delivered click. If you only want a higher CTR, rewriting titles is free. Q: Are SerpClix clicks made by people? A: SerpClix says so. Its site says more than 400,000 people in its network search your keywords and click your listing. We have not checked this ourselves. Most alternatives, including Serplify, use automated browsers instead. Q: How much does SerpClix cost? A: SerpClix sells credits. Packs start at $100 for 2,500 credits, and monthly plans start at $197 for 6,000 credits. An all-country click costs 9 credits, so a click costs about $0.15 to $0.36 depending on the pack or plan (checked October 2026). Q: Is SerpClix safe for SEO? A: No click tool is free of risk. Google's spam policies treat attempts to manipulate rankings as spam, and Google filters clicks that look fake. If you test, use your own pages, small volumes and a control group, and never expect a ranking. Sources: - SerpClix: Pricing (credit packs and monthly plans): https://serpclix.com/pricing/ - SearchSEO: Homepage with plans and features: https://searchseo.io/ - SerpEmpire: Pricing: https://serpempire.com/pricing/ - Serplify docs: SEO traffic (CTR): https://docs.serplify.io/traffic-api/seo-traffic/ - Google Search Central: Spam policies for Google web search: https://developers.google.com/search/docs/essentials/spam-policies - Google Search Central: Influencing your title links: https://developers.google.com/search/docs/appearance/title-link --- # Does CTR Affect SEO Rankings? What NavBoost Shows and How to Test It URL: https://serplify.io/blog/does-ctr-affect-seo-rankings/ Published: 2026-07-05 · Updated: 2026-10-09 > Clicks can affect Google rankings, but not like a dial. See what NavBoost, the antitrust trial and the 2024 leak show, and how to run a CTR test that holds up. Key takeaways: - Google says it uses aggregated and anonymized interaction data to judge whether results fit a search. Clicks are part of that data. - In the 2023 US antitrust trial, Google's Pandu Nayak called NavBoost, a system built on past clicks, one of Google's important signals. - The 2024 leak of Google's API docs named click fields such as goodClicks and badClicks, plus squashed clicks that help filter click spam. It did not show how much they weigh. - A CTR test proves nothing without a control group of similar keywords that get no extra clicks. Clicks can affect Google rankings, but not as a simple dial you turn up. Google says it uses data on how people interact with results to judge relevance. Court testimony and a 2024 leak show a system called NavBoost that learns from clicks. Nobody outside Google knows how much CTR counts, and Google filters out clicks that look fake. CTR means click-through rate. It is the share of people who see your result and click it. If 1,000 people see your page in Google and 50 click, your CTR is 5 percent. Our guide on [how to calculate click-through rate](https://serplify.io/blog/how-to-calculate-click-through-rate/) has more worked examples, and our guide to [organic CTR by position](https://serplify.io/blog/what-is-a-good-organic-ctr/) has the benchmarks. ## Does CTR affect SEO rankings? The short answer **Clicks are one ranking input among many, and their weight is not public.** Three sources point the same way. | Source | Date | What it shows | |---|---|---| | Google's "How Search works" pages | Live today | Google uses "aggregated and anonymized interaction data" to judge if results fit a search | | US v. Google antitrust trial | October 2023 | Google's Pandu Nayak called NavBoost "one of the important signals that we have" | | Leaked Google API docs | May 2024 | Click fields such as goodClicks, badClicks and lastLongestClicks, tied to NavBoost | For years, Google staff said clicks were not used to rank pages. SparkToro's write-up of the leak lists several of those denials. The three sources above changed the debate. ## What Google says about clicks Google's own page on ranking says it uses "aggregated and anonymized interaction data" to check whether results are relevant. It turns that data into signals for its machine learning systems. You can read it on [Google's How Search works page](https://www.google.com/search/howsearchworks/how-search-works/ranking-results/). Interaction data is what searchers do on the results page, such as which result they click. Google does not list which parts it uses. It does not say how much they count either. ## What the antitrust trial showed: NavBoost In October 2023, Google search executive Pandu Nayak testified in the US government's antitrust case against Google. He said NavBoost is "one of the important signals that we have." [Semrush's NavBoost explainer](https://www.semrush.com/blog/navboost/) sums up the testimony and the later leak. NavBoost uses past clicks on search results to help rank pages. Reports on the trial and the leak say it: - keeps about 13 months of click data; - splits that data by the searcher's location and device; - treats some clicks as good signs and others as bad ones. So the same page can get a different lift on a phone in Chicago than on a laptop in London. That is one reason rankings differ by city and device. ## What the 2024 leak showed In May 2024, more than 2,500 pages of Google's internal API docs became public. Rand Fishkin of SparkToro [published the first look at them](https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/). The docs list 14,014 attributes. Several deal with clicks: - **goodClicks and badClicks:** clicks Google seems to sort into good and bad results for the searcher. - **lastLongestClicks:** likely the last result a searcher clicked and stayed on. - **Squashed and unsquashed clicks:** raw clicks versus clicks after a filter. Fishkin's source said this helps fight click spam, both manual and automated. The leak shows these fields exist. It does not show how much each one weighs, or if Google still uses it. Semrush notes that some of the meanings are guesses. ## What this means for your pages Three practical points follow from the evidence. 1. **Clicks only count where people see you.** NavBoost learns from clicks on results people see. A page on page five gets almost no clicks to learn from. 2. **A better title pays off either way.** A higher CTR at the same position means more visits today, even if rankings never move. 3. **Fake clicks are what Google filters.** The squashed click fields exist to discount clicks that look manipulated. Buying clicks to rank is a bet against that filter. Blocks above your result, like AI Overviews and ads, also pull clicks away. Our post on [SERP features](https://serplify.io/blog/serp-features-explained/) shows what each block does to CTR. ## Why most CTR tests prove nothing A common story goes like this. Someone sends extra clicks to a page. Two weeks later it moves up three spots, and they call it proof. But rankings move on their own all the time. New content, competitor changes, Google updates and demand all shift them. Our post on [why Google rankings fluctuate](https://serplify.io/blog/why-google-rankings-fluctuate/) covers the causes. Without a control group, you cannot tell if the clicks worked or if the page would have moved anyway. A control group is a set of similar keywords that get no extra clicks. If the test keywords move and the control keywords stay put, you have a signal. If both move together, you saw normal noise. ## How to design a CTR test you can trust ### Step 1: pick pages that already rank Choose keywords where your page sits around positions 4 to 15. Clicks there look normal, and there is room to move. Check the current position from a fixed city and device, signed out. Our guide on [checking your Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) shows four ways to do it. ### Step 2: split keywords into two groups Take 10 to 20 similar keywords from the same site. Split them at random. The test group gets the clicks. The control group gets nothing new. Both groups should have the same intent and similar positions. ### Step 3: write the success rule first Decide what counts as a result before you start. For example, the test group must gain at least three average positions more than the control group. It must also hold that gain for two weeks after the clicks stop. Writing this down first stops you from explaining away a weak result later. ### Step 4: measure with first-party data Track impressions, clicks, CTR and average position for each keyword in [Google Search Console](https://support.google.com/webmasters/answer/7576553). Check rank for both groups from the same location and device each week. Write down every change you make to the pages. ### Step 5: run it for weeks, then report what you found Give the test weeks, not days, since NavBoost is reported to use months of data. Many tests end with "no clear change." That is a real result. It tells you to spend the money on titles, content and links. To run the click side, you can [set up the test in Serplify step by step](https://serplify.io/blog/how-to-run-seo-traffic-test/). That guide covers keyword groups, daily volume, the control group and stop rules. ## What CTR testing cannot do - **It cannot promise rankings.** Clicks are one input among many. Anyone who promises a ranking from clicks is guessing. - **It does not replace a good page.** The surest way to earn good clicks is a page that answers the search. - **It carries risk.** Google's [spam policies](https://developers.google.com/search/docs/essentials/spam-policies) count attempts to manipulate rankings as spam. Sites that break them can rank lower or drop out of results. The same page lists automated queries to Google as machine-generated traffic. So test only on your own pages, keep the volume small, and treat the result as one data point. ## Where Serplify fits Serplify sells [CTR test clicks](https://serplify.io/buy-seo-traffic/) for the click step. Each click is an automated session in a real Chrome browser on a residential or mobile connection. It searches Google for your keyword, finds your page, clicks it, and stays for the time you set. These are test clicks, not customers. Clicks cost $0.04 each, and only delivered clicks are billed. Click projects start after a first top-up of $25. The $1 signup credit covers the SERP API, which you can use to check rank for both groups at $0.005 per SERP. If you are comparing click tools, our list of [SerpClix alternatives](https://serplify.io/blog/best-serpclix-alternatives/) sets out prices and click types side by side. Frequently asked questions: Q: Is CTR a Google ranking factor? A: Not in a simple, direct way. Google says it uses aggregated interaction data to judge relevance, and trial testimony named NavBoost, a system built on click data. But Google filters clicks that look fake, and no public source says how much clicks weigh. Q: What is NavBoost? A: NavBoost is a Google system that uses past clicks on search results to help rank pages. Google's Pandu Nayak described it in the 2023 US antitrust trial. Reports on the trial and the 2024 leak say it keeps about 13 months of click data and splits it by location and device. Q: What does a higher CTR indicate? A: It means more of the people who saw your result chose to click it. That usually points to a title and snippet that match what the searcher wants. Compare it with the typical CTR for your position before you call it good. Q: Can increasing CTR improve rankings? A: Sometimes, on pages that already rank near the top and deserve the click. There is no guarantee. Google discounts clicks that look manipulated, so the safe way to raise CTR is a better title and snippet. Q: How long should a CTR test run? A: Plan for at least four weeks of clicks plus two weeks of follow-up. NavBoost is reported to use months of data, and rankings move on their own from week to week. A short test mostly measures noise. Sources: - Google Search: How results are automatically generated (ranking results): https://www.google.com/search/howsearchworks/how-search-works/ranking-results/ - Semrush: What Is Google's Navboost Algorithm? (January 2025): https://www.semrush.com/blog/navboost/ - SparkToro: An anonymous source shared thousands of leaked Google Search API documents (May 2024): https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/ - Google Search Central: Spam policies for Google web search: https://developers.google.com/search/docs/essentials/spam-policies - Google Search Console Help: Performance report: https://support.google.com/webmasters/answer/7576553 --- # How to Calculate Click-Through Rate (CTR): Formula, Examples and a Free Calculator URL: https://serplify.io/blog/how-to-calculate-click-through-rate/ Published: 2026-10-09 > The click-through rate formula is clicks divided by impressions, times 100. See worked examples, use the free CTR calculator, and avoid the common mistakes. Key takeaways: - The click-through rate formula is clicks ÷ impressions × 100. So 45 clicks from 1,500 impressions is a 3% CTR. - To find the clicks you need, turn it around: target CTR × impressions ÷ 100. A 5% CTR on 1,500 impressions takes 75 clicks. - For an average CTR, divide total clicks by total impressions. Averaging the percentages can give a number five times too high. - Search Console and Google Ads divide by impressions. Email tools usually divide by delivered emails, so check the bottom number before you compare. To calculate click-through rate (CTR), divide clicks by impressions and multiply the result by 100. If your link was seen 1,500 times and clicked 45 times, your CTR is 45 ÷ 1,500 × 100 = 3%. The same formula works for Google results, for ads and for emails. CTR tells you how often people who see a link decide to click it. It does not tell you whether those clicks were worth anything, which is a different number that we cover further down. ## The click-through rate formula **CTR = clicks ÷ impressions × 100** - **Clicks** are the number of times people clicked your link, ad or button. - **Impressions** are the number of times your link was shown to someone. - **× 100** turns the small decimal answer into a percent that is easy to read. Google uses this exact formula in its own tools. Search Console defines CTR as clicks divided by impressions. The Google Ads help page uses the same math, with this example: 5 clicks from 100 impressions is a 5% CTR. ### Worked examples Here are four made-up cases. They show how the math works, not what a good result looks like. | Where | Clicks | Times shown | Math | CTR | |---|---|---|---|---| | A page in Google search | 45 | 1,500 impressions | 45 ÷ 1,500 × 100 | 3% | | A Google ad | 5 | 100 impressions | 5 ÷ 100 × 100 | 5% | | An email | 25 | 1,000 delivered | 25 ÷ 1,000 × 100 | 2.5% | | A banner on your blog | 12 | 4,000 page views | 12 ÷ 4,000 × 100 | 0.3% | Look closely at the email row. The bottom number there is the count of emails delivered, not impressions, and we explain why that matters below. ### Turn the formula around The same three numbers can answer two more questions when you move them around. - **Clicks you need** = target CTR × impressions ÷ 100. To reach a 5% CTR on 1,500 impressions, you need 75 clicks. - **Impressions you need** = clicks ÷ CTR × 100. To get 300 clicks at a 2% CTR, you need 15,000 impressions. The first version is handy when you set goals. If a page gets 45 clicks today at a 3% CTR, a 5% CTR would mean 30 more clicks from the same impressions. ## Free CTR calculator Type your own numbers into the boxes below. Commas are fine, and the answer updates as you type. The first part finds your CTR from clicks and impressions. The second part finds how many clicks a target CTR takes, and it rounds up because you cannot get half a click. ## Where to find your clicks and impressions Each tool counts a little differently. Always take both numbers from the same tool and for the same dates. ### Google Search Console (organic search) 1. Open **Performance**, then **Search results**. 2. Turn on **Total clicks**, **Total impressions** and **Average CTR** at the top of the chart. 3. Pick the date range you want to measure. 4. Click the **Queries** or **Pages** tab to see the CTR for each row. Google counts an impression when your link is on the results page, even if the searcher never scrolled down far enough to see it. Carousels work differently, because there an item must be scrolled into view before it counts. That is one reason a result far down the page often has a low CTR: many people never saw it. The web report is fine for a quick look. To pull your queries into a sheet in bulk, use the [Search Console API](https://serplify.io/blog/google-search-console-api/). ### Google Ads Open **Campaigns**, **Ads** or **Keywords** and read the **Clicks**, **Impr.** and **CTR** columns. If one is missing, add it from the columns menu. Each ad, keyword and free product listing gets its own CTR, so you can compare them side by side. ### Email tools Email CTR usually divides clicks by the number of **delivered** emails. Campaign Monitor describes it as clicks divided by emails sent minus bounces. Some tools count each person only once (unique clicks), while others count every single click. Some tools also show clicks per open, which divides by opens instead of deliveries. Opens can never be more than deliveries, so that rate is never lower than the CTR. Do not compare it with a CTR from another tool. ## What a CTR number tells you CTR shows how well your link wins the click from the people who saw it. Whether a number is good depends on where it showed up and what sat around it. For Google search, your position is the biggest factor. A 3% CTR is weak for the first result but strong near the bottom of page one. Our [CTR benchmarks by Google position](https://serplify.io/blog/what-is-a-good-organic-ctr/) show what to expect at each spot. For ads, Google's own help page says a good CTR depends on what you advertise and on which network. ### Clicks vs CTR Clicks are a count, while CTR is a share of the times you were seen. The two can move in opposite directions. | Month | Clicks | Impressions | CTR | |---|---|---|---| | March | 30 | 1,000 | 3% | | April | 50 | 2,500 | 2% | April brought more clicks but a lower CTR. That often happens when a page starts to show up for new searches lower on the page, and it is not a problem by itself. ### CTR vs conversion rate (CVR) CTR measures the click. Conversion rate measures what people do after they click. **CVR = conversions ÷ clicks × 100** Say an ad gets 1,000 impressions and 40 clicks, which is a 4% CTR. If 2 of those 40 people sign up, the CVR is 2 ÷ 40 × 100 = 5%. A high CTR with a low CVR often means the ad promised something that the page did not deliver. ## How to find your average CTR Add up all the clicks, add up all the impressions, and then divide. Do not take the average of the percentages. | Page | Clicks | Impressions | CTR | |---|---|---|---| | Page A | 1 | 10 | 10% | | Page B | 100 | 10,000 | 1% | | Both pages | 101 | 10,010 | 1.01% | The simple average of 10% and 1% is 5.5%. The real CTR across both pages is 1.01%, so the tiny page pushed the simple average up more than five times. ## Common mistakes when calculating CTR 1. **Averaging percentages.** Use the totals instead, as shown above. 2. **Mixing date ranges.** Clicks from one week and impressions from a whole month give a number that means nothing. 3. **Mixing bottom numbers.** Sent, delivered and opened emails give three different rates for the same campaign. 4. **Trusting tiny samples.** With 10 impressions, one extra click moves your CTR by 10 points. With 1,000 impressions, it moves it by only 0.1 points. 5. **Ignoring position.** A drop in CTR is often a drop in ranking. [Check your Google ranking](https://serplify.io/blog/how-to-check-google-rankings/) for the query before you rewrite a title. 6. **Forgetting to multiply by 100.** 45 ÷ 1,500 is 0.03, which is 3% and not 0.03%. 7. **Dividing the wrong way.** Impressions ÷ clicks gives 33.3, and that is not a CTR at all. ## Testing whether CTR changes rankings Some people want to know if a higher CTR moves a page up in Google. It is a debated question, and the only fair way to answer it is a test with a control group. Our post on [whether CTR affects rankings](https://serplify.io/blog/does-ctr-affect-seo-rankings/) covers the evidence and how to set up that kind of test. If you run one, Serplify's [SEO traffic tool](https://serplify.io/buy-seo-traffic/) can send the test clicks. Each one is an automated session in a real Chrome browser that searches Google, finds your result and clicks it. The tool records the positions it sees along the way, and it does not promise a ranking change. Frequently asked questions: Q: What is the formula for calculating CTR? A: CTR equals clicks divided by impressions, times 100. If your link was shown 2,000 times and clicked 50 times, your CTR is 50 ÷ 2,000 × 100 = 2.5%. Google Search Console and Google Ads both use this formula. Q: What is the difference between clicks and CTR? A: Clicks are a count. CTR is a share: the clicks you got out of the times you were seen. Your clicks can go up while your CTR goes down, for example when you start to show for many more searches lower on the page. Q: What is the difference between CTR and CVR? A: CTR measures how many people clicked after seeing your link. CVR, the conversion rate, measures how many of those clickers then bought, signed up or did the thing you wanted. CVR is conversions ÷ clicks × 100. Q: Is 1.2% a good CTR? A: It depends on where you measured it. For the top organic result on Google, 1.2% is low. Near the bottom of page one it can be normal. Compare it with the benchmark for your position in our guide to what a good organic CTR is. Q: How do I find my average CTR? A: Add up all your clicks. Add up all your impressions. Divide the first total by the second and multiply by 100. Do not average the CTR percentages of each page or ad, because small pages then count as much as big ones. Sources: - Google Search Console Help: What are impressions, position, and clicks?: https://support.google.com/webmasters/answer/7042828 - Google Search Console Help: Performance report (Search results): https://support.google.com/webmasters/answer/7576553 - Google Ads Help: Clickthrough rate (CTR): https://support.google.com/google-ads/answer/2615875 - Campaign Monitor: What is click-through rate and how can CTR be calculated?: https://www.campaignmonitor.com/resources/knowledge-base/what-is-click-through-rate-how-can-ctr-be-calculated/ --- # How to Run an SEO Traffic Test and Track Google Rankings With Serplify URL: https://serplify.io/blog/how-to-run-seo-traffic-test/ Published: 2026-08-12 · Updated: 2026-10-09 > How to run an SEO traffic test: pick a page that ranks, choose keywords, set a small daily click target, add a control group, and read the rank history. Key takeaways: - Start with one question, one page, and three to ten related keywords that already rank within the search depth you set. - Keep a control group of similar keywords that get no clicks, and write the success rule before the first click. - Serplify bills $0.04 per delivered click, and searches that miss your page are free. Click projects start after a first top-up, since the $1 signup credit covers the SERP API only. - Read the daily rank chart next to Search Console. One day is a snapshot, and a missing day is a gap, not a zero. To run an SEO traffic test, pick one page that already ranks and three to ten related keywords. Send a small, steady number of search clicks for about four weeks, and compare the result with a control group that gets no clicks. An SEO traffic test checks one thing: whether more organic clicks change a page's visibility. A click here means a search for your keyword that ends on your page. You might also learn whether a page is found from one country, or how rank and delivery move over time. [Serplify SEO Traffic](https://serplify.io/buy-seo-traffic/) gives you one place to set the keywords, target, country, daily volume, browsing behavior and schedule. Each click is an automated session in a real Chrome browser on a residential or mobile connection. It also records the Google position it saw on each delivered click. The steps below keep a noisy ranking chart from turning into a false conclusion. ## Before you start: choose one question Write one sentence that your test will answer. For example: > If this page receives a steady number of relevant SERP clicks for four weeks, does its average position move differently from similar pages that receive no test traffic? That sentence sets healthy limits. It tells you the page, time period, treatment, and comparison. It also keeps you from changing five things at once. Google's own help page says to focus more on trends in impressions and clicks than on position alone. Search Console's position is the average top position your site held, so it blends many searchers, places and devices into one number. The [Search Console performance guide](https://support.google.com/webmasters/answer/17010961?hl=en) is useful background before you read any rank chart. ## Step 1: choose a page that already fits the keywords Your target page should answer the search intent. If the keyword is `best trail running shoes`, the page should help someone compare trail shoes. A weak match creates a bad test because searchers would have little reason to choose or stay on the page. Start with a page that already ranks within the depth you can search. If the page is not visible in the first ten result pages, a click project cannot reliably find it. Use the [SERP API](https://serplify.io/serp-api/) or the Serplify Playground to check the current position first. Our guide on [how to check Google rankings](https://serplify.io/blog/how-to-check-google-rankings/) covers other ways, including Search Console. Choose whether the target should be: - a **domain**, which allows any page on that site to match; or - a **full URL**, which only accepts that exact page. Use a full URL for a page-level experiment. Use a domain only when the test is about the whole site or when Google may choose between two relevant pages. ## Step 2: create the project Sign in at [app.serplify.io](https://app.serplify.io) and open **Projects**. 1. Select **New Project**. 2. Choose **SEO Traffic**. 3. Enter a plain project name, such as `Trail shoes, category page`. 4. Add the target domain or full URL. 5. Set a small daily click target. 6. Choose the country. 7. Add one keyword per line. 8. Create the project. The daily target is split across the keywords. A project with five keywords and a daily target of ten clicks will spread work across those keywords. You can fine-tune the list later. Click projects start after your first top-up, from $25. The $1 signup credit works for the SERP API only, so it cannot launch a click project. You pay $0.04 for each delivered click, and searches that miss your page are free. ## Step 3: use a focused keyword group Begin with **three to ten closely related keywords**. A short list makes each result easier to explain. Good groups share the same page and search intent: - `trail running shoes` - `best shoes for trail running` - `women's trail shoes` - `waterproof trail running shoes` A poor group mixes different needs: - `trail running shoes` - `how to train for a marathon` - `running store near me` - `shoe repair kit` Those queries may belong to different pages. Mixing them hides which topic produced a change. Use Search Console to find queries that already show impressions for the page. A query with impressions but a modest CTR can be a better test candidate than a term for which the page has never appeared. To judge "modest", compare it with the [typical CTR for that position](https://serplify.io/blog/what-is-a-good-organic-ctr/). ## Step 4: set a conservative daily target Do not begin with the largest number your balance allows. Start with a volume that fits the page's normal visibility. If a page receives about 20 organic impressions a day, adding 100 daily clicks would create an impossible pattern. A small treatment is easier to observe and less likely to overwhelm the baseline you are trying to measure. A practical test has three stages: 1. **Baseline:** record normal rank, impressions, clicks, and CTR before delivery. 2. **Treatment:** run a steady project without changing the page. 3. **Follow-up:** stop the treatment and keep measuring. The exact volume depends on the query. The important rule is consistency. A stable daily plan teaches you more than a sharp burst followed by silence. The cost is easy to work out. Five keywords at two clicks each is ten clicks a day. Over 28 days that is 280 clicks, or $11.20 at $0.04 per click. ## Step 5: review the configuration Open the new project and choose **Configuration**. Serplify gives you controls for the country, daily target, device, visit duration, pages per visit, scrolling, internal navigation, schedule, and search depth. For a first test: - Match the **country** to the market you measure in Search Console. - Match the **device** to the device segment you care about. - Use **Distributed** delivery instead of one large burst. - Keep a clear daily schedule in the target market's timezone. - Use realistic but not identical visit-duration and browsing ranges. - Set **Search max pages** deep enough to find the current ranking, not as a way to chase a page that does not rank. Changes apply to future clicks. Record any change and its date. A chart becomes difficult to read when the targeting or daily volume changes with no note. ## Step 6: add a control group Rankings move even when you do nothing. Google updates results, competitors edit pages, links appear, and demand changes. Our post on [why Google rankings fluctuate](https://serplify.io/blog/why-google-rankings-fluctuate/) lists the usual causes. That is why a treatment page needs a comparison. Choose similar pages or keywords that will not receive the SEO traffic treatment. Keep their normal SEO work the same. Compare the two groups over the same period. | Group | What happens | |---|---| | Treatment | Receives the planned Serplify clicks | | Control | Receives no Serplify clicks | Do not edit titles, add links, rewrite copy, and change the treatment traffic during the same test. If you do, you will not know which change mattered. Our post on [whether CTR affects SEO rankings](https://serplify.io/blog/does-ctr-affect-seo-rankings/) explains the evidence, the control group and pre-set success rules in more detail. ## Step 7: read the project overview The **Overview** tab reports what the system delivered. Key cards include: - **Delivered:** successful clicks recorded for the current target period. - **Target:** the daily or purchased goal. - **Remaining:** work still needed to reach that goal. - **Avg Duration:** time recorded during delivered visits. - **Avg Position:** the target position observed during successful search clicks. The delivery timeline shows when clicks completed. The rank section shows daily observations over 7, 30, or 90 days. Remember that a lower rank number is better. Position 3 is above position 8. ## Step 8: read ranking history without fooling yourself The **Daily ranking history** chart includes the project average and optional lines for individual keywords. It also tells you how many days and keywords have measurements. Use these rules: - One day is a snapshot, not a trend. - Two days show movement, not a proven cause. - Missing days are gaps, not zero rankings. - An average can hide one keyword rising while another falls. - Compare the Serplify observation with Search Console trends for clicks and impressions. Serplify records a position when a delivered SEO click finds the target. Search Console reports an average position across impressions and uses its own aggregation rules. The two numbers answer different questions, so they should be read together rather than forced to match. ## Step 9: handle "target not ranking" If repeated searches cannot find the target within the configured depth, Serplify may mark a keyword or project as **target not ranking**. This is useful evidence, not a billable failure. Check four things: 1. Is the target URL correct and publicly reachable? 2. Does the keyword match the page? 3. Is the selected country correct? 4. Is the search depth deep enough for the position you measured before launch? Failed searches are not charged. Fix the input, re-enable the keyword, and resume only after you confirm the page can be found. Raising the depth cannot create a ranking that does not exist. ## Step 10: decide the result before seeing it Write the success rule before the test begins. For example: - Treatment pages improve by at least three average positions more than control pages. - The improvement lasts for two weeks after treatment stops. - Impressions or clicks move in the same direction in Search Console. Also write the failure rule. A valid result may be "no clear change". That answer can save money and stop a false belief from guiding later campaigns. ## What this test can and cannot prove The project can prove that Serplify delivered recorded clicks, observed the target at certain positions, and produced a measurable time series. A well-designed treatment and control can show a useful relationship. It cannot guarantee that clicks caused a ranking change. Google's systems use many signals, and nobody outside Google can isolate every factor. Treat the result as evidence from one experiment, not a universal rule. It also carries risk. Google's [spam policies](https://developers.google.com/search/docs/essentials/spam-policies) count attempts to manipulate rankings as spam. Test only pages you own, keep the volume small, and never treat clicks as a ranking plan. ## Quick launch checklist - [ ] One clear question - [ ] One relevant page - [ ] Three to ten matching keywords - [ ] Baseline data saved - [ ] Treatment and control chosen - [ ] Country and device fixed - [ ] Conservative daily target - [ ] Success and stop rules written down - [ ] Search Console comparison planned With that list done, you have a test you can repeat. Its limits are clear, and its ranking history is one you can explain to someone else. Frequently asked questions: Q: What does a Serplify SEO Traffic project do? A: It runs Google searches for the keywords you choose in real Chrome browsers, looks for your target domain or URL, clicks the result when found, and records delivery and the position it saw. The sessions are automated. It is a testing tool, not a promise of higher rankings. Q: What happens if my page does not rank for a keyword? A: Serplify can mark the keyword as target not ranking after repeated searches fail to find it within the search depth you set. Failed searches are not charged. Fix the target, keyword, country or search depth, then re-enable the keyword and resume the project. Q: How many keywords should I add to an SEO traffic test? A: Start with a small, closely related group. Three to ten keywords are easier to check than a large mixed list. Each keyword should match the page's topic, and the page should already appear within the search depth you plan to use. Q: How much does an SEO traffic test cost? A: Serplify charges $0.04 per delivered click. Ten clicks a day for 28 days is 280 clicks, or $11.20. Click projects start after a first top-up, from $25, and the balance never expires. Q: Does Serplify guarantee a ranking increase? A: No. Rankings change for many reasons, and a traffic test cannot prove that clicks caused a change unless it has a control group and enough data. Serplify reports delivered clicks and observed positions. It does not promise a ranking. Sources: - Serplify docs: SEO traffic (CTR): https://docs.serplify.io/traffic-api/seo-traffic/ - Google Search Console Help: Performance report, common tasks and use cases: https://support.google.com/webmasters/answer/17010961?hl=en - Google Search Central: Spam policies for Google web search: https://developers.google.com/search/docs/essentials/spam-policies --- # What Is a Good Organic CTR? Click-Through Rate by Position and How to Improve Yours URL: https://serplify.io/blog/what-is-a-good-organic-ctr/ Published: 2026-09-06 · Updated: 2026-10-09 > Organic CTR is the share of searchers who see your result and click it. See the benchmark for each Google position and seven ways to lift yours. Key takeaways: - Organic CTR is clicks divided by impressions for a result in Google. A 'good' CTR depends almost entirely on position and on what else is on the page. - First Page Sage's September 2026 update puts the first organic result at 22.6 percent CTR when no AI answer shows, but only 3.6 percent when one does. Blended, it is 7.1 percent. - In our September 2026 sample of 200 US pages, a plain website held the first spot on only 14.5 percent of pages. Blocks above you take clicks that position alone does not explain. - Judge your CTR against your own position and query type in Search Console, not against a single average. - Titles, descriptions, rich results, and matching the searcher's intent lift CTR without any ranking change. Your page ranks fourth for a keyword with 10,000 searches a month. How many of those people should be clicking it? If you do not know the answer, you cannot tell whether the page is doing well or leaving traffic on the table. Here are the benchmarks by position, split by whether Google shows an AI answer. You will also see why your number can be fine and still fall, and the changes that raise CTR without moving a single ranking. ## What organic CTR is **Click-through rate** is clicks divided by impressions. If your result appeared in 1,000 searches and 50 people clicked it, your CTR is 5 percent. Our guide on [how to calculate click-through rate](https://serplify.io/blog/how-to-calculate-click-through-rate/) walks through the formula with more examples. **Organic CTR** is that number for unpaid results. Google Search Console reports it for every query and page: open **Performance**, then **Search results**, and turn on **CTR** and **Average position**. CTR is the bridge between rankings and traffic. Two pages at the same position can get very different traffic because one earns more clicks per impression. That is what makes it worth improving. ## Organic CTR by position The best current numbers come from First Page Sage, which updated its study on September 22, 2026. It now splits every position by one thing: whether Google showed an AI answer, such as an AI Overview, on the page. | Position | No AI answer | AI answer present | Blended | |---|---|---|---| | 1 | 22.6% | 3.6% | 7.1% | | 2 | 10.2% | 1.4% | 3.0% | | 3 | 5.8% | 0.8% | 1.7% | | 4 | 3.7% | 0.5% | 1.1% | | 5 | 2.5% | 0.3% | 0.7% | | 6 | 1.8% | 0.3% | 0.6% | | 7 | 1.3% | 0.2% | 0.4% | | 8 | 0.9% | 0.2% | 0.3% | | 9 | 0.7% | 0.1% | 0.2% | | 10 | 0.5% | 0.1% | 0.2% | The AI answer is the biggest factor in the table. At position 1, a page with an AI answer above it gets about one sixth of the clicks of a page without one. These numbers are much lower than older studies. First Page Sage's own May 2025 report put position 1 at 39.8 percent. Backlinko's study of 4 million results found 27.6 percent, and that the top three results took 54.4 percent of clicks. The shape is the same in every study: clicks fall fast as you move down the page. So the first answer to "what is a good CTR" is: **it depends on where you are and what sits above you**. A 5 percent CTR is weak at position 1 on a page with no AI answer. It is strong at position 1 under an AI Overview. ## Why the same position gets different CTRs Position explains most of the variation. Four other things explain the rest. ### What sits above you Studies count organic position. The page counts everything. In our September 2026 sample of 200 US result pages, a normal website held the very first spot on only 14.5 percent of pages. AI Overviews appeared on 68.5 percent, People Also Ask on 93 percent. Our larger [AI Overviews study](https://serplify.io/blog/google-ai-overviews-study/) from October 2026 found them on 77 percent of 494 US searches. On a how-to query, "organic rank 1" is usually the second or third block a searcher sees. The table above shows what that costs: an AI answer cuts position 1 from 22.6 percent to 3.6 percent. That is why your rank-one CTR can be 20 percent on one query and 8 percent on another. Our [SERP features guide](https://serplify.io/blog/serp-features-explained/) covers each block and what it does to clicks. ### The kind of query - **Brand queries** have very high CTR for the brand and very low CTR for everyone else. The brand's result can also carry [sitelinks](https://serplify.io/blog/what-are-sitelinks/), extra links that make it take up more of the page. - **Questions with a short answer** have low CTR for all results, because the page answers them. - **Comparison and "best X" queries** spread clicks across several results, so position one gets less and position five gets more than the averages. - **Local queries** send most clicks into the map pack. ### Device Mobile screens show fewer results at once and more feature blocks. CTR for lower positions tends to be worse on phones. Check the Devices tab in Search Console. ### Your snippet Two results at the same position with the same competition can differ by half, based only on the title and description Google shows. This is the part you control. ## How to judge your own CTR Do not compare to a single average. Do this instead. 1. In Search Console, filter to one query or one page. 2. Note the average position over the last 28 days. 3. Compare the CTR to the benchmark row for that position. 4. Open the real results page for the query, on the device most of your impressions come from. Count the blocks above you. If an AI Overview or a map sits above, lower your expectation. 5. Mark pages that are well below the adjusted benchmark. Those are your list. To see the page as searchers see it, not your personalized version, use a private window with the location set, or a rank tracker. ## Seven ways to improve organic CTR None of these require a ranking change. Most take under an hour per page. ### 1. Put the query in the title, early Google bolds terms that match the search. A title that leads with the query gets the bold text where the eye lands. Keep it under about 60 characters so it does not get cut off. ### 2. Write a description that answers, then invites The meta description is not a ranking factor, but Google uses it for the snippet more often than not. Write one or two sentences that say what the page delivers and why this one. Include the query. Google may rewrite it, but it starts from yours. ### 3. Add a number or a year where it is true "9 fixes", "2026", "in 7 steps". Specific titles get more clicks than vague ones. Only do it when the page really contains nine fixes. ### 4. Earn rich results Stars, prices, FAQ dropdowns, and how-to steps make a result taller and more visible. They come from structured data on the page. Google's structured data gallery lists what is available for each content type. ### 5. Match the searcher's intent If the top results are all guides and yours is a product page, your CTR will lag no matter what the title says. Match the format. A short [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/) tells you the format for any query. ### 6. Win a spot in People Also Ask The question box appears on 93 percent of pages in our sample and often sits above the second organic result. A page that answers one of those questions directly gets a second listing on the page. Our guide on [finding SERP feature opportunities](https://serplify.io/blog/how-to-find-serp-feature-opportunities/) shows how. ### 7. Build recognition People click names they know. Over time, consistent branding in titles and a presence where your audience already is raises CTR across every query. It is slow, and it works. ## What to do after CTR goes up Watch two things. First, that the extra clicks stay: read [how to reduce bounce rate](https://serplify.io/blog/how-to-reduce-bounce-rate/) if visitors arrive and leave. Second, whether rankings move. Some SEOs believe a higher CTR at a given position nudges Google. The evidence is mixed, and most "tests" of it are badly designed. Our post on [whether CTR really moves rankings](https://serplify.io/blog/does-ctr-affect-seo-rankings/) covers what Google's NavBoost system and the 2024 leak show. To find out for your own pages, [run a controlled CTR test](https://serplify.io/blog/how-to-run-seo-traffic-test/) with control keywords and Search Console data. Tools that send [test clicks for CTR experiments](https://serplify.io/buy-seo-traffic/) can supply the extra clicks, but none of them can promise a ranking. Either way, the traffic from a better CTR is real on day one. Frequently asked questions: Q: What is a good CTR for organic search? A: It depends on your position and on whether Google shows an AI answer. First Page Sage's September 2026 data puts position 1 at 22.6 percent with no AI answer and 3.6 percent with one. Position 5 gets 2.5 or 0.3 percent. A good CTR is one that beats the benchmark for your position and page type in Google Search Console. Q: What is the average CTR by Google position? A: Blended across pages with and without AI answers, First Page Sage's September 2026 data gives position 1 at 7.1 percent, 2 at 3.0, 3 at 1.7, 4 at 1.1, 5 at 0.7, 6 at 0.6, 7 at 0.4, 8 at 0.3, and 9 and 10 at 0.2 percent. On pages with no AI answer, position 1 gets 22.6 percent. Older studies, such as Backlinko's, found 27.6 percent for position 1. Q: Why is my CTR low even though I rank first? A: Something above you is taking the clicks. An AI Overview, a featured snippet, ads, a map pack, or a People Also Ask block can sit between the top of the page and your result. Brand queries and queries Google answers directly also produce low CTR at rank one. Check the results page, not just the position. Q: Where do I see my organic CTR? A: In Google Search Console, open Performance, then Search results, and turn on the CTR and Average position metrics. Filter by query or page. CTR there is clicks divided by impressions as Google measured them. Q: Does improving CTR improve rankings? A: It is debated. Google has said it uses click data in some ways and has denied CTR is a simple ranking factor. What is not debated is that a higher CTR at the same position is more traffic. Treat CTR as a lever for clicks first, and read our post on testing whether it moves rankings before you assume more. Sources: - First Page Sage: Google click-through rates by ranking position (updated September 22, 2026): https://firstpagesage.com/reports/google-click-through-rates-ctrs-by-ranking-position/ - Backlinko: organic CTR study of 4 million search results: https://backlinko.com/google-ctr-stats - Google Search Console Help: Performance report: https://support.google.com/webmasters/answer/7576553 - Google Search Central: Control your snippets in search results: https://developers.google.com/search/docs/appearance/snippet --- # Best SparkTraffic alternatives for test visits and ad reach URL: https://serplify.io/blog/best-sparktraffic-alternatives/ Published: 2026-07-05 · Updated: 2026-10-09 > SparkTraffic now sells ad-based visits by the credit. Compare 5 alternatives for test visits or ad reach, with prices checked October 2026 and who costs less. Key takeaways: - SparkTraffic's pricing page now describes an ad platform: visits come from display, native and pop-under ads on partner sites (checked October 9, 2026). - It sells credits from $0.08 per 1,000, and one visit can use more than one credit. Compare the price per visit, not per credit. - For automated test visits, Traffic Creator is the cheapest option here. Serplify costs more, but bills only delivered visits and shares a balance with a SERP API. The best SparkTraffic alternatives are Traffic Creator, Serplify, Babylon Traffic, Traffic Masters and Google Ads. Pick by job. For automated visits to test a page or GA4, start with Traffic Creator or Serplify. For reach from ads on other sites, Traffic Masters is closest to what SparkTraffic sells now. SparkTraffic has changed. Its [pricing page](https://www.sparktraffic.com/pricing) now calls it an advertising platform. Visits come from ads on partner publisher sites, and the price is set in credits, not visits. So the right alternative depends on which of those two things you wanted. We checked every price below on each vendor's public page on **October 9, 2026**. We sell one of these products (Serplify), so we link each source and say where others cost less. ## SparkTraffic alternatives at a glance | Option | Starting price | Unit sold | How visits are made | Cheaper per unit than Serplify? | |---|---|---|---|---| | **SparkTraffic** | $0.08 per 1,000 credits | Credits | Ads on publisher sites | Yes per credit, but a visit can use several | | **Traffic Creator** | $19.95 for 60,000 visits | Visits | Browser-simulated sessions | Yes, about $0.33 per 1,000 | | **Serplify** | $2 per 1,000 delivered visits | Delivered visits | Automated sessions in real Chrome browsers | Baseline (our product) | | **Babylon Traffic** | €39 a month (about 33 visits a day) | Actions | Automated real browsers | No | | **Traffic Masters** | $19 a month for 5,000 impressions | Impressions | Search, social and AI ad placements | Different unit | | **Google Ads** | Auction price per click | Clicks | Search ads | No | ## What SparkTraffic sells now The pricing page says paid visits reach your site through ads on publisher sites. The ad can be a banner, a native ad that looks like the site's own content, or a pop-under that opens behind the person's window. Plans, as listed on October 9, 2026: - **Pay as you go:** from $0.08 per 1,000 credits, one time. - **Mini 60K:** $9.96 a month for 60,000 credits. - **Large 500K:** $57.96 a month for 500,000 credits. - **Ultimate 10M:** $699.96 a month for 10 million credits. Unused monthly credits roll over. Every website can claim a free demo with 2,000 credits. The page is clear that a credit "is a unit of payment, not a visit". One visit uses one or more credits, depending on targeting. That makes the headline price hard to compare. ## How to compare a credit price with a visit price Divide the price by the visits you get, not by the credits. Here is the math for the Mini plan at three example credit costs: | Credits per visit | Visits from 60,000 credits | Cost per 1,000 visits | |---|---:|---:| | 1 | 60,000 | $0.17 | | 2 | 30,000 | $0.33 | | 4 | 15,000 | $0.66 | SparkTraffic's campaign page shows a visit estimate for your settings. Put that number into the table before you compare. Our [website traffic quality checklist](https://serplify.io/blog/website-traffic-quality-checklist/) has the same formula for any unit. ## Alternatives for automated test visits Choose this group if you want visits that load a page and fire your tags for a test. These visits come from software. They are not people, and none of these vendors claims they are. ### Traffic Creator: the lowest price per visit [Traffic Creator](https://traffic-creator.com/) sells browser-simulated sessions in one-time packs. 60,000 visits on residential IPs cost $19.95, about $0.33 per 1,000. Bigger packs drop below $0.20 per 1,000. Credits never expire, and new accounts get 6,000 free visits after a domain check. State and city targeting cost more, on its Expert tier. For a side-by-side with five other options, see our [Traffic Creator alternatives](https://serplify.io/blog/best-traffic-creator-alternatives/) page. ### Serplify: pay only for delivered visits [Serplify's website traffic](https://serplify.io/buy-website-traffic/) runs each visit as an automated session in a real Chrome browser on a residential or mobile IP. The visit loads your page, runs GA4, scrolls and can open more pages. It costs $2 per 1,000 delivered visits. That is about six times Traffic Creator's entry pack. The trade is in how you pay and what comes with it: - Visits blocked by a captcha or an error are free. - You can target country, US state, a short list of cities, device and referrer. - An API creates one-time campaigns, with webhooks. - The same balance pays for a SERP API and search click tests. Traffic starts after a first top-up of $25. The $1 signup credit is for the SERP API only. ### Babylon Traffic: the most control per visit [Babylon Traffic](https://www.babylontraffic.com/) calls itself a traffic bot. It runs real browsers on residential IPs, and you can script clicks, waits, paths and form fills. [Plans](https://www.babylontraffic.com/pricing) start at €39 a month for 100 actions a day, about 33 visits a day. That is the highest cost per visit in this group. The free trial is 50 visits. ## Alternatives for ad reach and buyers Choose this group if you liked that SparkTraffic visits start with an ad, or if you want people who might buy. ### Traffic Masters: managed placements by the impression [Traffic Masters](https://www.traffic-masters.net/pricing/) sells ad campaigns on search, social and AI publisher inventory. Plans start at $19 a month for 5,000 impressions, and it offers one-time campaigns too. It says the campaigns reach people through its publisher network. The pricing page does not say how many visits an impression turns into, so ask. Our [Traffic Masters alternatives](https://serplify.io/blog/best-traffic-masters-alternatives/) page works through the math. ### Google Ads: people who searched for your topic [Google search ads](https://ads.google.com/intl/en/home/campaigns/search-ads/) reach people who typed a search that matches your keywords. You pay per click at auction prices, which is far more per visit than anything above. In return, the visitor came looking, so they may buy, call or sign up. ## How to test a provider in one afternoon 1. **Start with the smallest amount.** Most of these offer a free demo or a small first order. 2. **Label it.** Add UTM tags to the target URL so the visits are easy to find. 3. **Watch GA4 Realtime.** Check the page, the events, the country and the device. 4. **Compare counts the next day.** Match delivered visits to GA4 sessions for the same page and time window. 5. **Scale only what matches.** If a small test does not add up, a bulk discount will not fix it. Our guide on [how to check website traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/) covers each step. It also shows how to keep test visits out of your normal reports. ## What none of these will do No service in this list promises better Google rankings. Visits from a traffic tool test pages and tracking. If your real question is whether more search clicks change a ranking, that needs a controlled [SEO traffic test](https://serplify.io/blog/how-to-run-seo-traffic-test/) with a control group. It is a different setup from sending visits to a page. Frequently asked questions: Q: What is the best SparkTraffic alternative? A: For cheap automated test visits, Traffic Creator. For paying only for delivered visits, with an API and SERP data on one balance, Serplify. For detailed behavior scripts, Babylon Traffic. For people who may buy, Google Ads. Q: Is SparkTraffic traffic real or bots? A: SparkTraffic says its visits start with a person seeing a display, native or pop-under ad on a publisher site. We have not tested that claim. Use its free demo and check session length, location and events in GA4 before you pay. Q: How much does SparkTraffic cost? A: On October 9, 2026, pay as you go started at $0.08 per 1,000 credits, and monthly plans started at $9.96 for 60,000 credits. One visit can use one or more credits, depending on targeting. So the price per visit is higher than the price per credit. Q: Will any of these improve my Google rankings? A: None of them promises that. Use test visits to check pages and analytics. To learn whether search clicks change a ranking, you need a controlled test with a control group, which is a different setup. Sources: - SparkTraffic: pricing, plans and FAQ (checked October 9, 2026): https://www.sparktraffic.com/pricing - Traffic Creator: homepage and packs (checked October 9, 2026): https://traffic-creator.com/ - Babylon Traffic: pricing (checked October 9, 2026): https://www.babylontraffic.com/pricing - Traffic Masters: pricing (checked October 9, 2026): https://www.traffic-masters.net/pricing/ - Google Ads: Search campaigns: https://ads.google.com/intl/en/home/campaigns/search-ads/ --- # Best Traffic Creator alternatives with prices and trade-offs URL: https://serplify.io/blog/best-traffic-creator-alternatives/ Published: 2026-08-12 · Updated: 2026-10-09 > Six Traffic Creator alternatives compared on price per 1,000, unit sold, method and best use. Prices checked October 2026, including where rivals cost less. Key takeaways: - Traffic Creator lists 60,000 visits for $19.95, about $0.33 per 1,000 (checked October 9, 2026). Few alternatives come close on price per visit. - SparkTraffic and Traffic Masters now sell ads on other sites, billed in credits or impressions, not visits. Convert to cost per visit before you compare. - Serplify charges $2 per 1,000 delivered visits, several times more than Traffic Creator, from a balance it shares with a SERP API. - Google Ads and organic work cost more per visit, but they are the only options here that reach people who may buy. The best Traffic Creator alternatives are SparkTraffic, Serplify, Babylon Traffic, Traffic Masters, Google Ads and plain organic work. Which one fits depends on the job. For the lowest price per automated visit, Traffic Creator itself is still hard to beat. Traffic Creator sells browser-simulated sessions. Its homepage lists **60,000 visits for $19.95** and gives **6,000 free visits** on sign-up, after a check that your domain is public and has GA4 or Google Tag Manager. We checked these public offers on **October 9, 2026**. Check them again before you buy. We sell one of the products in this list. That is a conflict of interest. So this page uses each vendor's own public pages, links them, and says where a rival is cheaper. ## Traffic Creator alternatives at a glance | Option | Public starting price | Unit sold | How visits are made | Best use | |---|---|---|---|---| | **Traffic Creator** | $19.95 for 60,000 | Visits | Browser-simulated sessions on residential IPs | Cheap test volume | | **SparkTraffic** | $0.08 per 1,000 credits | Credits (a visit can use several) | Display, native and pop-under ads on publisher sites | Cheap ad-based reach | | **Serplify** | $2 per 1,000 delivered visits | Delivered visits | Automated sessions in real Chrome browsers | Pay-per-delivery tests plus a SERP API | | **Babylon Traffic** | €39 a month | Actions (about 3 per visit) | Automated real browsers on residential IPs | Detailed behavior scripts | | **Traffic Masters** | $19 a month for 5,000 | Impressions | Ad placements on search, social and AI sites | Managed campaigns | | **Google Ads** | Auction price per click | Clicks | Ads shown to people who search | Leads and sales | | **Organic SEO and partners** | Time and content cost | Earned visits | People who find you | Lasting growth | Prices come from each vendor's public page, checked October 9, 2026. Units differ, so a lower number is not always a better deal. ## How we compared them We read each vendor's public pages and asked six questions: 1. **What is sold?** A hit, credit, impression, visit or click. 2. **How are visits made?** Automated browsers, ads on other sites, or search ads. 3. **What can you control?** Country, device, source, schedule, behavior and target page. 4. **What will GA4 show?** Page, events, labels, location and device. 5. **How do you pay?** A one-time pack, a monthly plan, pay per delivered visit, or an auction. 6. **What can it prove?** Delivery, analytics setup, reach, leads or sales. We did not buy test orders from these services for this page. The facts come from their own sites. ## What Traffic Creator offers Traffic Creator's [homepage](https://traffic-creator.com/) describes browser-simulated sessions for testing and measurement. It sells one-time packs, and credits never expire. There are two tiers: - **Professional:** residential IPs with country targeting. 60,000 visits cost $19.95. One million cost $189.95, about $0.19 per 1,000. - **Expert:** premium residential IPs with state and city targeting, from $27.95 for 60,000. Its FAQ says sessions are designed to appear in GA4. It also says rankings and sales are not guaranteed. That plain wording helps. It makes Traffic Creator a good fit for cheap, controlled test volume. ## The 6 best Traffic Creator alternatives ### 1. SparkTraffic: cheap reach from ads on other sites [SparkTraffic's pricing page](https://www.sparktraffic.com/pricing) now describes an ad platform. Visits come from display, native and pop-under ads on partner publisher sites. A pop-under opens your page behind the window the person is using. It sells credits. Pay as you go starts at $0.08 per 1,000 credits. The Mini plan is $9.96 a month for 60,000 credits. The page says one visit uses one or more credits, so visits per dollar depend on your targeting. Every website can claim a free demo with 2,000 credits. **Best for:** cheap reach where people see your page through an ad. **Watch out for:** credits are not visits. Ask how many credits a visit costs with your targeting before you compare. ### 2. Serplify: pay only for delivered visits [Serplify's test visits](https://serplify.io/buy-website-traffic/) are automated sessions in real Chrome browsers on residential and mobile IPs. Each visit loads your page, runs your GA4 tag, scrolls and can open more pages. It costs **$0.002 per delivered visit**, or **$2 per 1,000**. That is about six times Traffic Creator's entry pack. What you get for the higher price: - You pay per delivered visit. Visits that hit a captcha, a block or an error are free. - Country, US state, a short city list, device, referrer, visit length, pages, scroll depth and schedule are all settings. - Daily projects run in the app, and one-time campaigns run through an API with webhooks. - The same prepaid balance pays for a Google SERP API and search click tests. Traffic needs a first top-up of $25 or more. The $1 signup credit covers the SERP API only. **Best for:** SEO and growth teams that want test visits, SERP data and an API in one account. **Watch out for:** raw volume costs several times more than Traffic Creator. ### 3. Babylon Traffic: the most behavior settings [Babylon Traffic](https://www.babylontraffic.com/) calls itself a traffic bot. It says it uses real browsers and residential IPs. You can set the source, country, city, device, bounce rate, time on page, path and on-site actions. It says the traffic is for testing and not for leads or sales. [Plans](https://www.babylontraffic.com/pricing) start at €39 a month for 100 actions a day, which it puts at about 33 visits a day. That works out near €39 per 1,000 visits at the entry level. The free trial is 50 visits. **Best for:** technical QA when you need to script exactly what each visit does. **Watch out for:** the cost per visit is the highest of the automated options here. ### 4. Traffic Masters: managed ad campaigns [Traffic Masters](https://www.traffic-masters.net/pricing/) sells advertising campaigns on search, social and AI publisher inventory. Plans start at $19 a month for 5,000 impressions. Higher plans add US state, device and city targeting. It also offers one-time campaigns. An impression is a chance for someone to see your placement. The pricing page does not say how many visits 5,000 impressions produce, so ask before you compare it with a visit price. Our [Traffic Masters alternatives](https://serplify.io/blog/best-traffic-masters-alternatives/) page shows the math. **Best for:** buyers who want a managed campaign instead of setting up visits themselves. **Watch out for:** the unit is impressions, and monthly plans renew until you cancel. ### 5. Google Ads: people who are searching [Google search ads](https://ads.google.com/intl/en/home/campaigns/search-ads/) show your offer to people who search for your keywords. You pay per click at auction prices. A click costs far more than an automated visit. In return, the person typed a real search and may buy, sign up or call. It is not a test traffic tool. It is the better choice when the goal is leads or revenue. **Best for:** customer acquisition with clear intent. **Watch out for:** auction costs, ad writing, conversion tracking and a landing page that can convert. ### 6. Organic SEO and partnerships: growth that lasts The last option is not a package. Publish useful pages, fix technical SEO, earn links, build an email list and work with partners. It is slow. It is also the only path here that builds returning readers, brand searches and sales after you stop paying. Test traffic can check the tracking around that work. It cannot replace the work. **Best for:** long-term search visibility and an audience you own. **Watch out for:** results take months and need a clear topic and steady effort. ## Which alternative fits your goal | Your goal | Start with | |---|---| | Cheapest automated visits for a GA4 or load test | Traffic Creator | | Pay only for delivered visits, plus an API and SERP data | Serplify | | Script each step of a visit | Babylon Traffic | | Cheap reach from ads on other sites | SparkTraffic | | A managed campaign you do not set up yourself | Traffic Masters | | Leads and sales | Google Ads | | An audience that stays after you stop paying | Organic SEO and partners | Many teams need two lanes: test traffic for QA, and real channels for growth. Label each lane on its own and judge it by its own goal. ## Test before you scale Run the smallest pilot that answers your question. Use a dedicated page and a clear campaign label. Save the order settings before launch. Then check: 1. Did the provider deliver the unit it sold? 2. Did the target page load without errors? 3. Did GA4 record the page and events? 4. Did country and device match the plan? 5. Can you pause or stop the campaign? 6. Did the result answer your original question? Our [website traffic quality checklist](https://serplify.io/blog/website-traffic-quality-checklist/) turns this into a 10-point review. The [guide to checking traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/) shows where to look after launch and how to keep the test out of your normal reports. If SparkTraffic is also on your list, our [SparkTraffic alternatives](https://serplify.io/blog/best-sparktraffic-alternatives/) page shows how to turn a credit price into a visit price. Automated visits from any of these tools count as [bot traffic](https://serplify.io/blog/what-is-bot-traffic/) by the usual definition. That is fine for a test, as long as you label them and keep them out of growth reports. Frequently asked questions: Q: What is the best Traffic Creator alternative? A: It depends on the job. For cheap automated test visits, Traffic Creator is hard to beat. Serplify fits teams that want to pay per delivered visit and use a SERP API on the same balance. Babylon Traffic has the most behavior settings. Google Ads fits when you need customers. Q: Is Serplify cheaper than Traffic Creator? A: No. Traffic Creator lists 60,000 visits for $19.95, about $0.33 per 1,000, checked October 9, 2026. Serplify charges $2 per 1,000 delivered visits. The difference is in billing only for delivered visits, an API, and one balance shared with a SERP API. Q: Do Traffic Creator alternatives improve Google rankings? A: No provider can promise that, and Traffic Creator's own FAQ says rankings and sales are not guaranteed. Use test traffic for analytics checks, page tests and load tests. Keep it apart from proof of real demand. Q: How should I test a website traffic provider? A: Run the smallest useful pilot on a dedicated page. Save the order settings, check the page and events in GA4, compare delivery with GA4, check country and device, and write a stop rule before you spend more. Sources: - Traffic Creator: homepage, packs and FAQ (checked October 9, 2026): https://traffic-creator.com/ - SparkTraffic: pricing (checked October 9, 2026): https://www.sparktraffic.com/pricing - Babylon Traffic: pricing (checked October 9, 2026): https://www.babylontraffic.com/pricing - Traffic Masters: pricing (checked October 9, 2026): https://www.traffic-masters.net/pricing/ - Google Ads: Search campaigns: https://ads.google.com/intl/en/home/campaigns/search-ads/ --- # How to check website traffic in GA4 and keep test visits out of your reports URL: https://serplify.io/blog/how-to-check-website-traffic-in-ga4/ Published: 2026-08-12 · Updated: 2026-10-09 > Check website traffic in GA4 step by step: Realtime, landing page, events, source, country. Then label test visits with UTM tags and keep them out of reports. Key takeaways: - Check the target page and its events first. A rise in total users can come from anything. - Realtime shows the last 30 minutes, but Google says attribution there is limited. Use the Traffic acquisition report for the final source check. - GA4 rarely matches a provider's count one for one. Consent, blockers, redirects, filters and time zones all change what GA4 records. - Label every test visit with UTM tags, then hide it with a saved comparison, a segment or a separate property. An active GA4 data filter deletes matching data for good. To check website traffic in GA4, open **Reports**, then **Realtime**, while the visits arrive. Confirm that the target page and its events show up. A day later, open **Traffic acquisition** to check the source, then compare the session count with what was delivered. That order matters most when you send test traffic, such as visits from a traffic tool. The second half of this page shows how to label those visits and keep them out of the reports your team uses. ## What GA4 can and cannot prove GA4 is Google Analytics 4, Google's free analytics tool. It shows that your site recorded activity on a page, from a source, in a country, on a device, at a time. That makes it a good tool for checking your tracking. GA4 cannot prove: - that one GA4 user is one person; - that a visitor wanted to buy; - that a source label tells the whole story of how someone arrived; - that traffic caused a ranking change; - that a provider's count and GA4's count should match exactly. Software can run a real browser and fire your GA4 tag. So a session in GA4 proves that a browser ran your tag. It does not prove that a person sat behind it. Our guide to [bot traffic](https://serplify.io/blog/what-is-bot-traffic/) explains the difference. ## Before launch: save a baseline Pick a short period before the test. Write down these numbers for the target page: - users and sessions; - views; - average engagement time; - key events; - country and device split; - session source and medium. Use the same time zone and page path you will use after launch. The baseline shows what normal looks like, so you can see what the test added. If the page already gets a lot of visits, use a separate test URL. That keeps the new sessions easy to find. ## Step 1: label the test with UTM tags UTM tags are short labels you add to the end of a URL. GA4 reads them and files the visit under your labels. Google lists three core fields: - `utm_source`: where the visit came from; - `utm_medium`: the type of traffic; - `utm_campaign`: the name of the test. A test URL might look like this: ```text https://example.com/pricing ?utm_source=serplify_test &utm_medium=qa_traffic &utm_campaign=pricing_mobile_oct ``` Pick a source name you will never mix up with a real channel. `serplify_test` or `qa_test` works. `google` or `newsletter` does not. Keep every value lowercase and spell it the same way each time. `serplify_test` and `Serplify-Test` become two rows in GA4. Google's [campaign URL guide](https://support.google.com/analytics/answer/10917952?hl=en) shows where the values appear. Tag the test before it starts. Untagged visits blend into your real traffic, and you cannot sort them out later. Then test the final URL after every redirect. A redirect can drop the tags, and the visit then shows as Direct. Google's guide to [`(direct) / (none)` traffic](https://support.google.com/analytics/answer/15258820?hl=en) lists missing tags, redirects and link shorteners as common causes. Our guide to [direct traffic](https://serplify.io/blog/what-is-direct-traffic/) explains each cause and how to fix it. ## Step 2: test one visit yourself Open the exact test URL in a private browser window. Accept or decline the cookie banner the way the test will. Then check: - Does the right page load? - Does the GA4 tag fire? - Is the page title correct? - Do the events you expect fire? - Do the UTM tags survive redirects? - Do the main button and form work? If your own visit does not show up in GA4, more traffic will not fix it. Fix the tracking first. ## Step 3: watch Realtime during the first small batch In GA4, open **Reports**, then **Realtime**. Google's [Realtime report guide](https://support.google.com/analytics/answer/9271392?hl=en) says it covers the last 30 minutes. It shows pages, events, sources and key events. During the first small batch, check four cards: 1. **Views by page title.** Is the target page there? 2. **Event count by event name.** Do `page_view`, `session_start` and your own events appear? 3. **Active users by device.** Does the device split look right? 4. **Active users by source or campaign.** Do your UTM labels appear? Realtime is a quick health check. Google notes that attribution there is limited. A missing source five minutes after launch is not a final answer. ## Step 4: check the landing page, then the totals A rise in total users can come from anything: another campaign, a newsletter, a busy news day. Look at the exact page instead. In standard reports or in Explore, use these dimensions: - Landing page; - Page path and screen class; - Page title; - Session campaign; - Session source / medium. Make sure the page path matches the target after redirects. Watch for `/pricing` and `/pricing/` showing as two rows. URL parameters can also split one page into many rows. For a page test, the page and its events matter more than the total user count. ## Step 5: check events and key actions List the events the page should create before the test starts. For example: - `page_view`; - `scroll`; - a button or menu click; - `form_start`; - a custom signup event. Use test traffic only for passive checks. Do not create fake purchases, leads or ad clicks and then count them as results. Check event parameters too. A button event with no page or button label is hard to debug later. ## Step 6: check country and device Compare the test settings with GA4's **Country** and **Device category**. Start with one country and one device. A mixed test makes errors hard to spot. Expect small gaps. GA4 guesses location from the network, and small samples look uneven. Set a tolerance before launch. For example, at least 85 percent of sessions should land in the chosen country. Pick the number before you see the result. ## Step 7: check the source in Traffic acquisition After GA4 has processed the data, open **Reports**, then **Acquisition**, then **Traffic acquisition**. Google's [Traffic acquisition guide](https://support.google.com/analytics/answer/12923437?hl=en) explains each column. Check: - Session source; - Session medium; - Session source / medium; - Session campaign. Do not mix up **First user source** and **Session source**. First user fields show how GA4 first met a user. Session fields show where this visit came from. A returning user can keep an old first user source even when the new session has your test label. Google explains this on its page about [traffic source scopes](https://support.google.com/analytics/answer/11080067?hl=en). That is one reason Realtime and Traffic acquisition can show different sources. If a source lands somewhere you did not expect, read [how GA4 sorts traffic sources](https://serplify.io/blog/where-does-website-traffic-come-from/) into channels. ## Step 8: compare delivered visits with GA4 sessions Use the same time window, time zone, page and unit on both sides. If the provider counts visits and GA4 counts sessions, work out a visibility rate: ```text GA4 visibility rate = matching GA4 sessions / delivered visits x 100 ``` For example: ```text 850 matching GA4 sessions / 1,000 delivered visits x 100 = 85% ``` Write down both numbers, the page, the label and any filters. A result of 85 percent means nothing if nobody knows how you got it. Do not use page views as the top number when the provider sells visits. One visit that opens three pages makes three page views. ## Why GA4 and the provider disagree Common causes: - the visitor declined consent; - an ad blocker or privacy tool stopped the tag; - the GA4 tag failed or loaded late; - a redirect removed the UTM tags; - an active data filter; - a visit crossed two domains and started a new session; - the two sides use different time zones; - reporting delay; - you compared visits with users, page views, hits or events; - a tag or event fired twice; - your site blocked a visit. Check in this order: the page, the tag, consent, labels, filters, time window, then the provider. ## How to keep test traffic out of your reports Test traffic is useful while you check it. It does harm when it leaks into the reports your team reads every week. Unlabelled test visits can: - inflate sessions and users, so week over week trends stop meaning anything; - pull down your conversion rate, because test visits do not buy; - land in Direct or an odd referral and blur your channel reports; - join audiences you build in GA4, including ones you share with Google Ads. The goal is simple. Default reports leave the test out. One report, on purpose, shows it. There are three ways to get there. ### Option 1: a separate GA4 property Create a second GA4 property just for tests and put its tag on the test page. Your main property never sees the visits. This is the cleanest choice for launch checks and load tests. ### Option 2: a test page plus a comparison or segment Sometimes the test must run in your main property, for example to check a real signup flow. Send the visits to a dedicated page with your UTM labels. Then hide them where people look: - **In standard reports**, add a [comparison](https://support.google.com/analytics/answer/9269518?hl=en). Pick a dimension such as Session source, choose "does not exactly match" and enter your test source. Save it so the team can reuse it. - **In Explore**, build a session [segment](https://support.google.com/analytics/answer/9304353?hl=en) that excludes your test campaign. Apply it to every exploration that matters. - **Keep one view that includes it.** Save a second comparison that shows only the test source. That is where you check the test. Comparisons and segments do not change your data. You can always go back to the raw numbers. ### Option 3: a data filter, with care GA4 data filters can drop internal or developer traffic before it is processed. You mark internal traffic by IP address. Visits from a traffic tool come from many IPs, so an IP rule will not catch them. An active filter is also permanent. Google's [internal traffic guide](https://support.google.com/analytics/answer/10104470?hl=en) says filtered data is never processed and cannot be recovered. Its [data filter guide](https://support.google.com/analytics/answer/10108813?hl=en) says the same. Test a filter before you turn it on. For most paid tests, Option 1 or Option 2 is safer. ## A full verification table | Evidence | Provider side | GA4 side | Pass rule | |---|---|---|---| | Volume | Delivered visits | Matching sessions | Within your tolerance | | Target | Requested URL | Landing page or page path | Correct final page | | Time | Delivery times | Session date and hour | Same window and time zone | | Source | Referrer or campaign you set | Session source / medium | Expected label after processing | | Country | Requested country | Country | Within your tolerance | | Device | Requested device | Device category | Matches the plan | | Behavior | Visit length and pages you set | Engagement time and views | Makes sense for the page | | Events | Expected page actions | Event names and parameters | Required events present | ## When to stop a test Pause and look into it when: - the wrong page gets visits; - your own test visit does not appear; - key events do not fire; - the site's error rate goes up; - country or device data misses your range; - UTM labels vanish after a redirect; - you cannot match the provider's unit to a GA4 metric. Fix the cause, then resume with a small batch. ## Checking Serplify test traffic If you want [labelled test traffic](https://serplify.io/buy-website-traffic/) for these checks, Serplify sends automated visits in real Chrome browsers on residential and mobile IPs. Each visit loads your page, runs your GA4 tag, and can scroll and open more pages. The project page lists every delivered visit with its URL, country, device, pages and duration, so you can line it up with GA4. You can pause a project, fix the settings and resume. To plan the test, [set up a test campaign](https://serplify.io/blog/how-to-create-website-traffic-campaign/) on a dedicated page. To judge any other provider, use the [website traffic quality checklist](https://serplify.io/blog/website-traffic-quality-checklist/). Frequently asked questions: Q: Where can I see new website traffic in GA4? A: Open Reports, then Realtime, to see activity from the last 30 minutes. Check the page and events there first. A day later, use the Traffic acquisition report for source, medium and campaign, because Realtime has limited attribution. Q: Why does GA4 show fewer sessions than my traffic provider delivered? A: Consent choices, ad blockers, tag errors, redirects, filters, reporting delays and time zones can all lower or change the GA4 count. Compare the same page, time window and unit before you decide that delivery failed. Q: How do I keep test traffic out of my main GA4 reports? A: Tag every test visit with a UTM source you never use for real channels. Then send it to a separate GA4 property, or hide that source with a saved comparison or an Explore segment. Keep one view that shows only the test so you can still check it. Q: Should I permanently filter test traffic out of GA4? A: Be careful. An active GA4 data filter stops matching data from being processed, and you cannot get it back. A separate property, a comparison or a segment is safer because the evidence stays available. Q: Does a session in GA4 mean a person visited? A: No. GA4 records any browser that runs its tag, and automated browsers run the tag too. A session proves that a browser loaded the page with your tag. It does not prove who was behind it. Sources: - Google Analytics Help: Collect campaign data with custom URLs: https://support.google.com/analytics/answer/10917952 - Google Analytics Help: Understand (direct) / (none) traffic: https://support.google.com/analytics/answer/15258820 - Google Analytics Help: Realtime report: https://support.google.com/analytics/answer/9271392 - Google Analytics Help: Traffic acquisition report: https://support.google.com/analytics/answer/12923437 - Google Analytics Help: Scopes of traffic-source dimensions: https://support.google.com/analytics/answer/11080067 - Google Analytics Help: Apply comparisons to reports: https://support.google.com/analytics/answer/9269518 - Google Analytics Help: Segment builder: https://support.google.com/analytics/answer/9304353 - Google Analytics Help: Filter out internal traffic: https://support.google.com/analytics/answer/10104470 - Google Analytics Help: Data filters: https://support.google.com/analytics/answer/10108813 --- # How to create a targeted website traffic campaign in Serplify URL: https://serplify.io/blog/how-to-create-website-traffic-campaign/ Published: 2026-08-12 · Updated: 2026-10-09 > Set up a Serplify website traffic campaign step by step: target page, country, referrer, device, visit behavior and pacing, plus a plan to check it in GA4. Key takeaways: - Serplify website traffic is automated visits in real Chrome browsers on residential and mobile IPs. Use it to test pages and tracking, not as customers. - Traffic projects start after your first top-up, from $25. Each delivered visit costs $0.002, and blocked or failed attempts are free. - You set the target page, country, referrer, device, visit length, pages, scroll depth and schedule. Changes apply to the next visits. - Start with about 100 visits to one page, in one country, on one device. Check GA4 before you raise the volume. A website traffic campaign in Serplify sends automated visits to a page you choose. Each visit runs in a real Chrome browser on a residential or mobile IP. It loads the page, runs your GA4 tag, scrolls and can open more pages. That makes it a tool for tests. You can check that GA4 records a landing page, watch a server under steady visits, or check a funnel before you buy ads. It is not a source of customers. The visits will not read, sign up or buy, so keep them out of revenue reports. The steps below follow the project form in order and end with a safe first campaign. ## Start with a test goal Pick one goal before you open the form. Good first goals: - confirm that GA4 records a landing page and its events; - check that a country and device split shows up as expected; - test page speed and server load under steady visits; - check UTM tags, referrer attribution or an internal page path; - make sure a new funnel page works before ads go live. "Get more traffic" is too broad. A useful goal says what you will look at and what result passes. For example: > Send 100 mobile visits from the United States to the new pricing page over six hours. Pass if the page view, scroll event and signup button event all show in GA4 with no errors. ## Step 1: get the target page ready Open the page on a phone and on a desktop first. Fix obvious errors before you send anything. Check that: - the page loads over HTTPS; - the final URL is right after redirects; - the cookie banner does not block the page; - GA4 or Google Tag Manager loads; - key buttons and forms work; - internal links go to real, public pages; - your hosting can handle the planned pace. Use a dedicated landing page when you can. It gives the test a clear edge and makes the visits easy to find in GA4. Only send visits to a site you own or have permission to test. The [acceptable use policy](https://serplify.io/acceptable-use/) lists the rules. ## Step 2: create the project Sign in at [app.serplify.io](https://app.serplify.io) and open **Projects**. 1. Select **New Project**. 2. Choose **Website Traffic**. 3. Give it a clear name, such as `Pricing page, US mobile QA`. 4. Enter the target domain or full URL. 5. Set the daily visit target. 6. Choose the country. 7. Select **Create project**. A domain target lets visits land on pages across the site. A full URL keeps the test on one page. For a first test, use the exact page you plan to check. Traffic projects run on your prepaid balance. They start after your first top-up, from $25. The $1 signup credit works for the SERP API only. Each delivered visit costs **$0.002**, or **$2 per 1,000**. Visits that hit a captcha, a block or an error are not charged. ## Step 3: choose the referrer source Open the project and select **Configuration**. Website Traffic projects have a **Traffic source** section. The referrer is the page a browser says it came from. Serplify sends it on the first page load only. If the visit opens another page on your site, that page gets a normal same-site referrer. | Source | Use it to check | |---|---| | Google (the default) | How GA4 files search-style visits | | Direct / none | Visits with no referrer at all | | Facebook, X, Reddit, Pinterest, LinkedIn or YouTube | Social channel labels and landing behavior | | Custom URL | A partner page, article or campaign referrer | For a custom URL, enter the full address with `https://`. Serplify shows a preview of the `Referer` value before you save. Pick the label that matches your test, not the one that looks best in GA4. A source label in GA4 is a measurement field. It does not mean a person came from that site. Our guide to [website traffic sources](https://serplify.io/blog/where-does-website-traffic-come-from/) shows how GA4 turns a referrer into a channel. ## Step 4: set location, device and daily volume The country sets the IP location of each visit. In the United States you can narrow it to one state. Some countries also offer a short list of major cities. The app shows only the ones the network can reach right now. The device can be desktop, mobile or both. Match it to the page you are testing. A mobile checkout test should not run on desktop. Start small. A test of 100 visits teaches you more than a big batch you cannot explain. Check the page and GA4 first, then raise the target. ## Step 5: choose immediate or distributed delivery Projects have two execution modes: - **Immediate** starts now and runs inside a short window. - **Distributed** spreads visits across your schedule and peak hours. Use Immediate for a quick check, such as making sure a page loads and an event fires. Use Distributed for a steady pattern over a day, for example to watch server load. You can also set: - a daily start and end time; - primary and secondary peak hours; - a minimum gap between visits; - a warm-up of 1 to 14 days; - fewer visits on weekends; - the time zone. These settings shape delivery. They do not turn test visits into customer demand. ## Step 6: set visit behavior You set ranges, so not every visit looks the same. The main controls: - shortest and longest visit, in seconds; - fewest and most pages per visit; - scroll depth range; - scrolling on or off; - internal links on or off; - bounce rate. Use the simplest setup that fits the test. To confirm one page view, one page and a short visit are enough. To test a two-page funnel, turn on internal links and set at least two pages per visit. Visits skip login, signup, cart and checkout links. Bounce rate here is a setting, not a quality score. A one-page article can satisfy a reader and still count as a bounce. Our guide on [how to reduce bounce rate](https://serplify.io/blog/how-to-reduce-bounce-rate/) explains what GA4 counts. ## Step 7: plan how to keep the test separate in GA4 Test visits should be easy to find and easy to leave out of business reports. Use at least two of these: 1. a dedicated landing page; 2. a clear project and campaign name; 3. a separate GA4 property for pure QA; 4. a saved comparison or segment that leaves out the test; 5. a note in your analytics or test log. Add UTM tags to the target URL with lowercase, consistent values: ```text ?utm_source=serplify_test &utm_medium=qa_traffic &utm_campaign=pricing_page_mobile ``` Google's [campaign URL guide](https://support.google.com/analytics/answer/10917952?hl=en) shows where these values appear. Do not turn on a GA4 data filter until you have tested it. Google's [internal traffic guide](https://support.google.com/analytics/answer/10104470?hl=en) warns that an active filter drops matching data for good. Automated test visits are a kind of [bot traffic](https://serplify.io/blog/what-is-bot-traffic/). Label them clearly so nobody mistakes them for customers later. ## Step 8: launch and watch delivery Save the settings, go back to the project overview and start the project. The project card and detail page show: - delivered visits; - the daily target; - visits left for the day; - average visit length; - a delivery timeline; - whether it is running, paused, idle or stopped. The **Tasks** tab lists delivered visits and work in progress. Failed tries are retried inside the system and do not count as delivered. You can pause a project, change settings and resume. Changes apply to the next visits. Stop ends delivery. If your balance runs out, delivery pauses so you never spend past it. ## Step 9: check the result in GA4 Open **Reports**, then **Realtime**, in GA4. It shows users, pages, sources and events from the last 30 minutes. Google notes that attribution in Realtime is limited, so check the source later in Traffic acquisition. See Google's [Realtime report guide](https://support.google.com/analytics/answer/9271392?hl=en). Check: - Does the target page appear? - Do the expected events fire? - Does the device category match? - Is the country within your tolerance? - Does your campaign label show up later in Traffic acquisition? - Are there script, consent or tag errors on the page? Serplify's delivered count and GA4's count will rarely match exactly. Consent, blockers, time zones, delays and filters all change what GA4 records. Our guide on [how to check website traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/) walks through each check and the math. ## Common setup mistakes - **Sending a big batch before a small test.** Check the plumbing first. - **Using the homepage for every test.** A dedicated page is easier to read. - **Reading a source label as intent.** It only describes attribution. - **Changing the page during the test.** Pause first, or write down the change. - **Setting a browse path the site cannot support.** Match pages and time to the real site. - **Mixing test visits into customer numbers.** Keep the two apart. ## A safe first campaign For a simple GA4 page test, try: - the exact landing page URL; - 100 visits; - one country; - mobile or desktop, not both; - distributed delivery over a few hours; - one or two pages per visit; - a short visit length range; - a clear project name and UTM label. Check that small run. Save a screenshot or export of the project and of GA4. Then decide whether more volume answers a real testing question. If you are still comparing providers, run each one through the [website traffic quality checklist](https://serplify.io/blog/website-traffic-quality-checklist/) first. The [website traffic page](https://serplify.io/buy-website-traffic/) lists every setting and price, and the [API docs](https://docs.serplify.io/traffic-api/website-traffic/) cover one-time campaigns. Frequently asked questions: Q: How do I create a website traffic campaign in Serplify? A: Open Projects, select New Project and choose Website Traffic. Enter a name, the target page, the daily visit target and the country, then create the project. Open Configuration to set the referrer, device, visit behavior, schedule and pacing before you start it. Q: Can I choose where the traffic appears to come from? A: Yes. Pick Google, direct, Facebook, X, Reddit, Pinterest, LinkedIn, YouTube or a custom referrer URL. The referrer is sent on the first page load. Pages opened after that use a normal same-site referrer. Q: When does Serplify charge for website traffic? A: Each delivered visit costs $0.002. Visits blocked by a captcha or an error are free, and delivery pauses if your balance runs out. Traffic starts after your first top-up, from $25. The $1 signup credit is for the SERP API only. Q: Do the visits come from people? A: No. Each visit is an automated session in a real Chrome browser on a residential or mobile IP. It loads the page and runs your tags, so GA4 counts it. It will not read, sign up or buy. Sources: - Serplify docs: Website traffic API: https://docs.serplify.io/traffic-api/website-traffic/ - Google Analytics Help: Collect campaign data with custom URLs: https://support.google.com/analytics/answer/10917952 - Google Analytics Help: Realtime report: https://support.google.com/analytics/answer/9271392 - Google Analytics Help: Filter out internal traffic: https://support.google.com/analytics/answer/10104470 --- # How to reduce bounce rate: what it means in GA4 and 9 fixes that work URL: https://serplify.io/blog/how-to-reduce-bounce-rate/ Published: 2026-09-06 · Updated: 2026-10-09 > Bounce rate in GA4 is the share of sessions with no engagement. Learn how it is measured, how to check the number is real, and nine fixes from quick to big. Key takeaways: - In GA4, a bounce is a session that lasted under 10 seconds, had no conversion, and viewed only one page. Bounce rate is 100 minus the engagement rate. - Before fixing anything, check that the number is real. Bots, a missing tag on the second page, and a broken conversion event all inflate bounce rate without a single unhappy visitor. - A high bounce rate on a page that answers a question fully is not a problem. Judge it against the page's job and the traffic source that sent the visitor. - The fixes that move the number most: match the page to the search, put the answer in the first screen, speed up mobile, and give people an obvious next step. - Bounce rate is not a Google ranking factor. Fix it for the people who land on the page, and the search benefits follow. Someone lands on your page and leaves. In Google Analytics 4 that may or may not count as a bounce, and the difference matters before you spend a week redesigning the page. This guide explains how bounce rate is measured now, how to check whether your number is real, and nine fixes in the order we would try them. ## What bounce rate means in GA4 GA4 does not count bounces directly. It counts **engaged sessions** and works backward. A session is engaged if any one of these is true: - It lasted **10 seconds or longer**. - It included a **key event** (a conversion). - It included **two or more page views**. **Engagement rate** is engaged sessions divided by all sessions. **Bounce rate** is simply 100 percent minus the engagement rate. That is a big change from the old Google Analytics, where any single-page session was a bounce no matter how long it lasted. A visitor who reads your article for three minutes and leaves was a bounce in Universal Analytics. In GA4 they are engaged. So if your bounce rate looks much better than it did in 2022, nothing improved. The definition changed. Bounce rate is not shown by default in most GA4 reports. Open a report, click the pencil icon, choose **Metrics**, add **Bounce rate**, and apply. ## First, check that the number is real A surprising share of "high bounce rate" problems are measurement problems. Run these four checks before you change the page. **1. Bots.** Automated visits load one page and leave in under a second. A few hundred of them push bounce rate up on any page. Filter the segment with near-zero engagement time and look again. How to spot them is in [what is bot traffic](https://serplify.io/blog/what-is-bot-traffic/). **2. The second page is not tagged.** If a visitor clicks from a tagged page to an untagged one, GA4 sees a single-page session. Common on checkout flows, subdomains, and pages built by a different team. Use the Realtime report and click through your own site. **3. The key event is broken.** If your conversion event stopped firing on a deployment, sessions that used to be engaged by conversion now count as bounces. Check the Events report for the date the event count dropped. **4. The source changed.** A new campaign, a viral post, or a paid traffic test brings visitors who did not come looking for your page. Their bounce rate says nothing about the page. Break the report down by session source before you judge it. Our guide on [traffic sources](https://serplify.io/blog/where-does-website-traffic-come-from/) shows how. If the number survives all four checks, it is real. Now decide whether it is bad. ## Is a high bounce rate bad? Not always. Judge it against the page's job. | Page type | Typical pattern | High bounce means | |---|---|---| | Blog post answering one question | High bounce, long engagement time | Usually fine. They got the answer. | | Contact or store hours page | High bounce, short time | Fine. They got the phone number. | | Homepage | Should be low | People do not know where to go next. | | Product category page | Should be low | Wrong products or wrong search match. | | Landing page for an ad | Medium | Ad promise and page do not match. | | Long guide | Low to medium | If high with short time, the top of the page is failing. | The pair to watch is bounce rate **and** average engagement time together. High bounce with a long time means people read and left satisfied. High bounce with a short time means people left because the page was wrong for them, slow, or confusing. Only the second one needs fixing. ## Nine ways to reduce bounce rate, in order Start at the top. The early fixes are cheap and they are where most of the problem usually lives. ### 1. Match the page to the search The most common cause of a real bounce is a mismatch. Someone searched for a how-to and landed on a product page. Someone searched a price and landed on a philosophy piece. Open the Search Console query report for the page and read the queries. Then open the results page for the top query and see what Google shows around you. If every other result is a step-by-step guide and yours is a sales page, the visitor was never going to stay. A quick [SERP analysis](https://serplify.io/blog/how-to-do-a-serp-analysis/) tells you what the page needs to be. ### 2. Put the answer in the first screen Whatever the visitor came for, the first screen should confirm they are in the right place and start delivering it. A heading that repeats the query. The first sentence answering it. The price, the phone number, the download button. Move the long introduction, the hero image, and the "in today's world" opener out of the way. ### 3. Make it fast on a phone Most visitors are on mobile, and a page that takes four seconds to show content loses a share of them before the tracking timer even starts. Test the page in PageSpeed Insights, on mobile, and fix the top two items. Compressing images and removing an unused script usually gets most of the win. ### 4. Kill the pop-up on entry An overlay that covers the content in the first second is a bounce machine. If you need an email capture, show it after the visitor has scrolled or after 30 seconds. ### 5. Give a clear next step A visitor who finishes and sees nothing to click leaves. Add one obvious link at the point where their question is answered: the related guide, the product, the next step in the process. One, not eight. ### 6. Break up the wall Short paragraphs. Subheadings that say what each section contains. A table where you are comparing things. People scan before they read, and a page that looks like work gets closed. ### 7. Fix the mismatch between ad and page For paid traffic, the headline of the ad and the headline of the page should say the same thing. A visitor who clicked "free template" and lands on "our services" is gone. ### 8. Check the page on the devices your visitors use Open the Tech details report for the page. If bounce rate is fine on desktop and terrible on Android, it is a layout or speed bug, not a content problem. Load the page on a cheap Android phone and watch it. ### 9. Rewrite it If the page still bounces after all of the above, it is the wrong page. Rewrite it around what the queries and the results page told you in step 1. ## Bounce rate and SEO People ask whether bounce rate hurts rankings. Google has said it does not use Google Analytics bounce rate as a ranking signal. But Google does care whether a page satisfies the searcher. A searcher who returns to the results and clicks something else is a signal Google can see on its own side. So the useful framing is this. Do not chase bounce rate for Google. Fix the reasons people leave, for the people. That is the same work that makes a page rank better over time. If you want to understand the click side of the same story, read [what is a good organic CTR](https://serplify.io/blog/what-is-a-good-organic-ctr/). ## Bounce rate on test traffic If you send [test visits](https://serplify.io/buy-website-traffic/) from a traffic tool, their bounce rate tells you about the test, not the page. Automated visits bounce or stay as the tool is set up. Cheap scripts bounce in under a second. Better tools let you set a bounce rate and a visit length. Either way, the number says nothing about how people feel about the page. Keep test traffic in its own segment so it does not drag the page's real number around. Our guide on [how to check website traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/) shows how to label it and leave it out. Before you pay any provider, run through the [website traffic quality checklist](https://serplify.io/blog/website-traffic-quality-checklist/). ## Quick recap - In GA4, a bounce is a session under 10 seconds with no conversion and one page. Bounce rate is 100 minus engagement rate. - Check for bots, missing tags, broken events, and new sources before you blame the page. - Read bounce rate with engagement time. High and long is fine. High and short needs work. - Match the page to the search, answer in the first screen, speed up mobile, and give one clear next step. - Do it for visitors, not for Google. Google follows. Frequently asked questions: Q: What is a good bounce rate? A: It depends on the page and the source. A blog post that answers one question can have a bounce rate of 70 percent and be doing its job. A product category page at 70 percent has a problem. Compare each page against similar pages on your own site and against its own past, not against a universal number. Q: How is bounce rate calculated in GA4? A: GA4 first decides whether a session was engaged: it lasted 10 seconds or more, or had a key event, or had at least two page views. Bounce rate is the share of sessions that were not engaged. Universal Analytics counted any single-page session as a bounce, so old benchmarks do not apply. Q: Does bounce rate affect SEO rankings? A: Google has said bounce rate from Google Analytics is not a ranking signal. What matters to Google is whether the page satisfies the searcher, and a page that sends people straight back to the results is a symptom of that. Fix the reason people leave and both numbers improve. Q: Why did my bounce rate suddenly go up? A: The usual causes are a tracking change, a bot spike, a new traffic source that sends the wrong people, or a page speed problem. Check the date the change started against your deployments and your traffic sources before you touch the page itself. Q: Can I change the 10-second engagement threshold? A: Yes. In GA4 under Admin, Data streams, Configure tag settings, Adjust session timeout, you can set the timer for engaged sessions from 10 seconds up to 60. Changing it changes your bounce rate overnight, so do not compare across the change. Sources: - Google Analytics Help: Bounce rate and engagement rate: https://support.google.com/analytics/answer/12195621 - Google Analytics Help: Engaged sessions: https://support.google.com/analytics/answer/11109416 - Google Search Central: Core Web Vitals and page experience: https://developers.google.com/search/docs/appearance/core-web-vitals - Google Search Central: Creating helpful, reliable, people-first content: https://developers.google.com/search/docs/fundamentals/creating-helpful-content --- # Traffic Masters alternatives for test visits, ad reach and buyers URL: https://serplify.io/blog/best-traffic-masters-alternatives/ Published: 2026-07-05 · Updated: 2026-10-09 > Traffic Masters sells ad impressions from $19 a month. Compare alternatives for test visits, ad reach and buyers, with public prices checked in October 2026. Key takeaways: - Traffic Masters sells advertising campaigns by the impression: $19 a month for 5,000, $89 for 25,000 and $314 for 100,000 (checked October 9, 2026). - An impression is a chance to be seen, not a visit. Ask how many sessions a plan produces before you compare it with a price per visit. - For automated test visits, Traffic Creator costs about $0.33 per 1,000 and Serplify $2 per 1,000 delivered visits. - For people who may buy, Google search ads reach people who typed a matching search, at auction prices. The best Traffic Masters alternatives depend on what you want from it. For automated test visits, use Traffic Creator or Serplify. For ad reach on other sites, SparkTraffic is the closest match. For buyers, use Google search ads. Traffic Masters (traffic-masters.net) sells advertising campaigns, not visits. Its [pricing page](https://www.traffic-masters.net/pricing/) bills by the impression and places ads on search, social and AI publisher inventory. It says every plan is tracked in GA4. We checked that page, and every price below, on **October 9, 2026**. We make one of the alternatives (Serplify). We link every source so you can check our reading. ## What Traffic Masters sells | Plan | Price | Impressions a month | Targeting added | |---|---:|---:|---| | Starter | $19 a month | 5,000 | Worldwide or US | | Growth | $89 a month | 25,000 | US states, device, 600+ geo and niche targets | | Scale | $314 a month | 100,000 | US and UK cities, interest and demographic filters | A slider goes up to 500,000 impressions a month, and one-time campaigns are also offered. Monthly plans cancel from the dashboard. The page promises "full campaign delivery or credit issued". Traffic Masters says its campaigns reach people through its publisher network and that it does not use bots. We have not tested that. The facts here come from its own page. ## Impressions, visits and credits are different units Before you compare prices, line up the units: - An **impression** is a chance for someone to see your placement. It is not a visit. - A **visit** or session is a page load that GA4 can record. - A **credit** is a payment unit. SparkTraffic says one visit can use several. The Starter plan works out to $3.80 per 1,000 impressions. The pricing page does not say how many visits that produces. Here is what the price per visit would be at two example rates: | If this share of impressions became visits | Visits from 5,000 | Cost per 1,000 visits | |---|---:|---:| | 10 percent | 500 | $38.00 | | 50 percent | 2,500 | $7.60 | Those rates are examples, not data. Ask Traffic Masters for its real rate before you compare it with a visit price. ## Alternatives by goal ### If you want test visits for GA4 or a launch check These tools send automated visits that load your page and fire your tags. They are software, not people, and they say so. - **[Traffic Creator](https://traffic-creator.com/)** sells browser-simulated sessions in one-time packs: 60,000 visits for $19.95, about $0.33 per 1,000. Credits never expire. It is the cheapest per visit in this list. Our [Traffic Creator alternatives](https://serplify.io/blog/best-traffic-creator-alternatives/) page breaks down six options in detail. - **Serplify** runs each visit in a real Chrome browser on a residential or mobile IP. It charges $2 per 1,000 [delivered test visits](https://serplify.io/buy-website-traffic/), and blocked or failed visits are free. You set country, US state, device, referrer, visit length and pages. The same balance pays for a SERP API. Traffic needs a first top-up of $25. - **[Babylon Traffic](https://www.babylontraffic.com/pricing)** scripts each step of a visit in real browsers on residential IPs. Plans start at €39 a month for about 33 visits a day, so it costs the most per visit here. It also has the most behavior settings. ### If you want reach from ads on other sites - **[SparkTraffic](https://www.sparktraffic.com/pricing)** now sells display, native and pop-under ad traffic from partner publisher sites. Pay as you go starts at $0.08 per 1,000 credits. Monthly plans start at $9.96 for 60,000 credits. Ask how many credits a visit uses with your targeting. Our [SparkTraffic alternatives](https://serplify.io/blog/best-sparktraffic-alternatives/) page shows the math. ### If you want people who may buy - **[Google search ads](https://ads.google.com/intl/en/home/campaigns/search-ads/)** reach people who search for your keywords. You pay per click at auction prices. It costs far more per visit, but the visitor came looking. - **Organic search, email and partners** take longer and cost time instead of ad spend. They build an audience that stays after you stop paying. Our guide to [website traffic sources](https://serplify.io/blog/where-does-website-traffic-come-from/) shows how GA4 tracks each one. ## Price per unit, side by side | Option | Starting price | Unit | Per 1,000 units | |---|---|---|---:| | Traffic Masters | $19 a month | Impressions | $3.80 | | SparkTraffic | Pay as you go | Credits | from $0.08 | | Traffic Creator | $19.95 pack | Visits | $0.33 | | Serplify | Pay per delivery | Delivered visits | $2.00 | | Babylon Traffic | €39 a month | Visits (about 1,000 a month) | about €39 | | Google Ads | Auction | Clicks | Varies by keyword | All prices come from public pages, checked October 9, 2026. The units differ, so read across rows with care. ## Questions to ask before you switch 1. What unit do I pay for, and how many GA4 sessions should I expect from it? 2. How is each visit made: an ad seen by a person, or an automated browser? 3. Can I set the exact page, country, device and referrer? 4. What happens to unused credits or impressions at the end of the month? 5. Can I pause, and is a refund based on your count or on GA4? Our [website traffic quality checklist](https://serplify.io/blog/website-traffic-quality-checklist/) turns these into ten checks with pass rules. ## How to test any of them Start with the smallest order or a free demo. Send it to a dedicated page with UTM tags. Watch GA4 Realtime for the page, events, country and device. The next day, compare the provider's count with GA4 sessions for the same page and time window. Our [GA4 traffic check guide](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/) walks through each step. It also shows how to keep test traffic out of your main reports. None of these services can promise better Google rankings. Treat them as tools for tests and reach, and judge each one on the job you bought it for. Frequently asked questions: Q: What is the best Traffic Masters alternative? A: It depends on what you want. For test visits for GA4 or a launch check, use an automated tool such as Traffic Creator or Serplify. For ad reach on other sites, SparkTraffic is the closest match. For customers, use Google Ads. Q: What does Traffic Masters sell? A: Its pricing page sells advertising campaigns measured in impressions, placed on search, social and AI publisher inventory. Plans start at $19 a month for 5,000 impressions, and one-time campaigns are also offered (checked October 9, 2026). Q: Will paid traffic improve my Google rankings? A: No service can promise that, so do not pay for visits for that reason. Use test traffic to check pages and analytics, and use real channels to grow. Sources: - Traffic Masters: pricing and FAQ (checked October 9, 2026): https://www.traffic-masters.net/pricing/ - Traffic Creator: homepage and packs (checked October 9, 2026): https://traffic-creator.com/ - SparkTraffic: pricing (checked October 9, 2026): https://www.sparktraffic.com/pricing - Babylon Traffic: pricing (checked October 9, 2026): https://www.babylontraffic.com/pricing - Google Ads: Search campaigns: https://ads.google.com/intl/en/home/campaigns/search-ads/ --- # Website traffic quality checklist (10 checks before you pay for visits) URL: https://serplify.io/blog/website-traffic-quality-checklist/ Published: 2026-08-12 · Updated: 2026-10-09 > A 10-point website traffic quality checklist to run before you pay: define the unit, ask how visits are made, check the source and prove delivery in GA4. Key takeaways: - Quality depends on the job. For a GA4 test it means the right page and events. For sales it means people with a reason to buy. - Pin down the unit first. Hits, credits, impressions, visits and sessions are different things, and one visit can use several credits. - Ask how the visits are made. Automated browsers, ads on other sites and traffic exchanges all reach GA4 in different ways. - A session in GA4 proves that a browser ran your tag. It does not prove that a person was there or wanted to buy. - Run a small pilot with written pass and stop rules before you scale. A website traffic quality checklist is a set of questions you answer before you pay for visits. It makes a provider say what it sells, how the visits are made and how you will prove they arrived. Quality is not one score. It is a match between the traffic, your goal and evidence you can check. For a GA4 test, quality means each visit reaches the right page and fires the right events. For a load test, it means your server gets a known, steady pattern. For sales, it means a person with a reason to care lands on the page. Use these ten checks on any provider, including us. ## 1. Write down the goal Finish this sentence: > We are paying for traffic to ________, and we will know it worked when ________. Good answers look like this: - test whether GA4 records the new signup event; - confirm that a page stays fast during 1,000 visits over four hours; - check country and device reporting; - test a landing page path before ads go live. If the answer is "get sales", a traffic tool is the wrong choice. Use ads, partners, email or organic search to reach people who might buy. ## 2. Define the unit you pay for Traffic pages mix up these words: - **Hit:** one request for a file. - **Credit:** a unit of payment. One visit can use several. - **Impression:** a chance to see an ad or a result. - **Page view:** one recorded page load. - **Visit or session:** a group of activity in one time window. - **User or visitor:** an analytics ID, which may not equal one person. - **Click:** a tap on a link or a result. They are not equal. SparkTraffic's [pricing page](https://www.sparktraffic.com/pricing) says a credit "is a unit of payment, not a visit". Traffic Masters sells its [plans](https://www.traffic-masters.net/pricing/) in impressions. We checked both on October 9, 2026. Ask which unit sets the bill, which unit the dashboard shows and which unit you should see in GA4. Get the answer in writing. ## 3. Ask how the visits are made Common methods: - people who click an ad on another site, such as a banner, native ad or pop-under; - automated browsers on residential, mobile or datacenter IPs; - traffic exchanges, where sites trade visits; - simple HTTP requests that never run a browser; - analytics events sent from a server. Each one suits a different test. Trouble starts when a provider calls one method another. "Real browser" describes software. It does not mean a person used the browser. "Residential IP" describes the network. It does not prove interest. "Shows in GA4" describes measurement. It does not prove a sale. A good provider explains its method in plain words and says what the traffic is not. For example, Serplify states that each visit is an automated session in a real Chrome browser on a residential or mobile IP. It also says the visits are for testing and are not customers. ## 4. Check the source label against the real source GA4 can label a session as direct, referral, social or organic. That label helps you test attribution. It does not tell you the path a customer took. Ask: - What referrer is sent on the first page? - Can I set a full custom referrer URL? - Do UTM tags survive redirects? - Do inner pages use a same-site referrer? - Does "organic" mean a real search and click, or only a label? Missing UTM tags and redirects can make sessions show as `(direct) / (none)`. Google explains why in its guide to [direct traffic in GA4](https://support.google.com/analytics/answer/15258820?hl=en). Our guide to [website traffic sources](https://serplify.io/blog/where-does-website-traffic-come-from/) shows how GA4 groups them into channels. ## 5. Check the targeting limits Do not settle for "worldwide". Write down the country, region, city, device and schedule you need. Then ask how each one works: - Is the country based on the exit IP? - Is city targeting a promise or a best effort? - Does "mobile" mean a phone-sized screen, a mobile browser or a mobile network? - Which time zone sets the delivery day? - What happens when a target runs out of supply? Run your pilot in one country on one device. A mixed global test hides targeting errors. ## 6. Look at the behavior settings Behavior should match the page and the test. Useful settings: - visit length range; - pages per visit; - scrolling; - internal links; - bounce rate; - delivery pace; - schedule and minimum gap. More settings do not mean better traffic. A five-page, three-minute visit makes no sense on a one-page tool. Start from how your real site is built. Be wary of any provider that promises perfect numbers. Real data has gaps, bounces, short visits and differences between tools. Our guide on [how to reduce bounce rate](https://serplify.io/blog/how-to-reduce-bounce-rate/) shows what GA4 treats as a bounce. ## 7. Ask for two kinds of proof The provider's logs and your analytics answer different questions. **Provider proof** shows what the service tried and delivered: target, time, country, device, length, pages and status. **Your own proof** shows what your site recorded: page views, events, source labels, device, location, errors and server load. Neither one replaces the other. Use the method in our [GA4 traffic check guide](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/) to compare both sides. Remember what a GA4 session proves. It shows that a browser ran your tag. Automated browsers run tags too, so read our page on [bot traffic](https://serplify.io/blog/what-is-bot-traffic/) before you treat sessions as people. ## 8. Read the controls, refund terms and rules Before you pay, find answers to these: - Can I pause, resume or stop delivery? - Can I slow the pace after launch? - What happens if my page blocks a visit? - What happens when my balance or plan runs out? - Am I charged for visits that did not arrive? - Is a refund based on the provider's count or on GA4? - Are ad-funded or third-party sites allowed? - Must I own the site, or have permission to test it? Read the acceptable use and refund policies, as well as the pricing page. Some services ban the very use their ads seem to suggest. ## 9. Compare the full cost, not the biggest discount Turn every offer into the same unit: ```text cost per 1,000 = total price / units sold x 1,000 ``` Then add: - a monthly plan you must keep; - the smallest pack you can buy; - extra fees for targeting; - credits that expire or reset; - visits that fail or get filtered; - staff time to set up and check the test. A $0.30 per 1,000 offer is not cheaper if it sells hits and you need full browser visits. A $20 test is expensive if it teaches you nothing. ## 10. Run a pilot with a stop rule Use the smallest test that can answer your goal. Save the page, GA4 and provider numbers before launch. Write stop rules like these: - stop if more than 5 percent of visits hit the wrong page; - stop if expected events are missing after the first 25 visits; - stop if country or device data is far outside your range; - stop if the page error rate rises above normal; - stop if support cannot explain the gap between ordered and delivered units. A stop rule protects your data and budget. It also turns a hunch like "this looks wrong" into a decision someone else can check. ## A one-page provider scorecard | Check | Pass question | |---|---| | Goal | Can this kind of traffic prove what we need? | | Unit | Is the billed unit clearly defined? | | Method | Is the delivery method stated in plain words? | | Source | Do we know the label from the real source? | | Targeting | Are country, device and schedule limits clear? | | Behavior | Do the settings fit our real pages? | | Proof | Can we compare provider logs with our own data? | | Controls | Can we pause or stop without losing unused money? | | Cost | Did we compare the same units and all fees? | | Pilot | Are pass and stop rules written before launch? | If a provider fails the method, unit, proof or control checks, a low price should not save the deal. To see this scorecard used on real vendors, read our [Traffic Creator alternatives compared](https://serplify.io/blog/best-traffic-creator-alternatives/) on price, unit and method. The shorter [SparkTraffic alternatives](https://serplify.io/blog/best-sparktraffic-alternatives/) list shows how to compare a credit price with a visit price. ## What a good test report looks like A strong report is short. It names: - the goal; - the target page; - the exact settings; - units ordered and delivered; - the test window and time zone; - the GA4 pages and events you saw; - the gaps and likely reasons; - the decision to stop, fix or scale. It does not claim that sessions prove rankings, popularity, customers or revenue. You can run these checks on us too. Our page on [test traffic for page and GA4 checks](https://serplify.io/buy-website-traffic/) lists the method, the unit and the price in one place. Frequently asked questions: Q: How can I tell if website traffic is high quality? A: Check it against a stated goal and against evidence. You should know the unit sold, how visits are made, the source label, the targeting limits, what GA4 records and the refund terms. For sales, quality also means people with a reason to buy. Q: Does traffic that shows up in GA4 come from people? A: Not always. GA4 records any browser that runs its tag, and automated browsers run tags too. A GA4 session proves that a page loaded with your tag. Ask the provider how the visits are made. Q: What is the safest way to test a traffic provider? A: Run a small pilot on a page you control. Add UTM labels, save a baseline, check the page and events, compare delivery logs with GA4, and stop if the numbers do not match the order. Q: Can paid website traffic improve rankings or sales? A: No provider can promise that. Visits from a traffic tool help with analytics checks, page tests and load tests. To prove demand, use channels that reach people who might buy, such as ads, email or search. Sources: - SparkTraffic: pricing and credit definition (checked October 9, 2026): https://www.sparktraffic.com/pricing - Traffic Masters: pricing in impressions (checked October 9, 2026): https://www.traffic-masters.net/pricing/ - Google Analytics Help: Understand (direct) / (none) traffic: https://support.google.com/analytics/answer/15258820 - Google Analytics Help: Collect campaign data with custom URLs: https://support.google.com/analytics/answer/10917952 --- # What is bot traffic? How to spot it in GA4 and what to do about it URL: https://serplify.io/blog/what-is-bot-traffic/ Published: 2026-09-06 · Updated: 2026-10-09 > Bot traffic is website visits made by software, not people. Learn good and bad bots, five signs of bot traffic in GA4, and how to filter or label it in reports. Key takeaways: - Bot traffic is any visit made by software instead of a person. Search engine crawlers are the good kind. Scrapers, spam bots, and click fraud are the bad kind. - Imperva's 2025 report found automated traffic was 51 percent of all web traffic in 2024, and bad bots alone were 37 percent. - In GA4, bot traffic shows up as spikes with near-zero engagement time, one page per session, odd countries, and referrers you have never heard of. - GA4 filters known bots automatically and you cannot turn that off. Everything else you filter yourself with internal traffic rules and unwanted referral lists. - Paid test traffic from automated browsers is bot traffic too. Engagement numbers cannot prove a visitor was a person, so tag test visits with UTM labels and keep them out of your main reports. Open your analytics and look at yesterday. Some of those visitors were not people. They were programs: search engine crawlers, price scrapers, spam scripts, uptime monitors. That is bot traffic, and on most sites it is a bigger share than people expect. This guide explains what bot traffic is and which bots are fine. Then it shows how to spot the rest in Google Analytics 4 and keep it out of the numbers your team relies on. ## Bot traffic, defined **Bot traffic** is any request to your website made by software running on its own, rather than by a person in a browser. The word "bot" is short for robot. The scale is large. Imperva's 2025 Bad Bot Report found that automated traffic made up 51 percent of all web traffic in 2024, the first year it passed human traffic. Bad bots alone were 37 percent. On travel sites the bad-bot share was 48 percent. Those numbers are measured at the network level, before analytics. Your GA4 reports show much less, because GA4 filters the bots it knows about and many bots never run the tracking script at all. That gap is the first thing to understand. ## Good bots and bad bots Not all bots are a problem. It helps to sort them into three groups. | Type | Examples | What to do | |---|---|---| | Good bots | Googlebot, Bingbot, uptime monitors, your own tests | Let them in. Verify the big ones by reverse DNS if in doubt. | | Grey bots | AI crawlers, SEO tool crawlers, price comparison scrapers | Your call. Allow, rate-limit, or block by user agent and robots.txt. | | Bad bots | Content scrapers, credential stuffing, form spam, click fraud, DDoS | Block at the network level. Filter out of analytics. | Good bots are how you get into search. If you block Googlebot, you disappear from Google, which is one of the causes in [why your website is not showing up on Google](https://serplify.io/blog/why-is-my-website-not-showing-up-on-google/). Bad bots cost money three ways. They load your server, they skew your data, and some of them commit fraud, such as clicking your ads or testing stolen passwords on your login page. ## Why bot traffic wrecks your reports Analytics is only useful if you know which sessions are people. A few thousand unlabelled bot hits can: - Drop your engagement rate and average engagement time, so a healthy page looks broken. - Inflate pageviews on a landing page, so a test looks like it worked. - Fill the referral report with domains you have never heard of. - Push your conversion rate down because bots never convert. Every decision built on those numbers is a little wrong. That is the real cost. ## Five signs of bot traffic in GA4 GA4 removes traffic from bots on the IAB's known bots list automatically. You cannot see it or turn that off. What gets through is the unlisted rest, and it leaves fingerprints. ### 1. A spike with no reason Traffic doubles on a Tuesday. No campaign launched, no press, no email. Open **Reports**, then **Acquisition**, then **Traffic acquisition**, and look at which channel jumped. Bot spikes usually land in Direct, Referral, or Unassigned. ### 2. Near-zero engagement time People spend time on a page. Simple bots load it and leave. In the Traffic acquisition report, add the **Average engagement time per session** metric. Sessions averaging under two or three seconds across hundreds of visits are almost never human. ### 3. One page, no events Bots rarely scroll, click, or fire your custom events. Compare **Views per session** and **Event count** for the suspicious segment against your normal traffic. A segment with exactly one page per session and only the automatic `page_view` and `session_start` events is a strong signal. ### 4. Countries and devices that do not fit Open **User attributes**, then **Demographic details**, and switch to Country. A local plumber in Ohio with 400 sessions from a country they have never served is looking at bots. Do the same for browser and operating system under **Tech details**. Old browser versions and unusual screen sizes are common bot tells. ### 5. Referrers you cannot explain Referral spam sends fake hits with a referrer domain in the hope you will visit it. In the Traffic acquisition report, filter to Referral and read the session source list. Domains you do not recognize, with the low engagement above, are spam. Real referrals come from sites that link to you and tend to engage well. Our guide to [referral traffic](https://serplify.io/blog/what-is-referral-traffic/) shows how to tell the two apart. A quick way to check any of these: open **Realtime**. If a spike is running right now, you will see the country, page, and source live. ## How to keep bot traffic out of GA4 You cannot stop bots from visiting. You can stop them from counting. **1. Confirm known-bot filtering is on.** It is, always, in GA4. There is no setting. Skip this worry. **2. Filter your own traffic.** In **Admin**, then **Data streams**, choose your stream, open **Configure tag settings**, then **Define internal traffic**. Add your office and home IP addresses. Then in **Admin**, then **Data filters**, activate the internal traffic filter. Your own tests and monitors vanish from reports. **3. List unwanted referrals.** In the same tag settings, open **List unwanted referrals** and add the spam domains you found. Those sessions get attributed as direct instead of referral, which stops the referral report from filling with junk. **4. Build a clean segment.** In Explorations, create a segment that excludes sessions with engagement time under a few seconds and no events. Use it when reporting on anything that matters. Keep the raw view for spotting new bot patterns. **5. Block at the door.** For heavy bot loads, use your CDN or host's bot management, add rate limits to forms and logins, and block user agents that identify themselves as scrapers. This is not an analytics setting. It stops the requests before they reach the page. Bots that never run JavaScript never appear in GA4 at all. If your server logs show ten times the requests GA4 shows, that is normal. Server logs count everything. GA4 counts browsers that ran the tag. ## Bot traffic you pay for Paid test traffic is bot traffic too. Many traffic tools, ours included, send visits from automated browsers. By the definition above, each of those visits is a bot. Better bots are hard to spot with the five signs. They run a real browser, wait, scroll, open more pages and fire your events. So engagement time and events cannot prove that a visitor was a person. They only catch the cheap scripts. So do not guess. Label paid test traffic and keep it apart: 1. **Tag it.** Add UTM tags to the target URL. Use a source name you never use for real channels, such as `utm_source=qa_test`. 2. **Segment it.** In GA4, save a comparison or an Explore segment that leaves that source out. Save a second one that shows only the test. 3. **Exclude it from reports.** Use the clean view for anything your team decides on. For pure tests, a separate GA4 property keeps the visits out of your main data. Our guide on [how to check website traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/) shows each step. If you need [test traffic you can label and verify](https://serplify.io/buy-website-traffic/), Serplify sends automated visits in real Chrome browsers and lists every delivered visit, so you can match it to GA4. To plan one, [set up a test campaign](https://serplify.io/blog/how-to-create-website-traffic-campaign/) on a dedicated page. Before you pay any provider, run through the [website traffic quality checklist](https://serplify.io/blog/website-traffic-quality-checklist/). ## Bot traffic and bounce rate One side effect of bot traffic is a bounce rate that looks worse than it is. Bots land, leave, and count as unengaged sessions. Before you redesign a page over its bounce rate, filter the bots and look again. We cover how to read that number in [how to reduce bounce rate](https://serplify.io/blog/how-to-reduce-bounce-rate/). Frequently asked questions: Q: What is bot traffic? A: Bot traffic is website activity created by automated programs rather than people. Some bots are useful, like search engine crawlers that index your pages. Others scrape content, test stolen passwords, click ads to waste budget, or hit forms with spam. Reports put automated traffic at about half of everything that reaches a typical site. Q: Is bot traffic bad for SEO? A: Good bots are how you get into Google, so no. Bad bots do not directly change rankings, but they can slow your server, fill your analytics with junk, and skew the engagement numbers you use to make decisions. Large volumes of fake visits to your site are not a ranking signal Google rewards. Q: How do I see bot traffic in Google Analytics 4? A: GA4 already removes traffic from known bots and does not show it. What remains shows up as sudden spikes with very low engagement time, single-page sessions, traffic from countries you do not serve, and referrals from unknown domains. Compare the Realtime report with your server logs to see the gap. Q: Can I block bot traffic completely? A: No. You can reduce it. Use a bot management or firewall service at the network level, block obvious user agents, add rate limits, and keep spam filters on forms. Then filter what gets through in GA4 so your reports stay clean. Q: Is paid website traffic bot traffic? A: If the visits come from automated browsers, yes. Good ones load the page, scroll and fire events, so engagement checks will not flag them. Ask the provider how the visits are made, tag them with UTM labels, and keep them in their own GA4 segment. Sources: - Imperva 2025 Bad Bot Report: https://www.imperva.com/blog/2025-imperva-bad-bot-report-how-ai-is-supercharging-the-bot-threat/ - Google Analytics Help: Known bot traffic exclusion in GA4: https://support.google.com/analytics/answer/9888366 - Google Analytics Help: Filter out internal traffic: https://support.google.com/analytics/answer/10104470 - Google Analytics Help: List unwanted referrals: https://support.google.com/analytics/answer/10327750 - Google Analytics Help: Collect campaign data with custom URLs: https://support.google.com/analytics/answer/10917952 - Google Search Central: Verifying Googlebot: https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot --- # What Is Direct Traffic in GA4? What Really Lands There and How to Shrink It URL: https://serplify.io/blog/what-is-direct-traffic/ Published: 2026-10-09 > Direct traffic is any visit GA4 cannot tie to a source. See what lands in Direct, how to read it in GA4, and how UTM tags move it to the right channel. Key takeaways: - GA4 labels a session (direct) / (none) when it finds no referrer, no campaign tags, and no ad click. Google describes Direct as visits from a saved link or a typed URL. - Much of Direct is mislabeled: untagged email and app links, PDFs, links from HTTPS pages to HTTP pages, redirects that drop tags, ad blockers, and some AI assistant clicks. - Direct visits to deep pages with long URLs are rarely typed by hand. Read the landing pages to tell true direct visits from lost ones. - Tag every link you control with utm_source, utm_medium, and utm_campaign. Direct shrinks, and those visits move to the channel they belong to. Direct traffic is any visit that Google Analytics cannot tie to a source. GA4 finds no referring website, no campaign tags, and no ad click, so it files the visit as **(direct) / (none)**. Some of those visits come from people who typed your address. Many are visits that lost their source on the way. This guide shows what lands in Direct, how to read it, and how to move the mislabeled part back where it belongs. ## What direct traffic means in Google Analytics 4 **Direct is GA4's bucket for visits with no known source.** Google's help pages describe it as visits from a saved link or a typed URL. The rule behind it is simple: the source is "(direct)" and the medium is "(none)" or "(not set)". To pick a source, GA4 looks for three clues: 1. **An ad click ID**, which Google Ads adds to its links. 2. **UTM tags**, the labels you add to the end of a link. 3. **A referrer**, the address of the page the visitor came from. Browsers usually pass it along when someone clicks a link. If all three are missing, the visit is Direct. Our guide to [where website traffic comes from](https://serplify.io/blog/where-does-website-traffic-come-from/) explains how GA4 sorts the other channels. ## What really ends up in direct traffic Google's own page on (direct) / (none) lists missing tags, redirects, URL shorteners, offline documents, and ad blockers as causes. Here is the fuller picture. | What happened | Why GA4 sees no source | Truly direct? | |---|---|---| | Someone typed your URL | No link was clicked | Yes | | Someone used a bookmark or a pinned tab | No referrer | Yes | | A link in an email with no UTM tags | Many email apps send no referrer | No, it is email | | A link shared in a chat app or text | Apps often send no referrer | No, it is social or referral | | A link in a PDF or Word file | Offline files have no referrer | No | | An HTTPS site linked to your HTTP page | Browsers drop the referrer | No, it is referral | | A redirect or link shortener dropped your tags | The tags never reached your page | No | | An ad blocker or privacy tool interfered | Tracking data was blocked | Often not | | A click from an AI assistant app with no referrer | Nothing to match | No | | A bot GA4 does not recognize | Many bots send no referrer | No | ### Email, chat apps, and "dark social" Dark social is a name for links people share in private, such as chat apps, text messages, and email. These clicks often arrive with no referrer. GA4 cannot see them, so they fall into Direct. Your own emails are the easiest part of Direct to fix, because you can tag every link. Links your readers share with friends are harder, and some of that will always stay hidden. ### Links from HTTPS pages to HTTP pages Browsers do not send the referrer when a visitor moves from a secure HTTPS page to a plain HTTP page. That is the browser default, as the MDN docs explain. If any part of your site still runs on HTTP, links to it from other sites arrive as Direct. Moving to HTTPS fixes it. ### AI assistants Since May 2026, GA4 has an **AI Assistant** channel for visits from tools like ChatGPT, Gemini, and Copilot. It works by matching the referrer. Search Engine Journal notes that clicks which arrive with no referrer still land in Direct. We cover how these visits show up in [what referral traffic is](https://serplify.io/blog/what-is-referral-traffic/). ### Bots GA4 removes traffic from known bots on its own. You cannot turn that off, and you cannot see how much it removed. Bots it does not know can slip through, and many arrive without a referrer. Our guide to [spotting bot traffic in GA4](https://serplify.io/blog/what-is-bot-traffic/) lists the five signs to check. ## How to read your direct traffic in GA4 1. Open **Reports**, then **Acquisition**, then **Traffic acquisition**. Set the date range to the last 90 days. 2. Find the **Direct** row. Note its share of sessions and its engagement rate. 3. Add a second dimension with the plus icon: **Landing page + query string**. 4. Read the landing pages. Direct visits to your home page fit typed URLs and bookmarks. Direct visits to a deep page with a long URL usually came from a link that lost its source. Nobody types a long blog address from memory. 5. Compare dates. A jump in Direct on the day you sent a newsletter means the newsletter links were not tagged. 6. Check the device. A rise in Direct on mobile often points to links shared in apps. Google does not publish a "normal" share of direct traffic, and sites differ a lot. Watch your own trend instead. If Direct grows while you run no new brand campaign, look for a tagging gap. ## How to reduce misattributed direct traffic with UTM tags **UTM tags are short labels at the end of a link that tell GA4 where the click came from.** Google says to always use three of them: utm_source, utm_medium, and utm_campaign. Here is a tagged link for a newsletter: ```text https://example.com/pricing/?utm_source=newsletter&utm_medium=email&utm_campaign=october-2026 ``` GA4 reads `utm_medium=email` and files the visit under Email instead of Direct. Google's free [Campaign URL Builder](https://ga-dev-tools.google/campaign-url-builder/) builds these links for you. Tag every link you control: - Links in emails and newsletters. - Links in your social profiles and bios. - QR codes on print, packaging, and signs. - Links inside PDFs, slide decks, and documents you send out. - Links you give to partners, podcasts, and affiliates. - Links in text messages and push alerts. Three rules keep the tags working: - **Use the mediums GA4 knows**, such as email, social, referral, cpc, and affiliate. A medium it does not know lands in Unassigned, which is just as unhelpful. - **Use lowercase and the same spelling every time**, so one source does not split into two rows. - **Test every tagged link.** Click it and check that the final URL still has the tags. Redirects and link shorteners can strip them. Then confirm the visit in GA4 using the steps in [how to check website traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/). ## Direct vs organic traffic People often mix these two up, because both feel "free". | | Direct | Organic Search | |---|---|---| | How the visitor arrived | Typed URL, bookmark, or a lost source | Clicked an unpaid search result | | GA4 source | (direct) | google, bing, and other engines | | Who sets the source | Nobody, which is the problem | The search engine | | Includes Google AI Overviews and AI Mode | No | Yes | A brand search counts as organic, not direct. If someone searches your company name and clicks your site, GA4 records Organic Search. ## Testing the Direct path on purpose If you send test visits to check your analytics setup, decide which channel they should land in before you start. Serplify's [website traffic tool](https://serplify.io/buy-website-traffic/) lets you set the referrer to a search engine, a social site, a custom URL, or none. Automated visits sent with no referrer should show up as Direct. That gives you a clean baseline to compare your real Direct numbers against. Frequently asked questions: Q: What does direct traffic mean in Google Analytics? A: It means GA4 could not find where the visit came from. There was no referring site, no UTM tags, and no ad click ID, so the session shows as (direct) / (none). Typed URLs and bookmarks land there, and so do many links that lost their source. Q: Does Google Analytics capture bot traffic? A: GA4 removes traffic from known bots and spiders on its own. You cannot turn this off or see how much was removed. Bots GA4 does not know can still get through, and many of them show up as Direct with almost no engagement. Q: How do I see traffic sources in Google Analytics? A: Open Reports, then Acquisition, then Traffic acquisition. The table shows sessions by channel. Switch the dimension to Session source / medium to see each site, search engine, or campaign by name. Q: Is direct traffic good or bad? A: Neither by itself. Visits from people who type your address or use a bookmark show that they know you. A large Direct share that you cannot explain usually means your links are not tagged, so you are losing data about what works. Q: Why did my direct traffic suddenly go up? A: Check the landing pages and the date. A jump on one deep page often means a link was shared somewhere that sends no referrer, like a newsletter or a group chat. A jump with near-zero engagement time points to bots. Sources: - Google Analytics Help: Understand (direct) / (none) traffic: https://support.google.com/analytics/answer/15258820 - Google Analytics Help: Default channel group: https://support.google.com/analytics/answer/9756891 - Google Analytics Help: Collect campaign data with custom URLs: https://support.google.com/analytics/answer/10917952 - Google Analytics Help: Known bot-traffic exclusion: https://support.google.com/analytics/answer/9888366 - MDN Web Docs: Referrer-Policy header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy - Search Engine Journal: Google Analytics adds AI Assistant as a default channel group (May 2026): https://www.searchenginejournal.com/google-analytics-adds-ai-assistant-as-default-channel-group/574974/ - Google Analytics: Campaign URL Builder: https://ga-dev-tools.google/campaign-url-builder/ --- # What Is Referral Traffic? How GA4 Counts It, When It Is Spam, and Where AI Fits URL: https://serplify.io/blog/what-is-referral-traffic/ Published: 2026-10-09 > Referral traffic is visits from links on other websites. See where GA4 shows it, how to spot referral spam, and how ChatGPT and other AI tools show up now. Key takeaways: - Referral traffic is a visit from a link on another website. GA4 shows it in the Referral channel, with the linking domain as the source and referral as the medium. - GA4 does not count your own domain as a referral. Payment and login domains can still appear, and the List unwanted referrals setting exists for them. - Referrers you do not recognize, with almost no engagement, are usually spam. Do not visit them. Filter them out of the reports you share. - OpenAI says ChatGPT adds utm_source=chatgpt.com to the links it sends. Since May 2026, GA4 also files recognized AI assistants under a separate AI Assistant channel. - In our October 9, 2026 test, all 24 pages cited by an OpenAI model through its API were linked with utm_source=openai. Apps built on that API can show up under a different source than ChatGPT. Referral traffic is visits that come from someone clicking a link on another website. A blog post links to you, a reader clicks, and GA4 records the visit as a referral from that blog. Search engines, social networks, email, and ads each get their own channel. Referral covers what is left: plain links on other sites and apps. It is often small. It can also be some of your best traffic, because the visitor arrived with context. ## What referral traffic means in GA4 **In GA4, referral traffic is any session whose medium is "referral", "app", or "link".** Google describes it as visits from non-ad links on other sites and apps, such as blogs and news sites. When a visitor clicks a link, the browser usually passes along the referrer. That is the address of the page they came from. GA4 reads it and records the session as, for example, `example-news.com / referral`. The same click can land in different channels depending on where the link sat: | Where the link was | GA4 channel | |---|---| | A blog post, news story, or directory | Referral | | A Google or Bing result, including AI Overviews and AI Mode | Organic Search | | Facebook, LinkedIn, X, or Reddit | Organic Social | | ChatGPT, Gemini, or Copilot (when GA4 recognizes it) | AI Assistant | | An email link tagged with utm_medium=email | Email | | Another page on your own site | Not counted as a new source | | Anywhere, but the referrer was lost | Direct | For the full list of channels and how GA4 picks one, see our guide to [website traffic sources](https://serplify.io/blog/where-does-website-traffic-come-from/). ## Where to find referral traffic in GA4 1. Open **Reports**, then **Acquisition**, then **Traffic acquisition**. 2. Find the **Referral** row to see total sessions, engagement, and key events. 3. Change the dimension to **Session source / medium**. Each row ending in "/ referral" is one site that sent you visitors. 4. Add a second dimension, **Landing page + query string**, to see which of your pages they linked to. 5. To see the exact page that linked to you, build an Exploration with the **Page referrer** dimension. Sort by key events, not by sessions. A site that sent 40 visits and 5 sign-ups matters more than one that sent 400 visits and none. To confirm that a new partner link sends visits at all, follow the checks in [how to check website traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/). ## When referral traffic is spam **Referral spam is fake traffic that puts a domain in your referral report so you will visit it.** The spammer is after your click. The signs are easy to spot: - You have never heard of the domain. - Sessions last close to zero seconds and view one page. - The visits come from countries or devices that do not fit your audience. GA4 removes traffic from known bots on its own, using Google's research and the IAB bot list. It cannot catch everything, and it does not show you what it removed. Do not open the spam domain. Build a report filter or an Exploration segment that leaves it out, and block it at your host or CDN if it keeps coming. Our guide to [bot traffic in GA4](https://serplify.io/blog/what-is-bot-traffic/) covers the full cleanup. ### Self-referrals and payment pages GA4 does not count your own domain or its subdomains as a referral. If a related domain shows up, it is usually a separate checkout, a payment processor, or a login page. Customers leave for it and come back, and GA4 sees the return as a new referral. The fix is in **Admin**, then **Data streams**, then **Configure tag settings**, then **List unwanted referrals**. Add the domain there. Google allows up to 50 entries per data stream. ## How AI assistants show up as referral traffic AI assistants now send visits too, and they show up in three different ways. **ChatGPT tags its links.** OpenAI's publisher FAQ says ChatGPT adds `utm_source=chatgpt.com` to the links it sends. Seer Interactive found that citation links carry the tag most often, but not every link does. **GA4 now has an AI Assistant channel.** Search Engine Journal reported it in May 2026. Before that, these visits mostly landed in Referral. GA4 matches the referrer against a list of assistants. Google names ChatGPT, Gemini, DeepSeek, Copilot, and Grok as examples. Clicks from Google's own AI Overviews and AI Mode stay in Organic Search. **Some assistants still look like plain referrals.** Perplexity is not on Google's named list. Seer's tests showed Perplexity visits as `perplexity.ai / referral`. Check your own reports to see where each one lands. ### Apps built on OpenAI's API use a different tag On October 9, 2026, we sent 11 questions to OpenAI's gpt-5.4-mini model through its API, with web search turned on. Its answers linked to 24 different web pages. Every one of those links ended in `utm_source=openai`, not `chatgpt.com`. So a visit from a third-party app built on OpenAI's API may show up as source "openai". To catch all of it, search your Session source list for "chatgpt", "openai", "perplexity", "gemini", and "copilot". Some AI clicks arrive with no referrer at all and fall into Direct. We explain why in [what direct traffic is](https://serplify.io/blog/what-is-direct-traffic/). If you want AI tools to cite you in the first place, start with our guide to [LLM SEO](https://serplify.io/blog/llm-seo/). ## Is referral traffic paid or unpaid? Referral is an unpaid channel in GA4. A paid placement belongs somewhere else. Tag sponsored posts and newsletter ads with a paid medium such as `cpc` or `paid`, and affiliate links with `affiliate`. GA4 then files them under a paid channel or Affiliates, and your Referral report stays a clean record of links you earned. ## How to grow good referral traffic 1. **Publish something worth linking to.** Original data, a free tool, or the clearest answer to a common question earns links on its own. Dated numbers give other writers something to quote. 2. **Get listed where your buyers look.** Industry directories, partner pages, and "tools we use" pages can send steady visits. 3. **Write for other sites.** Guest posts, expert quotes for reporters, and podcast show notes all carry links. 4. **Fix links that point to dead pages.** Old URLs that return a 404 error waste every click. Find them with the methods in [how to find all pages on a website](https://serplify.io/blog/how-to-find-all-pages-on-a-website/), then redirect each one to its closest live page. 5. **Judge each source by what visitors do.** Compare engagement rate and key events per session. A referrer that sends few visits who buy is worth more than one that sends many who leave. Frequently asked questions: Q: What does referral traffic mean? A: It means visitors reached your site by clicking a link on another website or app. A news story, a blog post, a directory, or a partner page can all send referral traffic. Search engines, social networks, email, and ads are counted in their own channels. Q: Is referral traffic paid or unpaid? A: In GA4, the Referral channel is for unpaid links. If you paid for a placement, tag the link with a paid medium such as cpc or paid, or with affiliate for affiliate deals. GA4 then files it under a paid or Affiliates channel. Q: Why does my own website show up as a referral? A: GA4 does not count your own domain or its subdomains as a referrer. If a related domain shows up, such as a separate checkout or a payment page, add it under List unwanted referrals in your data stream's tag settings. Q: How do I see ChatGPT traffic in GA4? A: Open Traffic acquisition and look for the AI Assistant channel. Then switch the dimension to Session source / medium and search for chatgpt. Some ChatGPT clicks arrive with no referrer and land in Direct, so treat the number as a minimum. Q: What is referral spam? A: Referral spam is fake traffic that puts an unknown domain in your referral report, hoping you will visit it. The sessions usually last zero seconds and view one page. Do not open those domains; filter them out instead. Sources: - Google Analytics Help: Default channel group: https://support.google.com/analytics/answer/9756891 - Google Analytics Help: Identify unwanted referrals: https://support.google.com/analytics/answer/10327750 - Google Analytics Help: Known bot-traffic exclusion: https://support.google.com/analytics/answer/9888366 - OpenAI Help Center: Publishers and developers FAQ: https://help.openai.com/en/articles/12627856-publishers-and-developers-faq - Seer Interactive: Are AI sites like ChatGPT sending your website traffic? (updated June 2026): https://www.seerinteractive.com/insights/are-ai-sites-like-chatgpt-sending-your-website-traffic - Search Engine Journal: Google Analytics adds AI Assistant as a default channel group (May 2026): https://www.searchenginejournal.com/google-analytics-adds-ai-assistant-as-default-channel-group/574974/ --- # Where does website traffic come from? The 8 traffic sources explained URL: https://serplify.io/blog/where-does-website-traffic-come-from/ Published: 2026-09-06 · Updated: 2026-10-09 > Every visit has a source. Learn the 8 website traffic sources, how GA4 sorts them into channels, and why so much traffic lands in Direct and Unassigned. Key takeaways: - A traffic source is where a visitor was right before they landed on your site. GA4 records it as source and medium, then groups it into a channel. - The eight sources that cover almost every visit: organic search, paid search, direct, referral, organic social, paid social, email, and display or video ads. - 'Direct' is not just typed URLs. It is everything GA4 could not attribute, including many app links and email clicks. Treat a big Direct number as a tagging problem. - 'Unassigned' means your campaign tags did not match a channel rule. Fix the medium value and it sorts itself. - Judge sources by engagement and conversions, not by session count. The largest source is often not the most valuable. Every visit to your website came from somewhere. A Google search. A link in an email. An ad. A bookmark. That "somewhere" is the traffic source, and knowing your sources is the difference between guessing and knowing what works. This guide explains the eight sources that cover almost all web traffic and how Google Analytics 4 sorts them. It also covers why two of its buckets confuse everyone, and how to judge which sources deserve more of your time. ## Source, medium, and channel GA4 records three things about where a session came from. - **Source** is the site or platform: `google`, `facebook`, `newsletter`, `partner-site.com`. - **Medium** is the type of traffic: `organic`, `cpc`, `referral`, `email`, `social`. - **Channel** is GA4's grouping of source and medium into a short list you can read at a glance: Organic Search, Paid Social, Email, and so on. Search engines and social platforms set source and medium for you. For everything else, you set them with UTM tags on your links. GA4 then applies its default channel rules to turn source and medium into a channel. You see all of this in **Reports**, then **Acquisition**, then **Traffic acquisition**. Switch the dimension between Session default channel group, Session source, and Session medium. ## The eight sources of website traffic ### 1. Organic search A person searched on Google, Bing, or another engine and clicked a normal, unpaid result. GA4 channel: **Organic Search**. This is the largest source for most sites and the one SEO exists to grow. It depends on where you rank and on what else is on the results page. A result in position one under an AI Overview gets fewer clicks than the same position on a clean page. If you want to understand the page your visitors are clicking from, start with [what a SERP is](https://serplify.io/blog/what-is-a-serp/). ### 2. Paid search A person clicked an ad on a search results page. Channel: **Paid Search**. Source is usually `google` with medium `cpc`. You control volume with budget, and it stops when the budget stops. Google Ads auto-tags its links, so attribution is clean. ### 3. Direct GA4 found no referrer. Channel: **Direct**. Source shows as `(direct)` and medium as `(none)`. Direct includes typed URLs and bookmarks, which is what people assume. It also includes clicks from many mobile apps, some email clients, PDFs and documents, and any link that passed through a redirect that dropped the referrer. On many sites Direct is the second-largest channel, and most of it is not people typing your address. Treat a large Direct number as a measurement gap. Tag your email links and app links with UTM parameters, and Direct shrinks as those visits move to their real channels. Our guide to [what direct traffic is](https://serplify.io/blog/what-is-direct-traffic/) lists each cause and its fix. ### 4. Referral A person clicked a link on another website. Channel: **Referral**. Source is the linking domain. Referral traffic is a byproduct of links, mentions, and partnerships. It is often small in volume and strong in engagement, because the visitor arrived with context. Watch this report for spam domains too, as we explain in [what is bot traffic](https://serplify.io/blog/what-is-bot-traffic/). Before May 2026, visits from AI assistants mostly landed here too. Since then, GA4 has an **AI Assistant** channel for visits from tools like ChatGPT, Gemini, and Copilot, as Search Engine Journal reported. It works by matching the referrer, so clicks that arrive with no referrer still land in Direct. Our guide to [referral traffic](https://serplify.io/blog/what-is-referral-traffic/) shows how each assistant shows up. ### 5. Organic social A person clicked a link on a social platform without paid promotion. Channel: **Organic Social**. GA4 recognizes the major platforms by source name. Social traffic tends to arrive in bursts around posts and to engage less than search or email. That is normal. Judge it on what the visitors do, not on the spike. ### 6. Paid social A person clicked a promoted post or ad on a social platform. Channel: **Paid Social**. Set medium to `cpc`, `paid`, or `paid_social` in your UTM tags so it lands here rather than in Organic Social or Unassigned. ### 7. Email A person clicked a link in an email you sent. Channel: **Email**. Medium must be exactly `email` (or `e-mail`, `e_mail`, `e mail`) for GA4 to sort it here. Email is usually the highest-engaging channel a site has, because the visitor already knows you. It is also the channel most often lost to Direct through missing tags. ### 8. Display and video ads A person clicked a banner, a native ad, or a video ad. Channels: **Display**, **Paid Video**, **Cross-network** for Google's automated campaigns. Google Ads tags these for you. Other networks need UTM tags with medium `display` or `cpm`. ## The two buckets that confuse everyone **Direct** we covered. It is the "we do not know" bucket wearing a confident name. **Unassigned** is the other one. It appears when a session has a source and medium that match none of GA4's channel rules. Nearly every time, it is a UTM tag with a medium GA4 does not recognize. For example, `medium=newsletter` lands in Unassigned, while `medium=email` lands in Email. Likewise `medium=banner` lands in Unassigned, while `medium=display` lands in Display. The fix is a UTM convention. Pick one spelling for each medium from GA4's channel list, write it down, and use it everywhere. Google's help page lists the exact values each channel accepts. ## How GA4 assigns a channel The order matters. For each session GA4 checks, roughly: 1. Is it from a Google Ads campaign? Then Paid Search, Paid Shopping, Cross-network, and so on. 2. Does the source match a known search engine and the medium look organic? Organic Search. 3. Does the source match a known social platform? Organic or Paid Social depending on medium. 4. Does the medium say `email`? Email. 5. Is the medium `referral`? Referral. 6. No referrer at all? Direct. 7. Nothing matched? Unassigned. Because of this order, the medium you write in a UTM tag decides the channel. Source names matter less. ## Judging a source: sessions are not the score The Traffic acquisition report sorts by sessions by default. Resist reading it that way. Add these columns and compare sources on them: | Metric | What it tells you | |---|---| | Engagement rate | Share of sessions that lasted 10 seconds, had a conversion, or viewed two pages | | Average engagement time per session | How long people actually stayed | | Key events (conversions) | Whether the visitors did the thing you wanted | | Key events per session | Value per visit, the number that matters for spending decisions | A source with 40,000 sessions and a 0.1 percent conversion rate is worth less than one with 2,000 sessions and 4 percent. This is also where bot traffic shows itself: a large source with near-zero engagement time is usually not people. Bounce rate in GA4 is simply the inverse of engagement rate. If you use it, read [how to reduce bounce rate](https://serplify.io/blog/how-to-reduce-bounce-rate/) first, because it means something different than it did in the old Google Analytics. ## Which sources you can change this month | Source | What moves it | How fast | |---|---|---| | Organic search | Rankings, SERP features, content | Months | | Paid search and social | Budget and targeting | Days | | Email | List size and send frequency | Days | | Referral | Links, mentions, partnerships | Weeks to months | | Organic social | Posting and audience | Weeks | | Direct | Better tagging (it shrinks, which is good) | Days | Test visits from a traffic tool are not one of the eight sources. Give them their own UTM source and medium so they stay out of this comparison. Tools that send [labelled test traffic](https://serplify.io/buy-website-traffic/) let you set the referrer and add UTM tags to the target URL. The steps to label, check and exclude it are in [how to check website traffic in GA4](https://serplify.io/blog/how-to-check-website-traffic-in-ga4/). Automated visits count as bot traffic, so never mix them into the numbers above. ## A five-minute traffic source check 1. Open Traffic acquisition and set the date range to the last 90 days. 2. Note the share of Direct and Unassigned. Over a third combined means tagging work. 3. Add engagement rate, average engagement time, and key events per session. 4. Sort by key events per session. That is your real ranking of sources. 5. Write down one action for the top source and one for the biggest untagged bucket. Frequently asked questions: Q: What are the main sources of website traffic? A: Organic search, paid search, direct, referral, organic social, paid social, email, and display or video advertising. Google Analytics 4 groups them into default channels using the source and medium of each session. Most sites get the bulk of their visits from organic search and direct. Q: What is the difference between source, medium, and channel in GA4? A: Source is the site or platform the visit came from, like google or facebook. Medium is the type of traffic, like organic, cpc, referral, or email. Channel is GA4's grouping of source and medium pairs into a short list, such as Organic Search or Paid Social. You set source and medium with UTM tags; GA4 derives the channel. Q: Why is so much of my traffic 'Direct'? A: Direct is where GA4 puts any visit with no referrer information. Typed URLs and bookmarks are part of it, but so are clicks from many mobile apps, some email clients, documents, and links that lost their referrer through a redirect. If Direct is more than a third of your traffic, add UTM tags to your emails and app links and watch it shrink. Q: What does 'Unassigned' mean in GA4? A: It means the session had source and medium values that did not match any channel rule. It is almost always a UTM tag with a nonstandard medium, such as 'newsletter' instead of 'email'. Fix the medium to one GA4 recognizes and future sessions sort correctly. Q: Which traffic source is best? A: The one that brings people who do what you want. Compare sources on engagement rate, average engagement time, and conversions per session, not on total sessions. Organic search is usually the largest and most durable. Email and referral often convert best. Paid gives control and speed at a cost. Sources: - Google Analytics Help: Default channel group: https://support.google.com/analytics/answer/9756891 - Google Analytics Help: Traffic acquisition report: https://support.google.com/analytics/answer/12923437 - Google Analytics Help: Collect campaign data with custom URLs (UTM): https://support.google.com/analytics/answer/10917952 - Search Engine Journal: Google Analytics adds AI Assistant as a default channel group (May 2026): https://www.searchenginejournal.com/google-analytics-adds-ai-assistant-as-default-channel-group/574974/ --- # Best SerpApi alternatives: 6 Google search APIs compared on price URL: https://serplify.io/blog/best-serpapi-alternatives/ Published: 2026-07-05 · Updated: 2026-10-09 > SerpApi alternatives compared on price per 1,000 searches, results per request and billing rules. Each price checked on the provider's own page, October 2026. Key takeaways: - SerpApi's plans from Starter to Big Data cost $25 to $9.17 per 1,000 searches, and one search returns one Google page of about 10 results (checked October 9, 2026). - For page-one checks, Serper ($1.00 to $0.30 per 1,000) and DataForSEO's standard queue ($0.60 per 1,000) were the cheapest APIs we checked. - For the top 100 results, SerpApi needs about 10 searches and DataForSEO bills 10 pages. Serplify charges one flat $0.005 per SERP of up to 100 results. - Most APIs on this list need new request and parsing code. Serplify can provide a SerpApi-shape adapter on request, so your parser can stay. SerpApi is a popular Google search API, but it is not the cheapest. The main SerpApi alternatives are DataForSEO, Serper, SearchApi.io, Bright Data, Zenserp and Serplify. Each returns Google results as JSON, and each beats SerpApi's price for at least some jobs. We make Serplify, one of the six. So every price below links to that company's own pricing page. We checked them all on October 9, 2026. Where another API costs less than ours, the tables say so. ## SerpApi alternatives at a glance A **SERP API** is a service that searches Google for you and returns the results page as data. The table shows the price of 1,000 requests, from the smallest plan to the largest. | API | How you pay | Price per 1,000 requests | |---|---|---| | SerpApi (for reference) | Monthly plan | $25 (Starter) to $9.17 (Big Data); bigger plans go lower | | DataForSEO | Prepaid, $50 minimum | $0.60 queue, $1.20 priority, $2 live | | Serper | Prepaid credit packs | $1.00 to $0.30 | | SearchApi.io | Monthly plan | $4 (Developer) to $1 (5 million plan) | | Bright Data | Pay as you go or monthly | $1.50 pay as you go | | Zenserp | Monthly plan | $2 (Small) to about $0.90 (Enterprise) | | Serplify | Prepaid, from $25 | $5, for up to 100 results | Most of these APIs charge per request. That hides a catch. One request is usually one Google page, and a page now holds about 10 results. ## Why depth changes the math **Depth** is how many results you ask for per keyword. Page one is about 10 results. A rank tracker that needs to find you at position 60 needs a depth of 100. Until September 2025, an API could ask Google for 100 results on one page with a setting called num=100. Google then stopped honoring it. Now a top-100 pull takes about 10 pages. SerpApi's own blog says the same job takes 10 searches. DataForSEO bills each extra 10 results as one more page. Here is what 1,000 keywords cost on the three APIs that publish how depth is billed: | API and mode | Page one (about 10 results) | Top 100 (about 10 pages) | |---|---|---| | SerpApi, Big Data plan | $9.17 | about $92 | | DataForSEO, standard queue | $0.60 | $6 | | DataForSEO, live | $2 | $20 | | Serplify, live or queued | $5 | $5 | The table cuts both ways. For page-one checks, DataForSEO's queue costs about one eighth of our price. For top-100 checks, Serplify costs 4 times less than DataForSEO live and about 18 times less than SerpApi's Big Data plan. For the other APIs, ask how deeper results are billed before you compare. If you track rankings past page one, our guide to [tracking rankings for thousands of keywords](https://serplify.io/blog/how-to-track-rankings-in-bulk/) shows the setup and the monthly math. ## The SerpApi alternatives, one by one ### DataForSEO DataForSEO sells SEO data by the request, with no subscription. Its Google Organic API has three speeds. A page of 10 results costs $0.0006 in the standard queue, $0.0012 in the priority queue and $0.002 in live mode. Each extra 10 results costs the same again. You prepay at least $50, and the balance never expires. Queries with search operators such as site: cost five times the base price. **Good fit:** page-one checks at high volume, and teams that also want keyword or backlink data from one vendor. **Watch for:** deep pulls multiply the bill. Our list of [DataForSEO alternatives](https://serplify.io/blog/dataforseo-alternatives/) covers it in more detail. ### Serper Serper sells prepaid credit packs. A query costs $1.00 per 1,000 on the $50 pack and $0.30 per 1,000 on the largest pack. Credits last six months. New accounts get 2,500 free queries with no card. **Good fit:** cheap page-one lookups, such as search results for an AI app. **Watch for:** credits expire after six months, so do not buy far ahead. ### SearchApi.io SearchApi.io sells monthly plans. The smallest is $40 for 10,000 searches, or $4 per 1,000. The largest listed is $5,000 for 5 million, or $1 per 1,000. It charges only for searches that return a 200 status code. **Good fit:** steady monthly volume that fills a plan. **Watch for:** a monthly plan only pays off if you use most of it. ### Bright Data SERP API Bright Data is a large proxy and web data company. Its SERP API costs $1.50 per 1,000 requests, pay as you go. A $499 monthly plan includes 380,000 requests. Its pricing page says you pay only for successful requests. **Good fit:** teams that already buy proxies or data from Bright Data. **Watch for:** the price is per request, so ask how deeper results are billed. ### Zenserp Zenserp has a free plan with 50 searches a month. Paid plans start at $49.99 for 25,000 searches, or $2 per 1,000. The largest, $899 for 1 million, works out to about $0.90 per 1,000. Yearly billing is 20% cheaper. **Good fit:** small projects with steady volume. **Watch for:** plan sizes jump from 25,000 to 100,000 searches, so check where your volume falls. ### Serplify Serplify is the API we build, so weigh this entry with that in mind. One SERP costs $0.005, live or queued, for up to 100 results. The price is the same at 10 results. So for page-one checks, most APIs above cost less. A live request is billed only when the SERP comes back. A queued task is billed when you submit it. Retries after a Google block cost you nothing. The balance never expires, and new accounts get $1 of free credit, about 200 SERPs. Top-up sizes and bonuses are on the [pricing page](https://serplify.io/pricing/). Nine block types come back with fully typed fields, such as organic results, ads, AI Overviews and the local pack. Over 40 more, such as videos and top stories, come back in a simpler shared shape. [SERP features explained](https://serplify.io/blog/serp-features-explained/) covers what each block is. **Good fit:** rank tracking past page one, and teams leaving DataForSEO, since Serplify copies its Google Organic endpoints. **Watch for:** it covers Google web search only, not Maps, Shopping or other engines. The SerpApi-shape adapter is on request, not self-serve. ### Also on most lists Oxylabs and ScraperAPI also sell Google search as part of larger scraping APIs. We could not confirm a Google-only price on their public pages in October 2026. So they are not in the tables. Ask them for a quote before you compare. The official search APIs are going away. Google's Custom Search JSON API is closed to new customers and ends on January 1, 2027. Our guide to [the Custom Search API shutdown](https://serplify.io/blog/google-custom-search-api-shutdown/) covers what Google suggests instead. Microsoft retired the Bing Search APIs on August 11, 2025, and our list of [Bing Search API alternatives](https://serplify.io/blog/bing-search-api-alternatives/) compares what replaced them. ## What SerpApi still does well SerpApi covers far more than Google web search. It has separate APIs for products such as Google Maps, Google Shopping and Google Scholar, plus other search engines. If you need those, check that an alternative covers them before you switch. Its paid plans include the U.S. Legal Shield. SerpApi says it provides up to $2 million in coverage for scraping and parsing search data. Only successful searches count toward your monthly total, and cached searches are free. The catch is the plan model. Your searches reset each billing cycle, so a quiet month still costs the full plan price. ## How to choose a SerpApi alternative 1. **Decide your depth.** Page one only, or the top 100? This one choice changes which API is cheapest. 2. **Price a real month.** Multiply your keywords by checks per month and pages per check. Use each provider's own price list. 3. **Check what you pay for.** Ask whether failed requests are billed and whether unused credit expires. 4. **Check the blocks you need.** If you track AI Overviews or the local pack, make sure they come back as fields, not raw HTML. 5. **Run a side-by-side test.** Send the same 50 keywords through both APIs from the same location and device. Compare the results before you switch. ## How to switch from SerpApi Most APIs on this list name their fields their own way, so a switch means two code changes. Serplify is the exception if you ask: it can give you an adapter that returns SerpApi's response shape. - **The request.** SerpApi takes the query as q and the place as location text. Serplify takes keyword, plus a location as a code or a name. - **The parser.** Results come back in a new shape. Map each new field to the one your database expects. Run both for a week and compare the numbers before you turn the old one off. If you pick Serplify, our [first request, step by step](https://serplify.io/blog/how-to-use-serplify-serp-api/) covers the key, the call and the response. The [Serplify SERP API page](https://serplify.io/serp-api/) lists every endpoint. For the two biggest names side by side with ours, read [Serplify vs SerpApi vs DataForSEO](https://serplify.io/blog/serplify-vs-serpapi-vs-dataforseo/). Frequently asked questions: Q: What is the cheapest SerpApi alternative? A: For page-one results, Serper's largest credit pack ($0.30 per 1,000 queries) and DataForSEO's standard queue ($0.60 per 1,000) had the lowest public prices we found in October 2026. For the top 100 results, Serplify's flat $0.005 per SERP cost less than SerpApi or DataForSEO. Price your own depth before you pick. Q: Is there a free SerpApi alternative? A: Not at volume. Serper gives 2,500 free queries, SearchApi.io 100 requests, Zenserp 50 searches a month and Serplify $1 of credit, about 200 SERPs. SerpApi has its own free plan with 250 searches a month. Q: Can I point my SerpApi code at Serplify? A: Serplify offers a SerpApi-shape adapter to customers who ask for it, so your parsing code can stay. Its public endpoints copy DataForSEO's Google Organic API, and it has its own native API too. Q: Why do SERP API prices look so different? A: They count different things. SerpApi charges per search, DataForSEO per page of 10 results, and Serplify per SERP of up to 100 results. Google stopped showing 100 results on one page in September 2025, so compare prices at the depth you need. Sources: - SerpApi: Pricing: https://serpapi.com/pricing - SerpApi: Google Search API docs (start and async parameters): https://serpapi.com/search-api - SerpApi blog: Scrape 100 search results on Google (num=100): https://serpapi.com/blog/solution-to-scrape-100-search-results-on-google-google-fast-light-api/ - PPC Land: How SISTRIX adjusted after Google removed the num=100 parameter: https://ppc.land/how-sistrix-adjusted-after-google-removed-the-num-100-parameter/ - DataForSEO: Google Organic SERP API pricing: https://dataforseo.com/pricing/serp/google-organic-serp-api - DataForSEO Help Center: SERP API pricing and depth update FAQ: https://dataforseo.com/help-center/serp-api-pricing-depth-update-faq - DataForSEO Help Center: Minimum payment: https://dataforseo.com/help-center/minimum-payment - Serper: Pricing: https://serper.dev/ - SearchApi.io: Pricing: https://www.searchapi.io/pricing - Bright Data: SERP API pricing: https://brightdata.com/pricing/serp - Zenserp: Pricing plans: https://zenserp.com/pricing-plans/ - Serplify docs: Pricing and wallet: https://docs.serplify.io/getting-started/pricing/ --- # DataForSEO alternatives: 6 Google search APIs compared on price and switching effort URL: https://serplify.io/blog/dataforseo-alternatives/ Published: 2026-07-05 · Updated: 2026-10-09 > DataForSEO alternatives for Google results, compared on price per 1,000 pages, depth billing and how much code a switch takes. Prices checked October 2026. Key takeaways: - Since September 19, 2025, DataForSEO bills every 10 results as one page. A 100-result live SERP costs $0.02 (checked October 9, 2026). - For page-one checks, DataForSEO's standard queue at $0.60 per 1,000 beat every alternative here except Serper's largest credit pack. - Serplify copies DataForSEO's Google Organic /v3 endpoints, so a switch is a new base URL and key. It charges $0.005 per SERP of up to 100 results. The main DataForSEO alternatives for Google results are SerpApi, Serper, SearchApi.io, Bright Data, Zenserp and Serplify. Of these six, only Serplify accepts DataForSEO's requests unchanged, so your code keeps working. Which one costs less depends on how many results you need per keyword. We make Serplify, so read our entry with that in mind. We checked every price below on the provider's own page on October 9, 2026. ## Why teams look for a DataForSEO alternative DataForSEO sells SEO data by the request, with no subscription. Its Google Organic API has a standard queue, a priority queue and a live mode. Page-one prices are low, and many teams stay for that. Teams that leave usually have one of these reasons: - **Depth billing.** Since September 19, 2025, every 10 results count as one page. A top-100 live check costs $0.02, ten times a page-one check. - **The $50 minimum.** Fine for an agency. A lot for one developer testing an idea. - **The queue.** The cheapest mode is a queue that DataForSEO lists at about 5 minutes. That suits overnight jobs, not a user who is waiting. - **Search operators.** Queries with site: or inurl: cost five times the base price. None of these is about bad data. They are about fit and cost. ## DataForSEO alternatives compared The table shows the price of 1,000 checks at two depths. Page one is about 10 results. Top 100 is about 10 Google pages. | API | Page one, per 1,000 | Top 100, per 1,000 | Accepts DataForSEO requests? | |---|---|---|---| | DataForSEO (for reference) | $0.60 queue, $1.20 priority, $2 live | $6, $12, $20 | Yes | | Serplify | $5 | $5 | Yes, Google Organic only | | SerpApi | $25 (Starter) to $9.17 (Big Data); bigger plans go lower | About 10 searches each, so about $92 on Big Data | No | | Serper | $1.00 to $0.30 | Ask how depth is billed | No | | SearchApi.io | $4 to $1 | Ask how depth is billed | No | | Bright Data | $1.50 pay as you go | Ask how depth is billed | No | | Zenserp | $2 to about $0.90 | Ask how depth is billed | No | Two things stand out. For page-one checks, DataForSEO is very hard to beat. Only Serper's biggest pack costs less. For the top 100 results, Serplify costs less than any DataForSEO mode. Deep pulls cost more almost everywhere now. In September 2025, Google stopped showing 100 results on one page. So a top-100 check takes about 10 page loads, and most APIs bill for each one. ## The alternatives, one by one ### Serplify: same requests, one price per SERP Serplify is the API we build. Its `/v3` endpoints copy DataForSEO's Google Organic API. That covers live regular, advanced and html, task_post, tasks_ready, task_get, and the locations and languages lists. The request array, the tasks envelope and the five-digit status codes match. One SERP costs $0.005 for up to 100 results, live or queued. A live request is billed only when the SERP comes back. A queued task is billed when you submit it, like task_post. Retries after a Google block are free. The full rates are on our [pricing page](https://serplify.io/pricing/). **Good fit:** DataForSEO users who pull deep results and want to keep their code. **Watch for:** the price is flat, so page-one checks cost more than DataForSEO's queue. Only Google Organic is covered. ### SerpApi SerpApi sells monthly plans. They run from $25 for 1,000 searches to $275 for 30,000, which is $9.17 per 1,000. Bigger plans cost less per search. Only successful searches count, and your searches reset each billing cycle. It has separate APIs for Google Maps, Shopping, Scholar and other search engines. Paid plans include its U.S. Legal Shield. We compare it with other options in our guide to [SerpApi alternatives](https://serplify.io/blog/best-serpapi-alternatives/). **Good fit:** teams that need many Google products from one vendor. **Watch for:** a top-100 pull takes about 10 searches. ### Serper Serper sells prepaid credit packs from $50. A query costs $1.00 per 1,000 on the smallest pack and $0.30 on the largest. Credits last six months, and new accounts get 2,500 free queries. **Good fit:** cheap page-one lookups. **Watch for:** credits expire after six months. ### SearchApi.io SearchApi.io sells monthly plans, from $40 for 10,000 searches to $5,000 for 5 million. Only searches that return a 200 status code are charged. **Good fit:** steady volume that fills a monthly plan. **Watch for:** you pay for the plan whether you use it or not. ### Bright Data SERP API Bright Data charges $1.50 per 1,000 requests pay as you go, or $499 a month for 380,000. Its pricing page says only successful requests are billed. **Good fit:** teams that already buy proxies or data from Bright Data. **Watch for:** per-request pricing adds up at depth. ### Zenserp Zenserp has 50 free searches a month. Paid plans start at $49.99 for 25,000 searches and reach $899 for 1 million. **Good fit:** small, steady projects. **Watch for:** a big gap between plan sizes. ### If you use DataForSEO for keyword data Many teams use DataForSEO for more than results pages, such as search volume or backlinks. A SERP API does not replace those. Keep DataForSEO for that part, or look at the keyword and backlink APIs from Semrush or Ahrefs. ## How to switch from DataForSEO without breaking your parser The risk in a switch is your parser, not the HTTP call. Your code expects one JSON shape. A small change in that shape can corrupt stored data without any error. With Serplify's `/v3` endpoints, the shape stays the same. Here are the steps: 1. **Swap the base URL** from api.dataforseo.com to api.serplify.io. 2. **Swap the auth.** DataForSEO uses a login and password. Serplify uses a Bearer key. 3. **Keep your request bodies and your parser** as they are. 4. **Test one live advanced call** from end to end. 5. **Run a side-by-side test.** Send the same 50 to 100 keywords to both, from the same location and device. Compare the parsed items field by field. 6. **Move traffic over in steps.** Keep the old account active until the numbers match. Only the host and the auth header differ from a DataForSEO call: ```bash curl -X POST https://api.serplify.io/v3/serp/google/organic/live/advanced \ -H "Authorization: Bearer live_your_key_here" \ -H "Content-Type: application/json" \ -d '[ { "keyword": "best running shoes", "location_code": 2840, "language_code": "en", "device": "desktop" } ]' ``` The full checklist is in the [DataForSEO migration docs](https://docs.serplify.io/migrating/dataforseo/). New to Serplify? Our [first SERP API request, step by step](https://serplify.io/blog/how-to-use-serplify-serp-api/) covers keys and the response. A switch to any other API here means new code. Map each field you store to its new name, and keep both feeds running until they agree. To see what each parsed field means, read [how we parse SERP features into JSON](https://serplify.io/blog/how-we-parse-serp-features-into-json/). ## Which DataForSEO alternative fits you - **You check page one only, at high volume.** Stay on DataForSEO's queue, or try Serper. - **You track the top 100 and want to keep your code.** Serplify. - **You need Google Maps, Shopping or other engines from one vendor.** SerpApi. - **You already buy proxies from Bright Data.** Its SERP API keeps you with one vendor. - **You want an official search API instead.** Few are left. Google's Custom Search JSON API ends on January 1, 2027, as our guide to [the Custom Search API shutdown](https://serplify.io/blog/google-custom-search-api-shutdown/) explains. Microsoft retired the Bing Search APIs in August 2025. See [Bing Search API alternatives](https://serplify.io/blog/bing-search-api-alternatives/) for what replaced them. For the three best-known options in one table, see [Serplify vs SerpApi vs DataForSEO](https://serplify.io/blog/serplify-vs-serpapi-vs-dataforseo/). If you track rankings at scale, [how to track rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) covers the schedule and storage side. Every endpoint is listed on the [Serplify SERP API page](https://serplify.io/serp-api/). Frequently asked questions: Q: How much does DataForSEO cost for 100 results? A: Each 10 results counts as one page, so 100 results cost 10 times the base price. In October 2026 that was $0.02 in live mode, $0.012 in the priority queue and $0.006 in the standard queue. Q: Is there a DataForSEO-compatible API? A: Yes. Serplify serves the same Google Organic paths under /v3, with the same request array, envelope and status codes. You change the base URL to api.serplify.io and send a Bearer key instead of a login and password. Other DataForSEO APIs, such as Labs or Backlinks, are not covered. Q: Does DataForSEO have a minimum deposit? A: Yes. The minimum payment is $50. The balance does not expire, so you can spend it slowly. Q: What is the cheapest DataForSEO alternative? A: For page-one results, Serper's largest pack at $0.30 per 1,000 queries was the only lower public price we found. For the top 100 results, Serplify at $5 per 1,000 SERPs cost less than all three DataForSEO modes. Sources: - DataForSEO: Google Organic SERP API pricing: https://dataforseo.com/pricing/serp/google-organic-serp-api - DataForSEO Help Center: SERP API pricing and depth update FAQ: https://dataforseo.com/help-center/serp-api-pricing-depth-update-faq - DataForSEO Help Center: Minimum payment: https://dataforseo.com/help-center/minimum-payment - SerpApi: Pricing: https://serpapi.com/pricing - SerpApi blog: Scrape 100 search results on Google (num=100): https://serpapi.com/blog/solution-to-scrape-100-search-results-on-google-google-fast-light-api/ - Serper: Pricing: https://serper.dev/ - SearchApi.io: Pricing: https://www.searchapi.io/pricing - Bright Data: SERP API pricing: https://brightdata.com/pricing/serp - Zenserp: Pricing plans: https://zenserp.com/pricing-plans/ - Serplify docs: DataForSEO drop-in: https://docs.serplify.io/migrating/dataforseo/ --- # Serplify vs SerpApi vs DataForSEO SERP API: price, billing and features compared URL: https://serplify.io/blog/serplify-vs-serpapi-vs-dataforseo/ Published: 2026-07-05 · Updated: 2026-10-09 > Serplify vs SerpApi vs DataForSEO SERP API, compared on price per 1,000 searches, top-100 cost, billing rules and switching effort. Checked October 2026. Key takeaways: - Page one: the DataForSEO SERP API is cheapest, at $0.60 per 1,000 in its standard queue. SerpApi's plans from Starter to Big Data cost $25 to $9.17 per 1,000 searches. Serplify costs $5. - Top 100 results: Serplify is cheapest at $5 per 1,000 SERPs. DataForSEO costs $6 to $20, and SerpApi needs about 10 searches per keyword. - SerpApi bills a monthly plan. DataForSEO and Serplify use a prepaid balance that never expires. - Serplify copies the DataForSEO SERP API's Google Organic endpoints. For SerpApi users, it offers an adapter that returns SerpApi's response shape, on request. - SerpApi and DataForSEO both cover more Google products than Serplify, which serves Google web search only. SerpApi, the DataForSEO SERP API and Serplify all fetch Google results and return them as JSON. They differ in three ways that matter: how they bill, how many results one request returns, and how much code a switch takes. The short answer, with prices checked on October 9, 2026: DataForSEO is cheapest for page-one checks. Serplify is cheapest for the top 100 results. SerpApi costs the most on its smaller plans, but it has separate APIs for many Google products and other engines. We make Serplify. So every competitor number here comes from that company's own pricing page, linked under sources. For more options beyond these three, see our [six SerpApi alternatives with prices](https://serplify.io/blog/best-serpapi-alternatives/). ## Serplify vs SerpApi vs DataForSEO at a glance | | SerpApi | DataForSEO SERP API | Serplify | |---|---|---|---| | How you pay | Monthly plan | Prepaid, $50 minimum | Prepaid, top-ups from $25 | | Page one, per 1,000 | $25 (Starter) to $9.17 (Big Data); lower on bigger plans | $0.60 queue, $1.20 priority, $2 live | $5 | | Top 100, per 1,000 | About 10 searches each, so about $92 on Big Data | $6 queue, $12 priority, $20 live | $5 | | Unused credit | Searches reset each billing cycle | Never expires | Never expires | | Accepts DataForSEO requests | No | Yes | Yes, Google Organic | | Google products | Web search plus separate APIs such as Maps, Shopping and Scholar | Organic plus separate endpoints such as Maps and News | Google web search only | ## How each one bills ### SerpApi: a monthly plan, counted in searches SerpApi sells plans by the month. Starter is $25 for 1,000 searches. Big Data is $275 for 30,000, or $9.17 per 1,000. Bigger plans cost less per search, down to $3.75 per 1,000 on the 1 million plan. Only successful searches count toward your total. Cached, errored and failed searches do not. Your searches reset each billing cycle, so a quiet month still costs the full plan. A free plan gives 250 searches a month. ### DataForSEO: prepaid, billed per page of 10 results The DataForSEO SERP API is pay as you go. You prepay at least $50, and the balance never expires. A page of 10 results costs $0.0006 in the standard queue, $0.0012 in the priority queue and $0.002 in live mode. Since September 19, 2025, each 10 results counts as one page. So depth multiplies the bill. One hundred results in live mode cost $0.02. ### Serplify: prepaid, billed per SERP of up to 100 results Serplify charges $0.005 per SERP, live or queued, for up to 100 results. A live request is billed only when the SERP comes back. A queued task is billed when you submit it, the same way DataForSEO's task_post works. Retries after a Google block are free. You prepay from $25, and the balance never expires. New accounts get $1 free, about 200 SERPs. Top-up bonuses are on our [pricing page](https://serplify.io/pricing/). ## Which one costs less for your job The cheapest option depends on **depth**, meaning how many results you need per keyword. In September 2025, Google stopped showing 100 results on one page. Now a top-100 check takes about 10 pages, and SerpApi's own blog says it takes 10 searches. | Job | SerpApi (Big Data) | DataForSEO | Serplify | |---|---|---|---| | 1,000 page-one checks | $9.17 | $0.60 to $2 | $5 | | 1,000 top-100 checks | About $92 | $6 to $20 | $5 | For page one, DataForSEO wins clearly. For the top 100, Serplify costs a quarter of DataForSEO live and a little less than its queue. SerpApi costs more in both rows, though its biggest plans narrow the gap. A rank tracker usually needs depth. If your page sits at position 40, a page-one check never finds it. Our post on [how much a rank tracker costs](https://serplify.io/blog/how-much-does-a-rank-tracker-cost/) compares these prices with ready-made tools. ## Which SERP features each one returns All three parse the main Google blocks. That means organic results, ads, featured snippets, People Also Ask, the local pack, the knowledge panel and AI Overviews. If some of those names are new to you, [SERP features explained](https://serplify.io/blog/serp-features-explained/) shows what each block is. Serplify returns 9 block types with fully typed fields. Over 40 more, such as videos, top stories and shopping, come back in a simpler shared shape. Its item types follow DataForSEO's names, such as organic, people_also_ask and ai_overview. We have not run a side-by-side feature test of all three, so we do not score them here. The fair test uses your own keywords. Run 50 through each, from the same place and device, and compare the parsed blocks. ## Live requests and queued tasks - **SerpApi** returns each search in the same call by default. It also has an async option to collect results later. - **The DataForSEO SERP API** has two queues and a live mode. It lists the standard queue at about 5 minutes and live mode at up to 6 seconds. - **Serplify** has a live endpoint and queued tasks, run by the same engine. Live requests usually take a few seconds. If one runs long, it turns into a task and is billed once. Tasks can call your webhook when they finish. ## How much code a switch takes - **DataForSEO to Serplify:** change the base URL and the auth header. Your request bodies and your parser stay the same. This covers Google Organic only. - **SerpApi to Serplify:** ask for the SerpApi-shape adapter and your parser can stay. Without it, you map the new field names yourself. - **SerpApi to DataForSEO:** a rewrite. It uses other field names and another response shape. - **DataForSEO to SerpApi:** also a rewrite. The DataForSEO to Serplify change looks like this: ```diff - POST https://api.dataforseo.com/v3/serp/google/organic/live/advanced + POST https://api.serplify.io/v3/serp/google/organic/live/advanced - Authorization: Basic (your login and password) + Authorization: Bearer live_your_key_here ``` The full steps are in our list of [DataForSEO alternatives](https://serplify.io/blog/dataforseo-alternatives/) and in the [migration docs](https://docs.serplify.io/migrating/dataforseo/). ## Which should you choose - **Choose SerpApi** if you need Google Maps, Shopping, Scholar or other engines from one vendor, and your volume fills a monthly plan. - **Choose the DataForSEO SERP API** if you check page one at high volume and can wait for a queue. - **Choose Serplify** if you track the top 100 results, or you run DataForSEO code and want one flat price per SERP. If Serplify fits, the [Serplify SERP API page](https://serplify.io/serp-api/) lists the endpoints, and our [step-by-step first request](https://serplify.io/blog/how-to-use-serplify-serp-api/) gets you from key to JSON. Frequently asked questions: Q: Which is cheaper, SerpApi or DataForSEO? A: DataForSEO, by a wide margin. A page of 10 results costs $0.0006 to $0.002 there. SerpApi's plans from Starter to Big Data cost about $0.009 to $0.025 per search, and its larger plans go lower. Prices checked October 2026. Q: Is Serplify compatible with the DataForSEO SERP API? A: Yes, for Google Organic. Serplify serves the same /v3 paths, request array, envelope and status codes. You change the base URL and send a Bearer key instead of a login and password. Q: Is Serplify compatible with SerpApi? A: Not by default, but Serplify offers a SerpApi-shape adapter to customers who ask for it. With it, you keep your parsing code and change the endpoint and key. Contact sales to set it up. Q: Which is best for rank tracking at scale? A: If you check page one only, DataForSEO's queue costs the least. If you need the top 100 results, Serplify's flat $0.005 per SERP costs the least of the three. A SerpApi plan suits steady volume that fills it each month. Sources: - SerpApi: Pricing: https://serpapi.com/pricing - SerpApi: Google Search API docs (start and async parameters): https://serpapi.com/search-api - SerpApi blog: Scrape 100 search results on Google (num=100): https://serpapi.com/blog/solution-to-scrape-100-search-results-on-google-google-fast-light-api/ - DataForSEO: Google Organic SERP API pricing: https://dataforseo.com/pricing/serp/google-organic-serp-api - DataForSEO Help Center: SERP API pricing and depth update FAQ: https://dataforseo.com/help-center/serp-api-pricing-depth-update-faq - DataForSEO Help Center: Minimum payment: https://dataforseo.com/help-center/minimum-payment - PPC Land: How SISTRIX adjusted after Google removed the num=100 parameter: https://ppc.land/how-sistrix-adjusted-after-google-removed-the-num-100-parameter/ - Serplify docs: Pricing and wallet: https://docs.serplify.io/getting-started/pricing/ - Serplify docs: DataForSEO drop-in: https://docs.serplify.io/migrating/dataforseo/ --- # Google AI Overviews Study: How Often They Appear by Query Type (October 2026) URL: https://serplify.io/blog/google-ai-overviews-study/ Published: 2026-10-09 > Google showed an AI Overview on 77% of 494 US searches we checked on October 9, 2026: 97% of questions, 34% of local searches. Full data and method. Key takeaways: - Google showed an AI Overview on 380 of 494 US desktop results pages we fetched on October 9, 2026. That is 77 percent. - Question searches (70 of 72) and comparison searches (68 of 70) almost always had one. Local searches had one only 24 times out of 70. - Only 26 percent of the pages an AI Overview cited were also in the organic top 10 for the same search. YouTube was cited in 54 percent of all AI Overviews. - Mobile and desktop showed AI Overviews at the same rate (114 and 113 of 154 keywords), but 27 keywords had one on only one device. Google showed an AI Overview on 77 percent of the US searches we checked. We fetched 494 Google results pages on desktop on October 9, 2026, and 380 of them had an AI answer on the page. The kind of search matters most: 97 percent of question searches had one, but only 34 percent of local searches did. An **AI Overview** is the short answer Google writes with AI and places above the normal results, with links to the pages it used. This study counts how often it shows up, how many pages it cites, and which websites those are. You can [download the full dataset](https://serplify.io/data/google-ai-overviews-study-2026-10.csv) and check every number. ## Key findings All numbers come from US, English language Google results fetched on October 9, 2026. 1. **77 percent of desktop results pages had an AI Overview.** That was 380 of 494 searches. 2. **Questions and comparisons almost always got one.** 70 of 72 question searches (97 percent) and 68 of 70 "best" or "vs" searches (97 percent) had an AI Overview. Local searches had the fewest: 24 of 70 (34 percent). 3. **Most cited pages did not rank in the top 10.** The 380 AI Overviews cited 2,931 links. Only 776 of them (26 percent) were also top 10 organic results for the same search. 4. **YouTube was the most cited site by far.** It was cited in 204 of 380 AI Overviews (54 percent). Reddit was second, in 82 (22 percent). 5. **Mobile and desktop showed AI Overviews at the same rate.** On 154 keywords fetched on both devices, 114 had one on mobile and 113 on desktop. Still, 27 of those keywords had one on only one device. ## How often AI Overviews appear by query type We put every keyword into one of seven query types using fixed word rules. The rules are in the [methods section](#how-we-ran-the-study). Then we counted the results pages that had an AI Overview. | Query type | Example from the sample | Pages | With an AI Overview | Share | 95% range | |---|---|---|---|---|---| | Question | how to fix cars | 72 | 70 | 97% | 90 to 99% | | Comparison and "best" | mac vs pc | 70 | 68 | 97% | 90 to 99% | | Health and money (YMYL) | signs of pregnancy | 70 | 66 | 94% | 86 to 98% | | Price and buying | low cost flights | 70 | 56 | 80% | 69 to 88% | | Short topic term | chicken cutlets | 72 | 55 | 76% | 65 to 85% | | Brand or website | jetblue check in | 70 | 41 | 59% | 47 to 69% | | Local | family dentist near me | 70 | 24 | 34% | 24 to 46% | | **All types** | | **494** | **380** | **77%** | **73 to 80%** | The 95% range shows how far each share could move with a new sample of the same size. The local range runs from 24 to 46 percent, for example. So a gap of a few points between two types means little. The big gaps hold up: questions and comparisons sit far above brand and local searches. SEOs call health and money topics YMYL, short for "Your Money or Your Life". Bad advice on these topics can hurt people. Google still showed an AI Overview on 94 percent of them: 34 of 35 health searches and 32 of 35 money searches. ### Local searches: the map pack still wins Local searches had the fewest AI Overviews. The map pack with nearby businesses showed on 50 of the 70 local pages, and only 8 of those 50 also had an AI Overview. The local group was mixed. None of the 7 dentist searches had an AI Overview. Movie and show searches had one 6 times out of 7, and hotel searches 5 times out of 7. When a local AI Overview did show, it often pointed to Google's own business or hotel listings instead of websites. That happened on 11 of the 24. [A smaller sample we ran in September 2026](https://serplify.io/blog/what-is-a-serp/) found no AI Overviews on 20 local searches. Two samples cannot tell us whether this is a change over time or just different keywords. One detail matters here, though: 15 of the 24 local AI Overviews in this study loaded after the rest of the page. A fetch that does not wait for late answers could miss most of them. ### Brand searches: help and login searches get an answer Searches for a brand or website were split. Brand searches with *login*, *check in*, *customer service*, *support*, *download*, *portal*, *jobs*, or *careers* had an AI Overview 18 times out of 19. The other 51 brand searches, mostly a business name alone, had one 23 times. We did not plan that split before the study. Treat it as a lead to check on your own keywords, not a finding. ## Which industries see the most AI Overviews | Industry | Pages | With an AI Overview | Share | |---|---|---|---| | Education | 46 | 40 | 87% | | Entertainment | 46 | 40 | 87% | | Finance | 63 | 55 | 87% | | Travel | 46 | 40 | 87% | | Tech | 46 | 37 | 80% | | Health | 63 | 50 | 79% | | Food | 46 | 32 | 70% | | Home services | 46 | 31 | 67% | | Auto | 46 | 30 | 65% | | Retail and fashion | 46 | 25 | 54% | Read this table with care. Eight of the industries have the same mix of query types. Health and finance swap their questions and short topic terms for the 70 YMYL keywords. Most of the gap between industries comes from local and brand searches. Health, for example, drops because none of its dentist searches had an AI Overview. Leave out local and brand searches and every industry but retail lands between 84 and 100 percent. Retail stays lowest at 22 of 32 (69 percent). On 8 of the 10 retail pages without an AI Overview, Google showed a grid of products with prices instead. ### Longer searches got more AI Overviews Searches of five words or more had an AI Overview 88 percent of the time (134 of 152). Searches of one to four words had one 72 percent of the time (246 of 342). Search volume made less difference: 70 percent for keywords with 100 to 999 monthly searches, 81 percent for 1,000 to 9,999, and 78 percent for 10,000 or more. ## How many sources an AI Overview cites An AI Overview cited 7.7 web pages on average. The middle value was 8. Most of them (277 of 380) cited between 5 and 11 pages. Nine listed no sources at all. In six of them, the answer named local businesses and linked them to Google's own place listings inside the text. Health and money answers cited the most pages, 8.9 on average. Local answers cited the fewest, 4.8, and brand answers 5.5. ## Do AI Overviews cite the pages that rank? Mostly not the same pages. Of 2,931 cited links, 776 (26 percent) pointed to a page that was also in the organic top 10 for that search. At the site level the overlap was higher. About half of the cited links came from a website that had some page in the top 10. | Measure (380 desktop AI Overviews) | Count | Share | |---|---|---| | Cited links that were a top 10 organic page | 776 of 2,931 | 26% | | Cited links from a site with any page in the top 10 | 1,503 of 2,931 | 51% | | AI Overviews citing at least one top 10 page | 227 of 380 | 60% | | AI Overviews citing the number 1 organic result | 139 of 380 | 37% | | AI Overviews with sources but none from the top 10 | 144 of 371 | 39% | So ranking well helps, but it does not get you cited by itself. Google's documentation says AI Overviews may run several related searches and pull in more supporting pages while the answer is written. That may be why many sources come from outside the results you see. Google calls this query fan-out, and AI Mode uses it too, as we explain in [AI Mode vs AI Overviews](https://serplify.io/blog/google-ai-mode-vs-ai-overviews/). Price and buying searches had the most overlap: 35 percent of their cited links were in the top 10. Question, short topic, and YMYL searches had the least, at 22 percent each. ## Which websites AI Overviews cite most This table counts how many AI Overviews cited each site at least once. | Rank | Website | AI Overviews citing it (of 380) | Share | |---|---|---|---| | 1 | youtube.com | 204 | 54% | | 2 | reddit.com | 82 | 22% | | 3 | facebook.com | 61 | 16% | | 4 | en.wikipedia.org | 29 | 8% | | 5 | instagram.com | 24 | 6% | | 6 | nerdwallet.com | 20 | 5% | | 7 | mayoclinic.org | 20 | 5% | | 8 | my.clevelandclinic.org | 19 | 5% | | 9 | quora.com | 15 | 4% | | 10 | studentaid.gov | 15 | 4% | | 11 | tiktok.com | 14 | 4% | | 12 | consumerreports.org | 12 | 3% | | 13 | bankrate.com | 12 | 3% | | 14 | heart.org | 12 | 3% | | 15 | pmc.ncbi.nlm.nih.gov | 12 | 3% | Video stands out. YouTube links made up 484 of the 2,931 citations, or 17 percent. YouTube was cited in 48 of 70 question answers and 51 of 68 comparison answers. Social and forum sites fill many of the next spots: Reddit, Facebook, Instagram, Quora, and TikTok. Behind them is a long tail of 1,291 different websites. Health answers leaned on Mayo Clinic, Cleveland Clinic, the American Heart Association, and the US National Library of Medicine. Money answers leaned on NerdWallet, Bankrate, and the federal student aid site. That last one ranks high partly because our money sample held many student loan searches. ## How AI Overviews sit with other SERP features A **SERP feature** is any block on the results page that is not a plain link, like People Also Ask or a map. Here is how often each one showed up next to an AI Overview. | Feature | Pages with it (of 494) | Of those, pages that also had an AI Overview | |---|---|---| | People Also Ask | 430 | 333 (77%) | | Video block | 122 | 108 (89%) | | Local map pack | 102 | 32 (31%) | | Shopping or product grid | 52 | 22 (42%) | | Discussions and forums | 51 | 50 (98%) | | Featured snippet | 0 | none | Three patterns stand out. - **No featured snippets at all.** Not one of 494 pages had one. Our [featured snippet guide](https://serplify.io/blog/how-to-get-a-featured-snippet/) covers what replaced them. - **Forum and video blocks travel with AI Overviews.** 50 of 51 pages with a forums block also had an AI Overview. - **Map packs and shopping grids mostly show without one.** Only 31 percent of pages with a map pack had an AI Overview. When an AI Overview showed, it was the very first block on the page 317 times out of 380 (83 percent). Across all 494 pages, the first organic result was the first thing on the page only 69 times (14 percent). Our guide to [SERP features](https://serplify.io/blog/serp-features-explained/) explains each block. ## Mobile vs desktop We fetched 154 of the keywords on a phone as well, 22 from each query type. | Measure | Desktop | Mobile | |---|---|---| | Keywords checked | 154 | 154 | | With an AI Overview | 113 (73%) | 114 (74%) | | Average sources per AI Overview | 7.3 | 7.6 | | Cited links that were top 10 organic pages | 25% | 17% | The rate was the same on both devices. 100 keywords had an AI Overview on both, and 27 had one on neither. The other 27 differed: 13 had one only on desktop and 14 only on mobile. So about one keyword in six gave a different answer by device. When both devices showed one, they usually cited the same websites: 66 of those 100 pairs cited exactly the same set. Mobile answers cited fewer top 10 pages. Part of that gap may come from the page itself, since mobile pages listed slightly fewer organic results (8.0 against 8.3 on average). For more on why the two pages differ, see [why mobile and desktop rankings differ](https://serplify.io/blog/why-mobile-and-desktop-rankings-differ/). ## How we ran the study ### The keyword sample We pulled keywords from DataForSEO Labs, a keyword database, with its Keyword Ideas tool. Every keyword is a US English search with at least 100 searches a month, by the Labs estimate. We used 10 industries with 7 or 8 seed terms each, for example *diabetes* and *dentist* for health, or *flights* and *hotels* for travel. We asked for each query type in its own request, using a word pattern or DataForSEO's intent label as a filter. Six groups came back thin, so we ran one more request for each with extra seed terms. We did the same for the health and money groups, which leaned on too few topics. With one test request, that made 67 keyword requests. Each keyword got exactly one query type. We checked these rules in order and used the first that matched: | Order | Query type | Rule | |---|---|---| | 1 | Local | Contains *near me*, *nearby*, *near by*, or *open now* | | 2 | Question | Starts with how, what, why, when, where, who, which, can, does, do, is, are, or should | | 3 | Local | Names one of 30 large US cities: New York, NYC, Los Angeles, Chicago, Houston, Phoenix, Philadelphia, San Antonio, San Diego, Dallas, Austin, Jacksonville, San Jose, Columbus, Charlotte, Indianapolis, San Francisco, Seattle, Denver, Nashville, Washington DC, Boston, Las Vegas, Portland, Detroit, Atlanta, Miami, Orlando, Tampa, Minneapolis | | 4 | Comparison and "best" | Contains best, vs, versus, review, compare, comparison, alternative, top plus a number, or top rated | | 5 | Price and buying | Contains buy, price, pricing, cost, coupon, promo, discount, deal, cheap, sale, or order | | 6 | Brand or website | DataForSEO's intent model labels it navigational and it names a brand or site | | 7 | Short topic term | Labeled informational by the same model and 1 to 3 words long | | 8 | Health and money (YMYL) | Any question, short topic, or other informational keyword from the health or finance industries | Brand names that contain a rule word, like *Best Buy*, did not count as that word. We also removed near copies, such as two keywords with the same words in a different order, and kept the one with more searches. Next we shuffled each industry and type pair with a fixed random seed and drew keywords in that order. We drew 7 per industry for local, brand, comparison, and price searches, so 70 each. We drew 9 per industry for questions and short topic terms from the 8 industries outside health and finance, so 72 each. The YMYL group took 35 health and 35 finance keywords. We read every drawn keyword by hand. We removed 183 of the 677 we drew (27 percent) and replaced each with the next one in line: | Reason removed | Keywords | |---|---| | Same pattern as a keyword already drawn | 49 | | A brand or product was the subject, outside the brand group | 40 | | A rule word was part of a name, like the actor Vincent Price | 37 | | In the brand group but named no brand | 20 | | A city was the topic or a flight route, not a local search | 14 | | Off topic for its industry or unclear | 14 | | Not a US English search | 7 | | A how or when question that the rules read as buying | 2 | That left 494 keywords: 70 or 72 per query type, across 10 industries. ### How we fetched the pages All 648 results pages were fetched through the DataForSEO SERP API on October 9, 2026, between 18:38 and 18:45 UTC. We used the Live Google Organic Advanced endpoint. The settings were United States (location code 2840), English, and the top 10 results. All 494 keywords ran on desktop, and 154 of them also ran on mobile. Some AI Overviews load a moment after the rest of the page. We turned on DataForSEO's *load_async_ai_overview* option so the fetch waits for them. That mattered: 114 of the 380 desktop AI Overviews (30 percent) loaded this way. For local searches it was 15 of 24. Each fetch cost $0.002, plus $0.002 more when an AI Overview loaded late. The whole study cost $2.89 in API fees: $1.31 for keyword data and $1.58 for 648 results pages. ### What we counted - **AI Overview present**: the page held an AI Overview block. Three of the 380 blocks came back with no text. We still count them, because the block was on the page. - **Sources**: the different web addresses the AI Overview linked to, from its source list and its inline links. Links back into Google itself, such as place cards and Google searches, are not counted as sources. 64 of the 380 AI Overviews had links like that. - **In the top 10**: the cited address matched one of the first 10 organic results on the same page. We ignored http or https, www, a trailing slash, and anything after a # sign. A site match means the same website name. - **95% ranges**: Wilson score intervals for each share. - **Other features**: People Also Ask, featured snippet, local map pack (hotel packs not counted), video or short video blocks, discussions and forums, and shopping or product grids. ### Limits of this study - **One country, one day.** AI Overviews change often, and other countries and languages will differ. - **A logged-out fetch.** We saw what a fresh desktop browser or phone sees. A signed-in user can see a different page. - **Late-loading answers.** We waited for AI Overviews that load late, but one that loads later still, or only after a click, would be missed. Our rates are more likely too low than too high. - **Keyword choice.** The sample comes from one keyword database, our seed terms, and our rules. A quarter of the drawn keywords were removed by hand. The YMYL group leans toward blood pressure, diabetes, pregnancy, student loans, and mortgages. - **Equal weight per type.** Each query type has about 70 keywords, whatever its share of real searches. So 77 percent is the rate for this sample, not for all Google searches. That last point is one reason other studies report lower numbers. Pew Research studied the web browsing of 900 US adults in March 2025. An AI summary showed on 18 percent of their Google searches. Semrush found AI Overviews on 15.69 percent of queries in November 2025, across more than 10 million keywords. Both cover a broader mix of searches than our sample, and both are from an earlier date. ## Download the data Get the full dataset as a CSV file: [google-ai-overviews-study-2026-10.csv](https://serplify.io/data/google-ai-overviews-study-2026-10.csv). It has 648 rows, one per keyword and device: 494 desktop and 154 mobile. | Column | What it holds | |---|---| | keyword, industry, device | The search, its industry, and desktop or mobile | | query_type | question, commercial_best_vs, ymyl_health_finance, transactional, short_informational, navigational, or local | | search_volume | Monthly US searches, as estimated by DataForSEO Labs | | has_aio | 1 if the page had an AI Overview, 0 if not | | aio_reference_count | Web pages the AI Overview cited | | aio_reference_domains | The cited websites, separated by semicolons | | aio_google_internal_links | Links back into Google, not counted as sources | | aio_refs_in_top10 | Cited pages that were also top 10 organic results | | aio_ref_domains_in_top10 | Cited links from a website with any page in the top 10 | | aio_cites_organic_1 | 1 if it cited the number 1 organic result | | aio_position_on_page | Where the AI Overview sat, counting blocks from the top | | aio_loaded_async | 1 if the AI Overview loaded after the rest of the page | | has_featured_snippet, has_paa, has_local_pack, has_video, has_forums, has_shopping | 1 if that feature was on the page | | first_organic_position_on_page | Where the first organic result sat, counting blocks from the top | | fetched_at | Fetch time in UTC | The three AI Overview columns that only make sense when one showed are blank on pages without one. If you use the data, please link back to this page. ## What this means for SEOs **Plan for an AI Overview on most informational keywords.** If your keyword is a question, a comparison, or a health or money topic, expect an AI answer above you almost every time. The first organic result was the first thing on the page only 14 percent of the time. **Ranking and being cited are separate goals.** Three out of four cited pages were not top 10 results for that search. Track both, because one does not guarantee the other. **Video and forums carry weight.** YouTube was cited in over half of all AI Overviews, and Reddit in more than one in five. A short video or a helpful forum answer can be your way into the citations. **Local and brand searches still work the old way.** The map pack and the brand's own site still lead those pages. Your [local rankings](https://serplify.io/blog/how-to-check-local-rankings/) matter more there than AI citations. ## How to track AI Overviews on your own keywords Averages hide a lot. Your own keywords may sit at 30 percent or at 100 percent. Our guide on [tracking AI Overviews and their citations](https://serplify.io/blog/how-to-track-ai-overviews/) shows the free checks, the Search Console report, and the tool options. To repeat this study on your own list, use a [SERP API that returns AI Overview blocks as data](https://serplify.io/serp-api/). Fetch each keyword for a fixed country and device, wait for late-loading answers, and save the source links. Then compare those links with your top 10, as we did here. Frequently asked questions: Q: How often do AI Overviews appear on Google? A: In our October 9, 2026 sample, 380 of 494 US desktop searches (77 percent) had one. The rate ran from 97 percent for questions down to 34 percent for local searches. Broader studies report lower shares. Pew Research found an AI summary on 18 percent of real Google searches by US adults in March 2025. Q: Do AI Overviews cite the pages that rank in the top 10? A: Often not. Only 776 of 2,931 cited links (26 percent) were top 10 organic results for the same search. About half came from a website that had some page in the top 10. In 39 percent of AI Overviews with sources, none of the cited pages ranked in the top 10. Q: Which websites do AI Overviews cite most? A: YouTube, by a wide margin. It was cited in 204 of 380 AI Overviews in our sample (54 percent). Reddit came next with 82 (22 percent), then Facebook with 61 and Wikipedia with 29. Q: Are AI Overviews more common on mobile or desktop? A: About the same. On 154 keywords fetched on both devices, 113 had an AI Overview on desktop and 114 on mobile. The two devices disagreed on 27 keywords, so check the device your audience uses. Q: Why does my keyword not show an AI Overview? A: Google says it shows AI Overviews only when its systems decide they add something to the normal results. In our data, local searches and searches for a business by name were the least likely to get one. A map pack or the brand's own site already answers those. Sources: - Google Search Central: AI features and your website: https://developers.google.com/search/docs/appearance/ai-features - Google Search Help: AI Overviews in Google Search: https://support.google.com/websearch/answer/14901683 - Pew Research Center: Google users are less likely to click on links when an AI summary appears in the results (July 22, 2025): https://www.pewresearch.org/short-reads/2025/07/22/google-users-are-less-likely-to-click-on-links-when-an-ai-summary-appears-in-the-results/ - Semrush: AI Overviews study (updated December 15, 2025): https://www.semrush.com/blog/semrush-ai-overviews-study/ - DataForSEO docs: Live Google Organic SERP Advanced (load_async_ai_overview): https://docs.dataforseo.com/v3/serp/google/organic/live/advanced/ - DataForSEO docs: Labs Keyword Ideas: https://docs.dataforseo.com/v3/dataforseo_labs/google/keyword_ideas/live/ --- # AI Visibility Tracking: How to Check if ChatGPT, Perplexity, Gemini and Google AI Mention Your Brand URL: https://serplify.io/blog/how-to-track-ai-visibility/ Published: 2026-10-09 > AI visibility tracking checks how often ChatGPT, Perplexity, Gemini and Google AI Overviews name or cite your brand. A free monthly method, then tools and APIs. Key takeaways: - AI visibility is how often AI assistants name your brand or link to your site when people ask questions in your field. Track it as a rate across many answers, not as a single rank. - A free method works: 20 to 50 real buyer prompts, a spreadsheet, three runs per prompt, and the same routine every month. - AI answers change from run to run. SparkToro found less than a 1 in 100 chance that ChatGPT or Google's AI returns the same brand list twice for the same question. - When we tested our own brand on October 9, 2026, Serplify was named or cited 0 times in 22 ChatGPT and Perplexity answers and 66 Google AI Overviews. DataForSEO was named in 10 of the 22 answers and SerpApi in 9. AI visibility tracking means checking how often AI assistants name your brand or link to your site. The assistants that matter most today are ChatGPT, Perplexity, Gemini, and Google's AI Overviews and AI Mode. You can track all of them for free with a prompt list, a spreadsheet, and a few hours a month. Tools and APIs make it faster once the list grows. This page covers the free method first, then a real test we ran on our own brand, then the tools. ## What is AI visibility? **AI visibility is your share of the answers.** When someone asks an assistant "what is the best SERP API" or "how do I check my rankings", does the answer name you? Does it link to you? Those are two different wins: - **A mention** is when the answer names your brand in its text. - **A citation** is when the answer links to a page on your site as a source. You can get one without the other. A brand can be named from memory with no link. A page can be cited as a source while the answer recommends a rival. AI visibility is not like a Google ranking. There is no fixed position 1. Each answer is written fresh, so the same question can give a different answer a minute later. ## Why one check tells you nothing AI answers are random by design. SparkToro had 600 volunteers run 12 prompts through ChatGPT, Claude and Google's AI a combined 2,961 times. There was less than a 1 in 100 chance that ChatGPT or Google's AI gave the same list of brands twice. The order matched even less often. So never judge your visibility from one screenshot. Ask the same question several times and count how often you show up. **A rate across many answers is the only number that holds still.** ## The four numbers to track | Metric | How to calculate it | What it tells you | |---|---|---| | Mention rate | Answers that name you ÷ all answers | How often you are recommended | | Citation rate | Answers that link to your site ÷ all answers | How often your pages are used as a source | | Share of voice | Your mentions ÷ mentions of all tracked brands | How you compare with rivals | | Top cited domains | Count of each domain in the sources | Which sites the assistants trust in your field | Share of voice works the same way it does in search. Our guide on [calculating SEO share of voice](https://serplify.io/blog/how-to-calculate-seo-share-of-voice/) shows the math for Google rankings. ## How to track AI visibility for free ### Step 1: Write 20 to 50 prompts Use the questions real buyers ask. Good places to find them: - People Also Ask boxes for your main keywords. - Queries in Google Search Console that bring you clicks. - Questions from sales calls and support tickets. Mix the types: "best X for Y", "X vs Y", "cheaper alternative to X", "how do I do Z", and "is X safe". Write each prompt once and never change the wording. If the words change, the numbers are not comparable. ### Step 2: Pick the assistants and a clean setup Check ChatGPT, Perplexity, Gemini, and Google. For Google, search the prompt and read the AI Overview, then try AI Mode. Use a new chat every time. Turn memory off or sign out where you can. Search from the country your buyers are in. Your own history can make an assistant mention you more than it would for a stranger. ### Step 3: Run each prompt three times and log it Three runs per prompt per assistant is a fair minimum for a free routine. Log every answer in one row. | Column | Example | |---|---| | Date | 2026-10-09 | | Assistant | Perplexity | | Prompt | What is a cheaper alternative to SerpApi? | | Run | 2 | | Brands named | DataForSEO, Serper | | You named? | No | | Your page cited? | No | | Cited domains | Paste the source links | ### Step 4: Score it Count the rows. If you ran 30 prompts three times on four assistants, you have 360 answers. If 54 of them name you, your mention rate is 15 percent. Split the score by assistant and by prompt type. You may be strong in "how to" answers and absent from "best X" answers. That tells you which pages to fix. ### Step 5: Repeat on the same day each month Same prompts, same setup, same day of the month. A change from 15 to 22 percent over three months is a trend. A change from one day to the next is noise. ## A worked example: we tracked our own brand On October 9, 2026, we ran this method on Serplify. We asked 11 buyer questions from our field. Two examples: "What is the best SERP API for Google search results?" and "How can I check my keyword rankings on Google for free?" We sent each prompt to ChatGPT (the gpt-5.4-mini model with web search) and Perplexity (Sonar) through the DataForSEO AI Optimization API. That gave 22 answers. We also pulled the Google AI Overviews on 66 US desktop result pages for related keywords, the same day. | Brand | Named in the 22 answers | Cited in the 66 AI Overviews | |---|---|---| | DataForSEO | 10 | 3 | | SerpApi | 9 | 6 | | Serper | 5 | 1 | | **Serplify** | **0** | **0** | Serplify was not named once and not cited once. That includes 137 source links in the assistant answers (110 from Perplexity, 27 from ChatGPT) and every AI Overview. The zero is the point of measuring. It is a baseline, and the logs show why it happened: - **Perplexity cited comparison pages.** 41 percent of its citations were "best X" and "X alternatives" posts, mostly on other vendors' blogs. - **ChatGPT read official pages.** 56 percent of its citations were docs and pricing pages. Its own searches looked like "official DataForSEO Google SERP API pricing features". It only searched for brands it already knew. So for us, the fix is to get named in independent comparisons and to keep our pricing and docs pages clear. Our [LLM SEO guide](https://serplify.io/blog/llm-seo/) explains how to act on findings like these. Two limits on this test. We used API models, which behave close to the consumer apps but not the same. And we ran each prompt once, which the step above says is too few. Treat it as an example of the method, not a benchmark. ## How to check Google AI Overviews and AI Mode Google gives you one free view. The **Generative AI performance report** in Search Console shows how often links to your site appeared in AI Overviews and AI Mode. Google says it rolled out to all websites on August 31, 2026. It shows impressions by page, country and device. It does not show which answer you were in or who else was cited. For that, fetch the result page itself. A SERP API returns the AI Overview with its list of source links, so you can check thousands of keywords and see every cited domain. Serplify's [Google SERP API](https://serplify.io/serp-api/) returns it as a typed `ai_overview` item for $0.005 per page. Our guide on [tracking Google AI Overviews](https://serplify.io/blog/how-to-track-ai-overviews/) has the full setup. ## Check your analytics too Visits from assistants show up in GA4 as referrals from sites like chatgpt.com, perplexity.ai and gemini.google.com. OpenAI's publisher FAQ says ChatGPT adds `utm_source=chatgpt.com` to the links it shows. Some clicks can still arrive with no referrer and land in Direct. Rising AI referrals is a good sign your visibility is growing. It is a lagging sign, though. Most people read the answer and never click. Our guide to [where website traffic comes from](https://serplify.io/blog/where-does-website-traffic-come-from/) explains how GA4 sorts these visits. ## Tools and APIs for AI visibility tracking Once you pass about 50 prompts, the spreadsheet gets slow. These are the main options as of October 2026. | Option | What it does | Good for | |---|---|---| | Spreadsheet routine | You ask, you log, you count | Up to about 50 prompts, zero budget | | Free one-off checkers | A single scan of a few prompts | A quick first look | | Paid trackers (Ahrefs Brand Radar, Semrush AI Visibility Toolkit, Profound, Peec AI, Otterly.AI) | Run your prompt list on a schedule and chart the rates | Teams that report monthly | | LLM APIs (OpenAI with web search, Perplexity Sonar, Gemini with Google Search) | Your own code asks the models | Custom prompt sets at low cost | | DataForSEO AI Optimization API | Sends prompts to several assistants through one API | Developers who want one bill | | A SERP API | Returns Google's AI Overview and its sources | Google AI tracking at keyword scale | Two cautions apply to every tool. API answers can differ from what the apps show logged-in users. And no tool can remove the run-to-run randomness, so look for tools that report rates across repeated runs, not one "AI rank". ## Mistakes that skew the numbers 1. **Changing the prompt wording** between months. Freeze the list. 2. **Using your own logged-in account.** Memory and history can tilt answers toward you. 3. **Running each prompt once.** One run is a coin flip. 4. **Counting only mentions.** A citation sends traffic. A mention may not. 5. **Tracking only your brand.** Without rivals in the sheet, you cannot tell a good month from a quiet one. Start small. Ten prompts, four assistants, three runs each is 120 answers. That is one afternoon, and it gives you a real baseline to beat. Frequently asked questions: Q: What is AI visibility? A: AI visibility is how often AI assistants like ChatGPT, Perplexity, Gemini and Google's AI Overviews mention your brand or cite your pages for the questions your customers ask. It is usually reported as a mention rate and a citation rate across a fixed list of prompts. Q: How do I check if ChatGPT mentions my brand? A: Write the questions a buyer would ask, such as 'what is the best tool for X'. Ask each one in a new chat with memory off, three times. Log whether your brand is named and whether your site is linked. The share of answers that name you is your mention rate. Q: Can I track AI visibility for free? A: Yes. A spreadsheet and a few hours a month are enough for about 20 prompts across four assistants. Search Console also shows free impression data for Google's AI Overviews and AI Mode. Paid tools only save time once your prompt list grows. Q: How often should I track AI visibility? A: Monthly is enough for most brands. Answers vary from run to run, so checking daily mostly measures noise. Re-check sooner after a big launch, a press mention, or a change to your key pages. Q: How do I increase my AI visibility? A: Get named on the pages assistants read. In our test, Perplexity cited comparison and 'best X' pages most, and ChatGPT read official docs and pricing pages. Clear pricing, clear docs, and mentions in independent comparisons all help. Our LLM SEO guide covers the details. Sources: - SparkToro: AIs are highly inconsistent when recommending brands or products (January 2026): https://sparktoro.com/blog/new-research-ais-are-highly-inconsistent-when-recommending-brands-or-products-marketers-should-take-care-when-tracking-ai-visibility/ - Google Search Console Help: Generative AI performance report: https://support.google.com/webmasters/answer/16984139 - OpenAI Help Center: Publishers and developers FAQ: https://help.openai.com/en/articles/12627856-publishers-and-developers-faq - DataForSEO: AI Optimization API overview: https://docs.dataforseo.com/v3/ai_optimization/overview/ - Ahrefs Brand Radar: https://ahrefs.com/brand-radar - Semrush: AI Visibility Toolkit: https://www.semrush.com/kb/1493-ai-visibility-toolkit --- # How to Track AI Overviews: See When Google Shows One and Whether It Cites You URL: https://serplify.io/blog/how-to-track-ai-overviews/ Published: 2026-10-09 > An AI Overview tracker shows when Google puts an AI answer on your keywords and which pages it cites. Free checks, Search Console, tools, and a DIY method. Key takeaways: - On October 9, 2026, all 56 US desktop results pages we pulled for SEO and developer keywords had an AI Overview. Each one cited 8.3 pages on average. - Ranking and being cited are different things. Only 24 percent of the cited pages also ranked in the organic top 10 for the same search. - YouTube was the most cited site, with 52 of 464 citations. Google's developer docs and Reddit came next. - Search Console's Generative AI report counts how often your links appeared in AI Overviews and AI Mode. It does not show who else was cited. To track AI Overviews, check three things for each keyword: whether Google shows an AI Overview, which pages it cites, and whether your page is one of them. An **AI Overview** is the AI-written answer Google puts at the top of many results pages. It links to the pages it drew from. Those links are the citations you want to track. You can check them by hand, with an AI Overview tracker tool, or with a SERP API that returns the overview as data. ## Why AI Overviews need their own tracking A normal rank tracker records where your page sits in the blue links. An AI Overview is a separate block above them, with its own list of sources, so your rank does not tell you whether you were cited. We checked this on October 9, 2026, by pulling 56 Google results pages for SEO, marketing, and developer keywords (US, English, desktop). The results: - **Every page had an AI Overview.** It was the very first block on 53 of the 56 pages. - **Each overview cited 8.3 pages on average**, for 464 citations in total. - **Only 24 percent of cited pages ranked in the organic top 10** for the same search. At the domain level the match was 39 percent. So a page in position 3 may not be cited, while a page on page two may be. You need to check both. ### How often AI Overviews appear by query type Our niche set was all informational, which is why it hit 100 percent. A mixed set of 30 searches, pulled the same day (US, desktop), shows a wider spread. | Query type | Pages with an AI Overview | |---|---| | Questions (*how to boil an egg*) | 5 of 5 | | "Best" searches (*best crm software*) | 5 of 5 | | Short topics (*keto diet*) | 3 of 5 | | Buying searches (*buy iphone 17*) | 3 of 5 | | Brand names (*amazon*) | 2 of 5 | | Local (*plumber near me*) | 0 of 5 | That is 18 of 30 overall. Small samples like this swing a lot, so treat them as a sign, not a rate. Our [larger study of Google AI Overviews](https://serplify.io/blog/google-ai-overviews-study/) has the bigger dataset. ## What an AI Overview tracker should record Whatever method you use, keep the same five facts for each keyword and date. | What to record | The question it answers | |---|---| | Presence | Did Google show an AI Overview for this keyword today? | | Your citation | Is one of your URLs in the list of sources? | | Citation order | Is your link first, or eighth? | | Other cited sites | Which competitors, videos, or forums got cited? | | Organic rank | Where do you sit in the normal results below? | Also record the location and the device, because an overview in New York on mobile can differ from one in Texas on desktop. Our guide to [SERP features](https://serplify.io/blog/serp-features-explained/) shows how each block changes between devices. ## How to check an AI Overview by hand (free) This works for a handful of keywords. 1. Open a private or incognito window, so your history does not change the page. 2. Set the location you care about, because Google uses your IP address to pick results. 3. Search the keyword. If an AI Overview shows, click **Show more** to open the full answer. 4. Look at the source links. On desktop they usually sit in a column beside the text. 5. Write down the date, whether there was an overview, every cited domain, and your organic rank. The limits are real. It takes a few minutes per keyword, the overview can change from one search to the next, and you only see your own location. ## What Search Console shows, and what it does not Search Console is Google's free report on how your site performs in search. It now has two places that cover AI features. **The normal Performance report.** Google says clicks and impressions from AI Overviews and AI Mode are counted under the **Web** search type. They are mixed in with your regular results, so you cannot pull them apart there. **The Generative AI performance report.** Google says it rolled this out to all websites worldwide on August 31, 2026. It counts an impression each time a link to your site was shown in an AI Overview or in AI Mode. Google's help page lists breakdowns by page, country, device, and date. What it cannot tell you: - Which other sites were cited next to you. - Keywords where an overview showed and you were not cited. - Anything about sites you do not own. So Search Console tells you that you are being cited. A tracker tells you where you are missing. ## AI Overview tracker tools Many SEO tools now track AI Overviews. They run your keyword list on a schedule and save presence, citations, and competitors over time. When we searched *ai overview tracker* on October 9, 2026, every organic result on page one was a tool page or a tool's blog. The AI Overview cited seven tool sites. Before you pick one, ask four questions: 1. Can I set the city and the device for each keyword? 2. How often does it check, and can I rerun a keyword on demand? 3. Does it wait for overviews that load after the page? Google loads some of them a moment later. 4. Can I export the full history, including every cited URL? ## How to track AI Overviews with a SERP API A SERP API fetches the Google results page for a keyword and returns every block as data. You send one request per keyword. The AI Overview comes back as one item, with its sources in a `references` list. This is what most tracker tools do under the hood. This request asks the Serplify API for the keyword we just mentioned, in US English on desktop: ```bash curl -X POST https://api.serplify.io/v1/serp/search \ -H "Authorization: Bearer live_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "keyword": "ai overview tracker", "location": { "code": 2840 }, "language": { "code": "en" }, "device": "desktop", "depth": 10 }' ``` The response is trimmed below. The cited pages are real. They come from the US desktop page for *ai overview tracker* we pulled on October 9, 2026. ```json { "status": "ok", "data": { "keyword": "ai overview tracker", "feature_types": ["ai_overview", "organic", "people_also_ask", "related_searches"], "items": [ { "type": "ai_overview", "rank_absolute": 2, "asynchronous_ai_overview": false, "references": [ { "type": "ai_overview_reference", "source": "AIclicks", "domain": "aiclicks.io", "url": "https://aiclicks.io/trackers/ai-overviews-tracker", "title": "Track Your AI Overview Visibility | 3-day trial" }, { "type": "ai_overview_reference", "source": "Ahrefs", "domain": "ahrefs.com", "url": "https://ahrefs.com/ai-overviews-tracker", "title": "Free Google AI Overviews Tracker" } ] } ] } } ``` What the fields mean: - `rank_absolute` is where the block sits on the page. Here it is 2, because one organic result sat above the overview. - `references` lists every cited page, with its `domain`, `url`, `title`, and the site name in `source`. - `asynchronous_ai_overview` is `true` when Google loaded the overview after the page. The API then knows an overview was there but may not have its sources. Count it as present and recheck later. To see if you were cited, check the domains. In JavaScript: ```javascript const aio = data.items.find((item) => item.type === "ai_overview"); const refs = aio?.references ?? []; const mine = "example.com"; const cited = refs.some( (ref) => ref.domain === mine || ref.domain?.endsWith("." + mine), ); ``` The dot matters: a plain `endsWith("example.com")` would also match notexample.com. Store one row per keyword per day: presence, cited or not, the cited domains, and your organic rank from the same response. Our guide to [tracking rankings in bulk](https://serplify.io/blog/how-to-track-rankings-in-bulk/) shows how to schedule the checks and store the history. Cost scales with checks. The [Serplify SERP API](https://serplify.io/serp-api/) charges $0.005 per successful results page. Checking 500 keywords once a week is about 2,170 checks a month, or roughly $11. ## How to read your AI Overview data Collecting rows is the easy part. Four habits turn them into decisions. **Look at trends, not single checks.** One check is only a snapshot, so judge each keyword over several weeks. **Compare citations with rank.** If you rank in the top three and are never cited, read the passage on your page that answers the question. Make sure it is short and sits right under a heading. If you are cited but rank below 10, that is visibility a normal rank tracker would miss. **See which kinds of pages win.** In our 56 pages, blog guides made up 21 percent of citations and videos 12 percent. Official docs and help pages were 9 percent. If YouTube fills the sources for your keywords, a short video may be a faster way in than another article. **Watch AI Mode too.** Google's chat-style search mode also cites pages, but on its own page, away from the normal results. We compare the two in [AI Mode vs AI Overviews](https://serplify.io/blog/google-ai-mode-vs-ai-overviews/). AI Overviews are one part of AI search. To track ChatGPT and Perplexity answers as well, see [how to track AI visibility](https://serplify.io/blog/how-to-track-ai-visibility/). For what tends to earn a citation in the first place, read our guide to [LLM SEO](https://serplify.io/blog/llm-seo/). Frequently asked questions: Q: How do I check if a keyword has an AI Overview? A: Search the keyword in a private window with the right location set and look at the top of the page. If Google wrote an answer with source links, that is an AI Overview. For many keywords, use a tracker tool or a SERP API, which records it for you from a fixed city and device. Q: Can AI searches be tracked? A: Google AI Overviews can be tracked, because they sit on a normal results page that tools can fetch. Search Console also counts your impressions in AI Overviews and AI Mode. Answers inside ChatGPT or Perplexity need a different method: you send a fixed set of prompts and record which sources come back. Q: Is AI Overview the same as ChatGPT? A: No. An AI Overview is a short answer Google adds to its own results page, built from pages in Google's index. ChatGPT is a separate chat app from OpenAI. Both write answers with AI and both can cite web pages, but they pick sources in different ways. Q: How do I turn on Google AI Overview? A: You can't switch it on. Google shows an AI Overview only when its systems decide it will help, so some searches get one and others don't. In our October 2026 test, none of five 'near me' searches had one, while all five question searches did. Sources: - Google Search Help: AI Overviews in Google Search: https://support.google.com/websearch/answer/14901683?hl=en - Google Search Central: AI features and your website: https://developers.google.com/search/docs/appearance/ai-features - Search Console Help: Generative AI performance report: https://support.google.com/webmasters/answer/16984139?hl=en - Google Blog: New opportunities, control and insights for website owners (updated August 31, 2026): https://blog.google/products-and-platforms/products/search/new-controls-website-owners/ - Serplify docs: SERP feature types: https://docs.serplify.io/serp-api/feature-types/ --- # How to Turn Off AI Overviews in Google Search (What Works and What Doesn't) URL: https://serplify.io/blog/how-to-turn-off-ai-overviews/ Published: 2026-10-09 > Google has no switch to turn off AI Overviews. You can hide them with the Web filter or udm=14, and make that your browser's default. Steps for each browser. Key takeaways: - Google's help page says AI Overviews are a core Search feature and cannot be turned off. There is no setting for it. - The Web filter, or adding udm=14 to the search URL, shows plain links with no AI Overview. In all three of our October 9, 2026 tests, it removed the overview. - You can make the udm=14 version your default search in Chrome, Edge, and Firefox. Safari and Chrome on phones only let you pick from a fixed list. You can't fully turn off AI Overviews. Google's help page says they are a core part of Search and "cannot be turned off." But you can search Google without them. Use the **Web** filter, or add **udm=14** to the search address and make that your browser's default search. Below are the methods that work, step by step, and the tricks that don't. ## Can you turn off AI Overviews in Google? No. Google calls AI Overviews a core Search feature, like knowledge panels, and there is no switch for them in your Google Account or in Search settings. People often point to Search Labs, Google's opt-in area for test features. Its "AI in Search" toggle only covers new experiments. AI Overviews are no longer an experiment, so turning that toggle off does not remove them. Signing out does not help either: our test fetches on October 9, 2026 were not signed in to any account, and they still showed AI Overviews. ## Method 1: Use the Web filter The Web filter is Google's own way to get plain results. Google's help page says it "displays only text-based links without features like AI Overviews." 1. Search for anything on Google. 2. Look at the row of filters under the search bar: All, Images, Videos, News, and so on. 3. Click **Web**. On a computer, it may be hidden under **More**. The page reloads with plain links. The catch is that it lasts for one search only, and the next search goes back to the normal page. ## Method 2: Add udm=14 to the search address When you click the Web filter, Google adds `udm=14` to the address. You can also type it in yourself by adding `&udm=14` to the end of any Google search address: ```text https://www.google.com/search?q=how+to+boil+an+egg&udm=14 ``` Google has never documented this setting. Writer Ernie Smith of the blog Tedium spread it in May 2024. It still worked when we tested it in October 2026. For what other parts of the address do, see our list of [Google search parameters](https://serplify.io/blog/google-search-parameters/). ### Our test: does udm=14 still work? We fetched these pages on October 9, 2026, from the United States, signed out. Each pair is the same search with and without udm=14. | Search | Device | AI Overview? | What else was on the page | |---|---|---|---| | how to boil an egg | Desktop | Yes, 11 cited pages | People Also Ask, videos, forum and social posts, related searches | | how to boil an egg + udm=14 | Desktop | No | 10 plain links | | how to boil an egg | Mobile | Yes, 11 cited pages | People Also Ask, videos, short videos | | how to boil an egg + udm=14 | Mobile | No | 10 plain links | | why is the sky blue | Desktop | Yes, 8 cited pages | People Also Ask, videos, related searches | | why is the sky blue + udm=14 | Desktop | No | 10 plain links | So udm=14 removes more than the AI Overview. It also drops People Also Ask, videos, and the other extra blocks. If you like the question box, you lose it too. Our guide to [SERP features](https://serplify.io/blog/serp-features-explained/) shows what each of those blocks is. ## Method 3: Make udm=14 your default search Typing udm=14 every time gets old, so set it once. Chrome, Edge, and Firefox let you add a custom search engine: you give it a Google address with `%s` where the search words go, and the browser fills them in. The address to use is: ```text https://www.google.com/search?q=%s&udm=14 ``` ### Chrome (computer) 1. Open **Settings**, then **Search engine**, then **Manage search engines and site search**. 2. Next to **Site search**, click **Add**. 3. Enter a name (for example "Google Web"), a short shortcut (for example "gw"), and the address above. 4. Click **Add**. 5. Find the new entry, click the three-dot menu next to it, and choose **Make default**. ### Microsoft Edge 1. Open **Settings**, then **Privacy, search, and services**. 2. Go to **Search and connected services**, then **Address bar and search**. 3. Open **Manage search engines** and click **Add**. Enter a name, a shortcut, and the address above. 4. Use the three-dot menu next to the new entry and choose **Make default**. Menu names in Edge shift between versions. If you can't find them, search "search engine" in the Settings search box. ### Firefox (computer, version 140 or newer) 1. Open **Settings** and select **Search** on the left. 2. Under **Additional search engines**, click **Add search engine**. 3. Enter a name and paste the address above. Click **Add Engine**. 4. At the top of the same page, pick your new engine as the **Default Search Engine**. ### Safari (Mac, iPhone, iPad) Safari only lets you choose from a short built-in list of search engines, so there is no box for your own address. You can tap the Web filter after each search, or install a Safari extension that adds udm=14 for you. Check what access an extension asks for before you install it. ## Method 4: On your phone Phones are harder, because the biggest mobile browsers don't take custom addresses. - **Chrome on Android and iPhone.** Google's help page says you pick from a list, and recently visited search engines get added to it. There is no field to type your own address. Use the Web filter after each search. - **The Google app.** Same answer: tap **Web** in the filter row after you search. - **Firefox for Android.** This one works. Open the search settings, tap **Default search engine**, then **Add search engine**. Paste the address above and set it as the default. ## What doesn't work, or has side effects - **Search settings and Google Account settings.** There is no AI Overview option in either. - **The Search Labs toggle.** It only covers experiments, as noted above. - **Incognito mode or signing out.** AI Overviews still appear. - **Adding "-ai" to your search.** In our October 9, 2026 test, *how to boil an egg -ai* came back with no AI Overview. But the minus sign is a [search operator](https://serplify.io/blog/how-to-use-google-search-operators/) that drops every page containing the word "ai". That changes your results, and you have to type it every time. - **Extensions that hide the box.** Some browser extensions hide AI Overviews after the page loads. They can break when Google changes its page, and they need permission to read and change the Google pages you visit. ## Why Google has no off switch Google has not given a full reason. It treats AI Overviews as a standard part of the page, like the knowledge panel. In May 2025, Google said people search more when they use AI Overviews. It reported a usage rise of over 10 percent for the kinds of searches that show them, in the US and India. Not everyone is happy about it. Many searchers want the plain list back, which is why udm=14 spread so fast. Website owners worry too. A Pew Research Center study of March 2025 browsing found people clicked a normal result on 8 percent of visits with an AI summary, against 15 percent without one. If you run a site, you can [track AI Overviews](https://serplify.io/blog/how-to-track-ai-overviews/) to see whether they cite you. If you are curious about the bigger version of Google's AI search, read [what Google AI Mode is](https://serplify.io/blog/google-ai-mode-vs-ai-overviews/). Unlike AI Overviews, AI Mode only opens when you choose it, so there is nothing to turn off. Frequently asked questions: Q: Can I permanently disable AI Overview? A: Not inside Google. Google says AI Overviews cannot be turned off. The closest thing to permanent is setting a search engine in your browser that adds udm=14 to every Google search. That opens the Web filter, which has no AI Overview. Q: What does udm=14 do? A: It is a part of the Google search address that opens the Web filter. The page then shows only plain text links. AI Overviews, People Also Ask, and video blocks drop out. Google has not documented it, but it worked in our October 9, 2026 tests. Q: Is &udm=14 safe? A: Yes. It is a normal Google address with one extra setting, and nothing gets installed. Be more careful with outside redirect sites that add it for you, because every search you make passes through them first. Q: Why is my AI Overview turned off? A: Google shows an AI Overview only when its systems decide it will help, so many searches never get one. In our October 2026 test, none of five 'near me' searches had one. If you never see them, check whether you are on the Web filter or a udm=14 address. Q: Is there a search engine without AI? A: Most big search engines now add AI answers, but some let you switch them off. DuckDuckGo runs noai.duckduckgo.com, which it says turns off all its AI features. On Google, the Web filter is the closest option. Q: How do I change my Google search back to normal? A: Click the Web filter under the search bar after you search. It shows the classic list of links. To make that the default, add a search engine with udm=14 in your browser settings, as shown in this guide. Sources: - Google Search Help: AI Overviews in Google Search: https://support.google.com/websearch/answer/14901683?hl=en - Google Chrome Help: Set your default search engine: https://support.google.com/chrome/answer/95426?hl=en&co=GENIE.Platform%3DDesktop - Microsoft Support: Change your default search engine in Microsoft Edge: https://support.microsoft.com/en-us/edge/change-your-default-search-engine-in-microsoft-edge - Firefox Help: Add custom search engines in Firefox: https://support.mozilla.org/en-US/kb/add-custom-search-engine-firefox - Firefox for Android Help: Manage my default search engines: https://support.mozilla.org/en-US/kb/manage-my-default-search-engines-firefox-android - Apple Support: Change Search settings in Safari on Mac: https://support.apple.com/guide/safari/search-sfria1042d31/mac - VentureBeat: How to use Google Search without AI, the udm=14 workaround (May 20, 2024): https://venturebeat.com/ai/how-to-use-google-search-without-ai-the-udm14-work-around/ - DuckDuckGo Help: Optional AI: https://duckduckgo.com/duckduckgo-help-pages/optional-ai - Google Blog: AI Mode in Google Search, updates from Google I/O 2025 (May 20, 2025): https://blog.google/products-and-platforms/products/search/google-search-ai-mode-update/ - Pew Research Center: Google users are less likely to click on links when an AI summary appears (July 22, 2025): https://www.pewresearch.org/short-reads/2025/07/22/google-users-are-less-likely-to-click-on-links-when-an-ai-summary-appears-in-the-results/ --- # LLM SEO: How ChatGPT, Perplexity, and Google's AI Pick Their Sources URL: https://serplify.io/blog/llm-seo/ Published: 2026-10-09 > LLM SEO means getting your pages cited in AI answers from ChatGPT, Perplexity, Gemini, and Google. What is known, what to do, and how to measure it. Key takeaways: - LLM SEO, also called GEO, is the work of getting your pages cited or named in AI answers. Google says that for its own AI features, this is still SEO. - In 11 test prompts on October 9, 2026, 41 percent of Perplexity's 110 citations were listicles or comparisons. 56 percent of ChatGPT's 27 citations were official docs or pricing pages. - Google AI Overviews cited many pages that don't rank well. Only 24 percent of cited URLs were in the organic top 10 for the same search. - Nobody outside these companies knows exactly how sources are picked. Be wary of anyone who promises a spot in ChatGPT. - llms.txt is optional and unproven. Google says its Search doesn't use AI text files. **LLM SEO** means making your pages easy for AI assistants to find, trust, and cite. LLM stands for large language model, the kind of AI behind ChatGPT, Gemini, and Perplexity. Many people call the same work **GEO**, short for generative engine optimization. Most of it is ordinary SEO done with care. Google says so directly: optimizing for its AI search features "is still SEO." The difference is the goal. Besides ranking in a list of links, you want to be named or linked inside the AI's answer. This page covers what is known about how AI tools pick sources, what we saw in our own tests, and what to do about it. Where the evidence is thin, we say so. ## What does LLM SEO mean? Classic SEO tries to rank a page in a list of results. LLM SEO tries to get that page used as a source when an AI writes an answer. | | Classic SEO | LLM SEO | |---|---|---| | Goal | Rank high in a list of links | Be cited or named in an AI answer | | Where you show up | Google and Bing results pages | ChatGPT, Perplexity, Gemini, AI Overviews, AI Mode | | What you measure | Rank, clicks, click-through rate | Mentions, citations, AI referral visits | | Main lever | Pages that match the search | Pages that are easy to quote, plus mentions on other sites | The term GEO comes from a 2023 research paper by researchers from Princeton and other groups. They built a test set of questions and measured which page edits got content used more often in AI answers. ## How AI assistants pick their sources From what the companies publish, most AI search tools work in two steps. First they run web searches. Then they read the top results and write an answer with links. Google calls the first step **query fan-out**: the AI runs many related searches at once to gather material. OpenAI says ChatGPT search rewrites your question into one or more targeted queries and sends them to search partners. Perplexity runs its own crawler, PerplexityBot, to find pages for its answers. That has a plain consequence. If a tool's crawler can't reach your page, or your page never shows up in its searches, you can't be cited. ### What we saw in 11 prompts On October 9, 2026, we sent 11 questions from our own field (SERP APIs, rank tracking, and website traffic) to two AI tools. We used the API versions, Perplexity's sonar model and OpenAI's gpt-5.4-mini with web search, through DataForSEO. We also pulled 56 Google results pages for similar keywords, US desktop. | Engine | Citations | What it cited most | |---|---|---| | Perplexity | 110 across 11 answers | Listicles and comparisons ("best X", "X alternatives"): 41 percent, mostly on vendor blogs | | ChatGPT | 27 across 11 answers | Official docs and pricing pages: 56 percent | | Google AI Overviews | 464 across 56 pages | Blog guides 21 percent, videos 12 percent, official docs 9 percent | A few patterns stood out. - **Perplexity favors whoever publishes the comparison table.** Most of the "best SERP API" pages it cited sat on the blogs of companies that sell scraping or SERP tools. - **ChatGPT looks up vendors it already knows.** Its searches read like *official DataForSEO Google SERP API pricing features*. It then cited the pricing and docs pages it found. - **Google cites past page one.** Only 24 percent of the URLs cited in AI Overviews also ranked in the organic top 10. YouTube was the most cited site, with 52 of 464 citations. Serplify itself was not cited in any of these answers. That is a useful reminder that a good product page alone does not get you named. Treat these numbers as a sketch. The sample is small, it covers one niche, and the consumer apps can behave differently from the API versions. We tested Gemini once, but its links came back as redirect addresses, so we left it out. Our [study of Google AI Overviews](https://serplify.io/blog/google-ai-overviews-study/) has a larger Google dataset. ## What the research says, and where it is thin The GEO paper is the main academic study so far. In its lab benchmark, adding quotations, statistics, and cited sources raised how much of a page the AI used. The best methods beat the baseline by about 41 percent. Keyword stuffing did worse than doing nothing. That is useful, but it was mostly a lab setup with a test engine the team built. It is not proof of how ChatGPT or Google behave today. Google's guidance is more direct, at least for its own products: - There are no extra requirements to appear in AI Overviews or AI Mode. The page has to be indexed and allowed to show a snippet. - You don't need special schema markup. - You don't need new AI text files. Google says its Search doesn't use them. Beyond that, nobody outside these companies knows the exact rules. A tool that promises you a top spot in ChatGPT is guessing. ## How to do LLM SEO: six practical steps 1. **Get named on other sites.** ChatGPT searches for brands it already knows, and Perplexity cites lists and comparisons. Being included in fair "best X" lists, reviews, and forum answers is how you enter that set. Don't pay for placements that hide that they are paid. 2. **Write facts an AI can lift.** Put a one or two sentence answer right under each question heading. Give numbers with units and dates. Use tables for comparisons. The same format wins [featured snippets](https://serplify.io/blog/how-to-get-a-featured-snippet/). 3. **Keep your official pages sharp.** Pricing, docs, and spec pages get cited when an AI checks a fact. Make the key number easy to find, and keep it current. 4. **Still rank in normal search.** AI tools search the web first, so pages that rank well get read more. But don't stop there: 24 percent overlap means many cited pages sat outside the top 10. 5. **Let the right crawlers in.** Allow OAI-SearchBot for ChatGPT search and PerplexityBot for Perplexity in your robots.txt. For Google's AI features, Googlebot and your snippet settings are what count. 6. **Publish in the formats each tool cites.** Short videos for AI Overviews, where YouTube led. Clear comparison tables for Perplexity. Clean docs and pricing for ChatGPT. **llms.txt** is a 2024 proposal for a plain-text map of your site for AI tools. It costs little to add, but there is no public proof that it changes citations. We explain it in [what is llms.txt](https://serplify.io/blog/what-is-llms-txt/). ## How to measure LLM SEO Each engine needs its own check. **Google AI Overviews and AI Mode.** Search Console's Generative AI performance report counts how often links to your site showed in both features. To see which keywords trigger an overview and who else gets cited, fetch the results pages on a schedule. Our guide on [how to track AI Overviews](https://serplify.io/blog/how-to-track-ai-overviews/) walks through it. A [SERP API](https://serplify.io/serp-api/) returns each overview's cited URLs as data, which makes this cheap to run for hundreds of keywords. **ChatGPT and Perplexity.** Write a fixed list of 20 to 50 prompts your buyers would ask. Run them once a month and record whether you are named, whether you are linked, and which competitors appear. Our guide on [how to track AI visibility](https://serplify.io/blog/how-to-track-ai-visibility/) has a simple setup. **Your analytics.** Visits from AI tools often arrive as referrals from sites like chatgpt.com or perplexity.ai. Watch them in GA4 over months, not days. Our guide to [referral traffic](https://serplify.io/blog/what-is-referral-traffic/) explains where they show up. Expect noise. AI answers change from one run to the next. Judge your progress by trends across many prompts, not by one answer. Frequently asked questions: Q: What does LLM SEO mean? A: LLM SEO is the work of getting your pages used as sources in AI answers. LLM stands for large language model, the kind of AI behind ChatGPT, Gemini, and Perplexity. Success means your brand is named or linked inside the answer, on top of ranking in normal search. Q: What search engine does ChatGPT use? A: OpenAI says ChatGPT search sometimes sends rewritten queries to partner search providers, and its help page links Microsoft's privacy statement for them. OpenAI also runs its own crawler, OAI-SearchBot, to find pages for ChatGPT search. In our tests, ChatGPT's searches often named specific vendors and asked for their official pages. Q: Is SEO becoming obsolete? A: No. AI assistants run web searches and read the results before they answer, so pages that are easy to find still win. Google says optimizing for its AI features is still SEO. What changes is the goal: being cited matters as much as ranking. Q: Can ChatGPT do SEO? A: It can help with tasks like drafting outlines, writing title ideas, or explaining a report. It cannot see your rankings, your Search Console data, or the live results page unless you give them to it. Check its facts, because it can be wrong or out of date. Q: Do I need an llms.txt file? A: No. llms.txt is a proposal from 2024 for a plain-text guide to your site for AI tools. Google says its Search does not use files like it. Adding one is cheap and harmless, but there is little public proof that it changes citations. Sources: - Google Search Central: Optimizing your website for generative AI features on Google Search: https://developers.google.com/search/docs/fundamentals/ai-optimization-guide - Google Search Central: AI features and your website: https://developers.google.com/search/docs/appearance/ai-features - Aggarwal et al., GEO: Generative Engine Optimization (KDD 2024): https://arxiv.org/abs/2311.09735 - OpenAI Help: Searching the web with ChatGPT: https://help.openai.com/en/articles/9237897-chatgpt-search - OpenAI: Overview of OpenAI crawlers: https://developers.openai.com/api/docs/bots - Perplexity: Perplexity crawlers: https://docs.perplexity.ai/guides/bots - llmstxt.org: The /llms.txt file (proposal by Jeremy Howard): https://llmstxt.org/ - Search Console Help: Generative AI performance report: https://support.google.com/webmasters/answer/16984139?hl=en --- # What Is Google AI Mode? How It Differs From AI Overviews URL: https://serplify.io/blog/google-ai-mode-vs-ai-overviews/ Published: 2026-10-09 > Google AI Mode is a chat-style search you open on purpose. AI Overviews are short AI answers Google adds to normal results. How they differ and why it matters. Key takeaways: - AI Mode is a separate, chat-style search inside Google that you choose to open. AI Overviews appear on their own at the top of normal results. - Google opened AI Mode to everyone in the US on May 20, 2025. In June 2026 it said AI Mode had passed one billion monthly users, and AI Overviews 2.5 billion. - Both use query fan-out: the AI runs many related searches and builds one answer from them. That is one reason cited pages often come from outside the top 10. - In a Pew Research study of March 2025 browsing, people clicked a normal result on 8 percent of visits with an AI summary, against 15 percent without one. **Google AI Mode** is a chat-style search mode inside Google. You open it on purpose, ask a question, and get a long AI-written answer with links. Then you can keep asking follow-up questions. **AI Overviews** are not something you open. They are short AI summaries that Google adds by itself to the top of a normal results page, with the usual links below. Both run on Google's Gemini models, and both cite web pages. The difference is who starts them, how long the answer is, and what happens to the normal results. ## What is Google AI Mode? AI Mode is Google Search turned into a conversation. Instead of a page of links, you get one written answer, with source links beside it. You can ask a follow-up and AI Mode keeps the context. Google announced it on March 5, 2025, as a test in Search Labs, its opt-in area for new features. On May 20, 2025, Google opened AI Mode to everyone in the US with no sign-up. By June 2026, Google said AI Mode had passed one billion monthly users. The key idea behind it is **query fan-out**. Google describes it as breaking a question into subtopics and running many searches at once. AI Mode then reads those results and writes one answer. Since May 2026, Google says Gemini 3.5 Flash is the default model in AI Mode worldwide. ## What are AI Overviews? An AI Overview is a short summary at the top of a normal Google results page. Google writes it with AI and links to the pages it used. You never ask for it. It appears when Google's systems decide it will help. AI Overviews came first. Google rolled them out to everyone in the US on May 14, 2024. In June 2026, Google said AI Overviews had more than 2.5 billion monthly active users. They show up on a lot of searches. On October 9, 2026, we pulled 30 mixed US desktop searches and found an AI Overview on 18 of them. That included every question search and none of the "near me" searches. We cover the details in [how to track AI Overviews](https://serplify.io/blog/how-to-track-ai-overviews/). ## AI Mode vs AI Overviews: the main differences | | AI Overviews | AI Mode | |---|---|---| | Where it shows | Top of the normal results page | Its own page or tab | | Who starts it | Google, when it decides it helps | You, by choosing AI Mode | | Answer length | A short summary | A long answer, often with sections | | Follow-up questions | Yes, they open AI Mode | Built in, with context kept | | Normal blue links | Still on the page, below | Replaced by source links next to the answer | | How to avoid it | Web filter or the udm=14 URL | Don't open it | | URL we saw (Oct 9, 2026) | A normal search URL | google.com/ai sent us to a search URL with udm=50 | | Users, per Google (June 2026) | More than 2.5 billion monthly active | More than 1 billion monthly | The two are now linked. In May 2026 Google said you can ask a follow-up question right from an AI Overview, on desktop and mobile. That moves you into AI Mode, with your first search carried over. ## How to get to AI Mode There are four ways in. 1. **Search on Google and select AI Mode.** It appears below or beside the search bar. 2. **Go to google.com/ai.** This opens AI Mode directly. 3. **Use the Google app.** In May 2025, Google said AI Mode would appear in the app's search bar. 4. **Ask a follow-up from an AI Overview.** Google hands you over to AI Mode. Google also runs an "AI Mode" test inside Search Labs, where new AI Mode features show up first. Its help page says you must be 18 or older and use a personal Google Account for the Labs version. ## Is AI Mode the same as Gemini? No. AI Mode is part of Google Search. It answers by searching the web and linking to the pages it used. The Gemini app at gemini.google.com is Google's separate assistant, for chat, writing, and other tasks. Both use Gemini models, which is why the names get mixed up. A simple rule: if you started on google.com and see source links next to the answer, you are in AI Mode. ## How AI Mode and AI Overviews pick their sources Google says both features may use query fan-out. While the answer is being written, Google finds more pages to support it. Google says this lets it show "a wider and more diverse set of helpful links" than a classic search. You can see the effect in AI Overviews. In our October 9, 2026 sample of 56 US desktop pages, only 24 percent of cited URLs also ranked in the organic top 10. One likely reason is that fan-out searches reach pages that never show on page one for your exact query. We did not measure AI Mode, so we can't give a number for it. Google says there is nothing special to do to appear in either one. A page has to be indexed and allowed to show a snippet in normal search. Google lists no special markup and no AI text file. Our guide to [LLM SEO](https://serplify.io/blog/llm-seo/) covers what does seem to help. ## What AI Mode and AI Overviews mean for clicks The best outside data so far is about AI Overviews. Pew Research Center tracked the browsing of 900 US adults in March 2025. When a Google page had an AI summary, people clicked a normal result on 8 percent of visits. Without a summary it was 15 percent. They clicked a link inside the summary on just 1 percent of visits. Google sees it differently. Its guide for site owners says clicks from pages with AI Overviews are "higher quality", meaning people tend to spend more time on the site. Google has not published click-through numbers for either feature. For AI Mode the evidence is thinner. There are no normal blue links on the page, only source links next to the answer. That points to fewer clicks per search, but we have not seen solid public data. Treat any confident number with care. If your clicks dropped while your rank held steady, an AI answer above you is one likely cause. Our guide to [a good organic CTR](https://serplify.io/blog/what-is-a-good-organic-ctr/) shows how to spot the gap. ## What it means for tracking The two features need different tracking. **AI Overviews are easy to sample.** They sit on a normal results page, so tools can fetch the page from a fixed city and device and save who was cited. Our [SERP features guide](https://serplify.io/blog/serp-features-explained/) shows where the overview sits among the other blocks. **AI Mode is harder.** It lives on its own page, changes with each follow-up, and can draw on your Google activity if you allow it. Two people asking the same thing may get different answers. **Search Console covers both, in a limited way.** Google says clicks and impressions from AI Overviews and AI Mode count in the normal Performance report, under the Web search type. Since August 31, 2026, every site can also get a Generative AI performance report. It counts how often your links were shown in AI Overviews and AI Mode. Google's help page describes impressions only, with no split between the two features. If you want to skip AI answers as a searcher, read [how to turn off AI Overviews](https://serplify.io/blog/how-to-turn-off-ai-overviews/). There is no off switch, but there are good workarounds. Frequently asked questions: Q: What is the purpose of AI Mode? A: AI Mode is for questions that need more than a quick answer, like comparing options or planning something with several steps. You ask in plain words, get a long answer with links, and keep asking follow-up questions. Google says it runs many searches at once to build each answer. Q: How does Google AI Overview work? A: When Google decides an AI answer will help, it writes a short summary at the top of the results page. The AI uses pages from Google's index and links to them as sources. The normal results stay below it. Q: Is Google AI Overview better than ChatGPT? A: They do different jobs. An AI Overview is a short summary on a Google results page, with the normal links right below. ChatGPT is a separate chat app that can search the web when needed. For a quick fact, the overview is faster. For a long back-and-forth, AI Mode or ChatGPT fits better. Q: How do I ask Google AI a question? A: Go to google.com/ai, or search on Google and select AI Mode under the search bar. In the Google app, AI Mode sits in the search bar. You can also ask a follow-up question right from an AI Overview, which moves you into AI Mode. Q: Can I turn off AI Mode? A: You don't need to. AI Mode only opens when you choose it. AI Overviews are different: Google says they cannot be turned off, but you can hide them with the Web filter. Sources: - Google Blog: Expanding AI Overviews and introducing AI Mode (March 5, 2025): https://blog.google/products-and-platforms/products/search/ai-mode-search/ - Google Blog: AI Mode in Google Search, updates from Google I/O 2025 (May 20, 2025): https://blog.google/products-and-platforms/products/search/google-search-ai-mode-update/ - Google Blog: Search updates from I/O 2026 (May 19, 2026): https://blog.google/products-and-platforms/products/search/search-io-2026/ - Google Blog: New opportunities, control and insights for website owners (updated August 31, 2026): https://blog.google/products-and-platforms/products/search/new-controls-website-owners/ - Google Blog: Generative AI in Search (May 14, 2024): https://blog.google/products/search/generative-ai-google-search-may-2024/ - Google Search Central: AI features and your website: https://developers.google.com/search/docs/appearance/ai-features - Google Search Help: AI Mode in Search Labs: https://support.google.com/websearch/answer/16296315?hl=en - Pew Research Center: Google users are less likely to click on links when an AI summary appears (July 22, 2025): https://www.pewresearch.org/short-reads/2025/07/22/google-users-are-less-likely-to-click-on-links-when-an-ai-summary-appears-in-the-results/ --- # What Is llms.txt? The Format, Real Examples, a Template, and Who Reads It URL: https://serplify.io/blog/what-is-llms-txt/ Published: 2026-10-09 > llms.txt is a Markdown file at your site root that points AI agents to your key pages. See the format, real examples, a template, and what Google says about it. Key takeaways: - llms.txt is a plain Markdown file at /llms.txt that gives AI agents a short summary of your site and links to your most useful pages. Jeremy Howard proposed it in September 2024 at llmstxt.org. - Only one part is required: an H1 with your site's name. The usual file adds a one-line summary, a few key facts, and lists of links under H2 headings. - As of October 2026, no major AI company has said it uses llms.txt to rank or cite websites. Google says you do not need special AI files to appear in AI Overviews or AI Mode. - Ahrefs looked at 137,210 sites in May 2026. Of the sites that published an llms.txt file, 97 percent got zero requests for it that month. - It still has a use. Coding agents and AI tools that already know your site read it to find docs and facts fast. OpenAI, Anthropic and Google's Gemini team all publish one for their own developer docs. llms.txt is a plain Markdown file that you put at the root of your website, at `yoursite.com/llms.txt`. It gives AI tools a short summary of your site and a list of links to your most useful pages. Think of it as a table of contents written for AI agents. Jeremy Howard proposed it in September 2024 at [llmstxt.org](https://llmstxt.org/), and updated the proposal in August 2026. It is a proposal, not an official web standard. And as of October 2026, no major AI company has said it uses llms.txt to decide what to rank or cite. ## What is llms.txt for? **llms.txt helps an AI agent find the right page on your site without reading all of it.** Web pages are built for people. They are full of menus, scripts and ads. An agent that wants one fact has to dig through all of that. Its context window, the amount of text it can hold at once, is too small for a whole website. llms.txt solves that with one small file. It says what the site is, lists a few key facts, and links to clean versions of the important pages. The agent reads the file, follows only the links it needs, and skips the rest. The proposal says these files are used most for software docs. A coding assistant that needs your API reference can find it in one hop. ## The llms.txt format, line by line The file uses Markdown, with a fixed order so programs can parse it too. Here are the parts, in order: 1. **An H1 with the name of the site or project.** This is the only required part. 2. **A blockquote** (a line starting with `>`) with a short summary. 3. **Optional details**: paragraphs or lists with key facts. No headings here. 4. **Sections under H2 headings**, each holding a list of links. Each item is a Markdown link, then an optional colon and a note. 5. **A section named "Optional"**, by convention, for links an agent can skip when it is short on space. Here is the bare shape from the proposal: ```markdown # Title > Optional description goes here Optional details go here ## Section name - [Link title](https://link_url): Optional link details ## Optional - [Link title](https://link_url) ``` The August 2026 update added two ideas. A file can live in a folder, so `/docs/llms.txt` covers only the docs. And pages can offer a clean Markdown copy at the same address plus `.md`, so the links in llms.txt point to text an agent can read directly. ## Real llms.txt examples We opened these files on October 9, 2026. They show how differently teams use the same format. | Site | File | Size | What stands out | |---|---|---|---| | Stripe docs | docs.stripe.com/llms.txt | 709 lines, about 500 links | Opens with direct instructions for coding agents, then links to `.md` pages | | Anthropic docs | platform.claude.com/llms.txt | 830 lines, 760 links | Lists all 760 English docs pages as Markdown links | | OpenAI developers | developers.openai.com/llms.txt | 53 lines | A short index that links to a separate llms.txt for each product | | Gemini API docs | ai.google.dev/gemini-api/docs/llms.txt | 225 lines | Every link points to a Markdown copy of the page | | FastHTML docs | fastht.ml/docs/llms.txt | 45 lines, 21 links | The example used in the proposal itself | Two patterns are worth copying. OpenAI keeps the top file tiny and splits the rest by product. Stripe puts its most important rules for agents right under the H1. ### Our own llms.txt Serplify publishes one at `serplify.io/llms.txt`. We generate it from the same data as our pages each time the site builds. So the prices in it always match the [pricing page](https://serplify.io/pricing/). We also publish `serplify.io/llms-full.txt`, which holds the full text of every guide and is built the same way. Here is the top of the file, trimmed: ```markdown # Serplify > Serplify gives growth and SEO teams a Google SERP API, real website traffic, and real-click SEO traffic from one platform and one prepaid balance ... Key facts, current as of this build: - SERP API: $0.005 per Google results page (up to 100 results). Retries after a block are never billed. - One prepaid balance covers all products and never expires. New accounts start with $1 of free balance. ## Products - [Google SERP API](https://serplify.io/serp-api/): live Google results as JSON, endpoints, coverage and pricing. - [Pricing](https://serplify.io/pricing/): per-result prices, top-up bonuses and what is billed when. ## Documentation - [Quickstart](https://docs.serplify.io/getting-started/quickstart/): first SERP API request in curl, Node.js and Python. ``` The full file also lists every guide on this blog, grouped by topic, with its one-line summary. ## Who reads llms.txt? **Mostly AI agents that are already on a task, not search engines.** Here is what is known as of October 2026. **Google says you do not need it.** Google's guide to AI features in Search says you do not need new machine-readable files or "AI text files" to appear in AI Overviews or AI Mode. There is also no special schema markup to add. **Most files are never fetched.** Ahrefs studied 137,210 sites that got traffic in May 2026. About 28 percent of them published an llms.txt file. Of those files, 97 percent got zero requests all month. Of the requests that did arrive, 96 percent came from bots. The top AI fetcher was GPTBot, OpenAI's crawler, and the second was Claude Code, a coding agent. **Chrome checks for it.** Lighthouse, Chrome's site audit tool, has an llms.txt check in its agentic browsing audits. A missing file counts as "not applicable". A file that returns a server error fails the check. **AI labs publish their own.** OpenAI, Anthropic and Google's Gemini team all keep an llms.txt for their developer docs. That tells you who the format helps most: developers whose coding tools read docs. Put together, llms.txt is a convenience for agents. It is not a way to get into ChatGPT answers or Google's AI Overviews. For that, see our guide to [LLM SEO](https://serplify.io/blog/llm-seo/), and measure the result with [AI visibility tracking](https://serplify.io/blog/how-to-track-ai-visibility/). ## llms.txt vs robots.txt vs sitemap.xml | File | Who it is for | What it does | |---|---|---| | robots.txt | Crawlers | Says which URLs a bot may fetch. It is a set of rules. | | sitemap.xml | Search engines | Lists every page you want indexed, with no summary. | | llms.txt | AI agents | Summarizes the site and links to the best pages. It cannot block anything. | They work together. robots.txt still decides whether AI crawlers can read your pages at all. A sitemap still helps Google find every page. If Google is missing pages, llms.txt will not fix it. Start with [why your site may not show up on Google](https://serplify.io/blog/why-is-my-website-not-showing-up-on-google/). ## How to write an llms.txt file 1. **Pick 10 to 30 pages.** Choose the ones that answer what people most often ask about you: what you sell, prices, docs, policies. 2. **Write the H1 and the summary.** One or two plain sentences. Say what you do, for whom, and the fact people most often get wrong. 3. **Add a short list of key facts.** Prices with the month you checked them, limits, and what you do not do. 4. **Group the links under H2 headings.** Add a short note after each link so the agent knows when to open it. 5. **Put extras under "Optional".** Blog feeds, long references, old docs. 6. **Save it as plain text at `/llms.txt`.** Use UTF-8. Serve it as `text/plain` or `text/markdown`. 7. **Test it.** The proposal suggests this: give an assistant only your llms.txt, then ask it questions about your site. If it gets them wrong, fix the file. 8. **Keep it current.** Build it from your site's data, or use a tool. Yoast SEO, AIOSEO, Wix, Mintlify and GitBook can all generate one. Here is a template you can copy: ```markdown # Your Company > Your Company makes X for Y. One more sentence with the fact people most often get wrong. Key facts: - Price: $X per Y (checked October 2026). - Works in: the countries or platforms you support. - Does not: the thing people often assume you do. ## Products - [Product name](https://example.com/product/): what it is, in one line. ## Docs - [Getting started](https://example.com/docs/start/): first steps. - [Pricing](https://example.com/pricing/): plans and what is billed. ## Optional - [Blog](https://example.com/blog/): guides and news. ``` ## What about llms-full.txt? llms-full.txt is a popular extra, not part of the core proposal. It holds the full text of all your docs in one Markdown file. Mintlify, for example, creates it on every docs site it hosts. Mintlify describes it as a file that combines a whole docs site into one. It is useful when an agent needs everything at once, like a coding assistant loading a full API reference. It is usually too big for a normal website. The 2026 proposal leans the other way: small llms.txt files plus a Markdown copy of each page. ## Should you add an llms.txt file? Add one if you have docs, an API, or facts that AI tools often get wrong, like prices. It takes an hour, and a generated file stays correct on its own. Do not expect traffic from it. The data so far says almost nothing fetches it, and Google does not use it for AI Overviews. Spend the bigger effort on pages that assistants cite: clear docs, clear pricing, and real answers to real questions. Then [track whether Google's AI Overviews cite you](https://serplify.io/blog/how-to-track-ai-overviews/). Frequently asked questions: Q: Does Google use llms.txt? A: Google says you do not need it. Its guide to AI features says no new machine-readable files or AI text files are needed to appear in AI Overviews or AI Mode. Separately, Chrome's Lighthouse tool has an llms.txt check in its agentic browsing audits, which only flags a file that returns a server error. Q: What is the difference between llms.txt and robots.txt? A: robots.txt tells crawlers what they may and may not fetch. llms.txt tells AI agents what your site is and where the best pages are. One is a set of rules, the other is a guide. llms.txt cannot block anything. Q: How do I create an llms-full.txt file? A: llms-full.txt is not part of the core proposal. It is a common extra, made popular by docs platforms like Mintlify, that puts the full text of every docs page into one Markdown file. Most teams generate it with their docs tool or a build script rather than by hand. Q: Does llms.txt help SEO? A: There is no evidence that it helps Google rankings or AI citations. It is cheap to add and can help agents that already visit your site. Treat it as good housekeeping, not a growth tactic. Q: Where do I put the llms.txt file? A: At the root of your site, so it loads at yoursite.com/llms.txt. The 2026 version of the proposal also allows a file inside a folder, such as /docs/llms.txt, which then covers only the pages in that folder. Sources: - llmstxt.org: The /llms.txt file, v2 (Jeremy Howard): https://llmstxt.org/ - Google Search Central: AI features and your website: https://developers.google.com/search/docs/appearance/ai-features - Ahrefs: We analyzed 137K sites, 97% of llms.txt files never get read (June 2026): https://ahrefs.com/blog/llmstxt-study/ - Chrome for Developers: Lighthouse llms.txt audit: https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt - Mintlify docs: llms.txt and llms-full.txt: https://www.mintlify.com/docs/ai/llmstxt - Stripe documentation llms.txt: https://docs.stripe.com/llms.txt