GEO software that runs the whole loop: measure, find the gap, publish, verify

Generative engine optimization (GEO) is the work of getting AI answer engines (ChatGPT, Gemini, Perplexity, Claude, Grok and DeepSeek) to name and cite your business when somebody asks about what you do. GEO software does that work as a loop rather than a report: it measures what the engines say, works out what evidence they are missing, publishes that evidence where they read, and measures again. The Ranking Factory is for businesses that want the loop run for them, and for agencies, consultants and in-house teams running it across several sites.

Most tools in this category stop at the first step and hand you a score. This page walks through all four steps, what the product does at each one, and what the result can and cannot tell you.

The loop, step by step

One project per site. Each step feeds the next, and each one leaves a record you can open: the answers, the gap, the page, and what later answers did with it.

1. Measure what the engines say

A visibility run asks up to four of the six engines, your choice, the questions your buyers ask, on your own AI keys. Each topic is asked twice, once without your name and once with it, and named, cited and recommended are counted separately per engine with a 95% range and the number of answers behind them. Once a project qualifies it is measured weekly by default, and you are emailed what will be asked and roughly what it will cost before anything is spent.

2. Find the gap

The Evidence Engine reads those answers against your topic list and records a gap wherever the engines are missing something about you. Each gap names the object it wants (a guide, a comparison, a data table, a deck, a video) and stays open until that object is published, with its link. Searches where a rival holds page one and you are absent can be handed to it as topics in one action.

3. Decide the shape, then write

Before anything is written, two or three of your own AI providers, from different companies, are asked what kind of page the question needs and what it must contain. The page is written to that contract from your own pages, videos and statements, and from outside sources the writer has actually read, then checked element by element, each element proven by a quote from the page. Figures nobody supplied and unsourced superlatives are cut before anything is published.

4. Publish where the engines read

To your own site first (WordPress, Shopify, Wix, Ghost or any webhook), with the same facts in Google Docs, Sheets, Slides and Blogger, where Google’s engines read them. Review before publishing holds every page for your site until you approve it, and is on by default for accounts created since 9 October 2026. A page an AI engine is already citing is never rewritten until you approve the change.

5. Verify on later runs

Later runs watch for the published address in AI answers. Each gap whose evidence was published shows “Cited in X of N runs checked since publishing”, with the engines. With your Cloudflare zone connected or our WordPress plugin installed, each page on your site is also placed at a stage: not fetched, refused, crawled for an index, retrieved by an assistant for somebody’s question, or cited.

6. Run it again, on a schedule

The loop runs every 6 hours on Growth, every 4 on Agency and every 3 on Enterprise; on Starter it runs when you press Run. Each cycle suggests topics to retire (you decide), looks in recent AI answers for topics you are emerging for and topics competitors are cited for, then finds gaps against the refreshed list.

Worked example: an illustration

One gap, from first reading to first citation

The shapes below are the product’s own: a run’s counts out of each engine’s answers, a gap with the object it asks for, a shape contract, and the “Cited in X of N” line. The business, its topics and every number are made up for this page: a commercial cleaning company in Tampa, measured weekly on three engines.

What goes in

  • The site’s address, and three confirmed topics: office cleaning in Tampa, post-construction cleaning, and how often an office should be deep cleaned.
  • Keys for three engines that search the web: ChatGPT, Gemini and Perplexity.
  • A WordPress connection on the company’s own domain, with review before publishing switched on.

Week 1: the first run, 10 questions on each engine

EngineNamedCited (your site)Recommended
ChatGPT3 of 100 of 101 of 10
Gemini4 of 101 of 102 of 10
Perplexity2 of 100 of 101 of 10

Each count carries its 95% range in the product; with 10 answers a range is wide, which is why the counts are shown and not a percentage alone.

