Skip to main content
LLM Metrix
Back to tutorials

Multi-Engine Optimization Strategy

Track the AI models that matter without one strategy per model: why running your full entitlement costs no more than running one, and how to tell a real per-model gap from a configuration one.

Level

Advanced

Format

Guide

Duration

10 min read

Sections

6 sections

Seven AI models are tracked here, and they are not seven versions of the same thing: all seven are chat models reached through an AI gateway. Google AI Overviews, Google AI Mode and Microsoft Copilot are deliberately not among them: they are not chat models at all (SERP lookups, no LLM call), and they run on a separate weekly SEO-data pass on paid plans rather than in your scan fan-out.

A multi-engine strategy is mostly about not building seven strategies. This tutorial covers what genuinely differs between models, what does not, and how to read a per-model gap without inventing a cause for it.

One thing to settle before the rest makes sense: coverage is not a cost decision here. A credit buys one prompt checked once, across every model you run, so running your full entitlement costs exactly what running one costs. Step 3 has the detail; everything else in this tutorial is about signal, not spend.

Step 1: Take stock of the seven models

Surface How it is queried
ChatGPT Chat model, web-search capable when grounding is on
Perplexity Search model: grounded on every call, returns sources by default
Gemini Chat model, Google Search grounding when enabled
Claude Chat model; its web search is provider-executed and needs a direct provider key
Grok Chat model, live search when enabled
Meta AI Chat model with no web-search capability at all
DeepSeek Chat model with no web-search capability at all

Two entries in that table drive most of the confusion downstream. Meta AI and DeepSeek can never return a real cited URL, because they never search; anything that looks like a citation from them is a domain the analyser pulled out of prose. And Google AI Overviews is tracked, but not here: it is not one of the seven choosable models: an Overviews check is a real Google search read from a SERP provider, so it runs on the weekly SEO-data pass on paid plans, metered on its own line rather than the credit ledger. Without a SERP provider configured the pass skips it entirely, leaving you a surface short with no sign of it on the credit ledger, since the ledger never counted it in the first place.

Onboarding does not list Copilot at all: step 5 shows the four free-plan engines as cards, with a note that paid plans choose any four of seven and that Google AI Overviews, AI Mode and Copilot run on the weekly SEO-data pass rather than as engines you add. Nothing is scanned that the page does not show.

Step 2: Choose the engines this project actually needs

Engine selection is per project, in Settings → General, under AI Engines. Toggle the models you want and save; the same list is set during onboarding and can be changed at any time. Paid plans include any four of the seven models; agency can buy the remaining three as per-engine add-ons. Free’s four are fixed.

Models outside your plan render disabled with a note (on agency, add-ons add more), and a model whose backing integration is unavailable is flagged honestly on the row. The case worth knowing is a dead model id: a model id the gateway no longer resolves is still queried. Every call errors, so the model bills nothing and is dropped from the score, but its row reads as zero visibility rather than as a fault. Fix the ENGINE_MODEL_* value before trusting it.

The right test for each model is: if this surface reported a problem, would we do something about it? A model nobody will act on adds a row you scroll past; the cost of carrying it is attention, not credits, so weigh it as noise rather than as spend. The default set is the four mainstream models, and running your full entitlement is deliberate.

Nobody can tell you the correct split of effort across engines, and you should distrust any article that quotes one: reliable public figures for AI assistant usage by market and segment do not exist in a form worth planning against, and a made-up percentage is worse than no percentage. Choose from what you can observe instead: where your referral traffic comes from, what your customers say they use, and which surfaces already mention you.

app.llmmetrix.com/dashboard/settings?tab=general
Illustrative, sample figures in the product's real layout

AI engines

The answer engines this project is scanned across. Your free plan includes a fixed four: ChatGPT, Perplexity, Gemini, and Claude. Google AI Overviews, Google AI Mode and Microsoft Copilot are not models and are not chosen here: they run weekly on paid plans.

ChatGPT

Perplexity

Gemini

Claude

Grok

Model not found

The configured model no longer exists at the AI Gateway. Scans of this engine return nothing, which looks identical to poor visibility. Fix the ENGINE_MODEL_* value before trusting its score. Currently set to xai/grok-3.

Your plan includes 4 engines. Remove one before adding another.

Live component, sample data. Settings → General. The toggles work here. Note the row that reads "Model not found": a retired model id means scans return nothing while looking like they worked, so fix the ENGINE_MODEL_* value before trusting its score. Rows outside your plan render disabled with a note instead. Neither the state nor the selection changes what a scan costs; engines are not a billed unit.