The gap it records

  • Topic: how often an office should be deep cleaned. No engine named the company; the answers cited an industry association’s guide and two competitors’ pages.
  • Object asked for: a guide. Shape contract agreed by two of three providers: a schedule by type of office, what a deep clean covers, the signs one is overdue, and a source for any health claim.
  • Written from the company’s own service pages and the association guide the writer was given; checked: carries 4 of 4, each element quoted from the page.

Published, then verified

  • Held for review, approved, and published to the company’s WordPress site, with the same facts in a Google Doc.
  • Crawler stage two weeks later: retrieved by an assistant (ChatGPT-User fetched the page for somebody’s question).
  • Four weeks later, on the gap: “Cited in 2 of 4 runs checked since publishing”, Perplexity and Gemini.

How to read it

The gap is closed because the guide exists, not because anything was cited: publishing is never counted as the result. The citation line is a separate fact. It says two of the four runs completed since publishing cited the page, and which engines did. N counts every completed run since publishing, not only the runs that asked this question.

It does not say the guide caused the citations. There is no control group, answers vary from run to run, and an engine can start citing a page for reasons nobody can see. What it does show is checkable: the page did not exist before, so an answer citing it is new.

What the loop can and cannot establish

The product reports what it observed and how much evidence sits behind it. These are the edges of that.

Association, not cause

“Cited in X of N runs” is shown as an association. A before-reading taken when a gap is found makes the comparison a real before and after, but there is no control group, so a change is reported as observed and never as attributed to the work.

Being cited and being named are different claims

That an engine cited a page this product published can be checked, because the page is new. That an answer named the business cannot be traced to one page in the same way, and the reports say which of the two they are counting.

Some engines cannot be moved by publishing

An engine answering from training, such as DeepSeek asked directly, does not read anything published this week. Before a run, the product states how many of the chosen engines can see published work at all.

API answers are not app answers

Runs ask the engines through their APIs, which is repeatable and can carry a confidence range. The ChatGPT and Gemini apps and Google AI Mode are asked only for the tracked prompts you switch them on for, each on its own line and never in the score.

It makes you citable; it does not manufacture outside sources

Many AI citations come from earned media: reviews, forums, encyclopaedias and industry publications. The product does not post on other people’s sites. Where a topic needs an independent source, it tells you where one would belong, and earned placements you record are watched on a line of their own.

No promised outcomes

Results depend on your market and your competition. No tool can promise citations, positions or timescales, and this one does not.

What it looks like

The Evidence Engine's gap list. Each gap names the evidence it wants and closes only when that object is published.
Which AI crawlers actually fetched the pages we published, read from your own Cloudflare zone. A fetch is not a citation and is never shown as one.
A published gap on the project page, with how many of the runs checked since publishing cited its evidence.

Pricing and setup

Every plan runs the same loop on your own AI keys; the plans differ mainly in how often it runs by itself. Growth monthly starts with a 14-day free trial. Annual billing is ten months for twelve.

Starter

$49 a month

The loop when you press Run. One client.

Growth

$129 a month

Every 6 hours, with automatic topic discovery and the Cloudflare crawler read. 14-day free trial.

Agency

$249 a month

Every 4 hours, multi-location onboarding and white-label reports.

Enterprise

$499 a month

Every 3 hours, and an AI Overview budget you set.

Setting it up

  1. Check the site. It needs nothing but the address.
  2. Add a key for at least one AI engine that searches the web.
  3. Confirm what the business does and the topics to measure.
  4. Connect your CMS so pages publish on your own domain, and choose whether to review them first.

What else it costs

The engines and the writers run on your own AI keys. For scale: on our own account in September 2026, a weekly measuring run of 10 questions on two or three engines with live search cost $0.55 on average, about $2.40 a month per project. Writing costs extra and depends on how much is written.

Two optional readings, a before-reading for each new gap and a passage check on each page, are off until you turn them on, and state their calls beside the switch.

Read more

Run the loop on your own site

Measure first, publish what is missing, and read on later runs what the engines did with it, every number with what it was counted over.

Start your 14-day free trial