Step 3: Budget by prompts, because engines are not billed

A scan does fan out: four models and ten active prompts really is forty model calls. But the fan-out is not the charge. One credit is one prompt, checked once, across every model the project runs, so those ten prompts cost ten credits whether one model answers them or all four. Adding a model is a free coverage improvement, and dropping one saves you nothing while costing you a surface.

That is the whole reason the number to plan against is your active prompt count multiplied by your refresh cadence, not anything involving engines. If you need to spend less, track fewer prompts. The pricing page shows the monthly included credits per plan and the overage rate if your cadence runs past them.

Two more cost facts worth knowing before you widen coverage:

  • Errored answers are free, but the unit is still the prompt. A prompt bills one credit if at least one engine came back with an answer, so a partial outage does not reduce the charge, and only a prompt that every engine failed on is free. That is the opposite of what per-engine billing would imply, on the paid ledger and the free-tier quota alike. A wholly failed scan bills zero.
  • Search grounding is not free. When grounding is enabled, engines that opt into a provider web-search tool bill at a multiple of the base rate. That multiple applies per prompt, once, not once per grounded engine. Perplexity is not surcharged at all, because it searches unconditionally and that is already inside its base rate.

Step 4: Read per-engine differences without over-explaining them

Open the per-engine breakdown after a scan. Expect real spread: the same question routinely produces four different shortlists across the models you run.

Before attributing that spread to engine “personality”, check the three structural explanations first:

  1. Grounded or not. A grounded engine answered from a live search; an ungrounded one answered from what the model already carries. That single difference explains more variance than any stylistic account of an engine’s preferences.
  2. A SERP surface is not a chat surface. If you read Google AI Overviews (from the weekly SEO-data pass) against a chat model’s answer, remember they are different mechanisms: Google’s guidance on AI features describes those surfaces directly, and it is a different mechanism from a chat model answering from its weights.
  3. Recency. An ungrounded model’s knowledge has a cut-off; a grounded one does not. Sudden disagreement about something that recently changed is usually this.

What remains after those three is genuine engine difference, and it is a smaller residue than most strategy writing implies.

Step 5: Decide what is genuinely engine-specific work

Most of what improves visibility improves it everywhere, because every surface is drawing on overlapping public material. Do the shared work first:

  • One clear, current statement of what you do and who it is for, on a page that answers a question rather than describing a product.
  • Corroboration outside your own domain: listings, comparisons, reviews. Ungrounded engines lean on what was widely published; grounded ones lean on what is retrievable right now. Both reward the same thing.
  • Retrievability. Crawler access is the one place where per-engine action is genuinely required, because the agents are distinct and so are the consequences. OpenAI documents its crawlers separately, and the agent that feeds search results is not the one that trains models. Blocking indiscriminately can remove you from the surface you are trying to appear on.

Genuinely engine-specific work is a short list: crawler and robots.txt policy per agent, and presence on the sources a specific grounded engine keeps citing for your prompts, which the Citations page shows you per engine.

Step 6: Watch for an engine that goes quiet for the wrong reason

A surface reporting zero looks the same whether nobody mentioned you or nothing was measured. Three causes to rule out before you write a brief:

  • Every call to that engine failed. Its row is dropped from your scan rather than averaged in as a zero, precisely so an outage does not read as invisibility. Check Activity for the scan job.
  • The engine’s configured model no longer exists. Providers retire model ids, and a scan against a dead id returns nothing, indistinguishable from poor visibility on the dashboard. The engine row flags this state explicitly; treat it as an ops fix, not a content problem.
  • Google AI Overviews never appears. No SERP provider is configured, so the weekly SEO-data pass skips it. Nothing is broken (the pass’s other checks still run and the credit ledger is untouched either way), but it is a coverage loss to fix (configure a provider) rather than a saving to enjoy.
app.llmmetrix.com/dashboard
Illustrative, sample figures in the product's real layout

Engine Breakdown

Perplexity79
ChatGPT74
Gemini66
Claude61
Meta AI0
Live component, sample data. The per-engine breakdown after a scan. An engine whose every call failed is left out of the average rather than dragged into it as a zero. Step 6 covers how to tell that apart from an engine that genuinely never mentions you.

Step 7: Where to go next

Ready to put this into practice?

Start optimizing your AI visibility with the techniques you've learned.