Skip to main content
Whether you’re evaluating Bluemoon or troubleshooting something specific, the questions below cover what customers ask most. Account and billing come first, then measurement, then the Agent Edge Network. If you’re just getting started on the edge side, the Edge Network overview explains what it does and which install fits your stack.

Account, plans and billing

Free runs ChatGPT; Starter runs ChatGPT and Google AI Overview; Growth runs three engines of your choice among the six; Business and Enterprise run all six. You pick and swap engines in Settings → AI platforms; a change applies from the next scan.Claude is not included in any plan. It runs only on your own Anthropic API key, added in Settings → API keys. Once the key is there, Claude appears among the engines you can switch on. See Plans, trial and billing.
Every public paid plan starts with a 7-day trial. The card is collected up front and charged when the trial ends. The trial opens the full plan from day one — the same engines and the same limits — it only decides when the first charge lands. A workspace gets one trial; cancelling and subscribing again does not restart it.
Websites, markets (a website in one country), active tracked questions, tracked competitors, members and AI credits, all workspace-wide. The same question tracked in two countries is two questions. An extra website bought as an add-on does not raise the number of questions: you split the questions the plan includes across one more site. The ceilings per plan are in Plans, trial and billing.
The monthly allowance behind every AI-powered action: generating questions, themes, personas, articles and ads, agents, Ask AI. The allowance resets on the plan’s cycle; top-up packs never expire. When the balance is short, the action is refused with the cost and your balance, and nothing is charged. Costs per action are listed in Actions, tools, agents and Ask AI. A workspace that brings its own provider key is not debited for the actions that run on that provider.
A Viewer reads the measurement screens. An Editor also edits content: questions, themes, personas, competitors, actions and every tool. An Admin additionally runs scans, manages members, billing, integrations, API keys and markets, and can delete the workspace. Roles are set on Settings → People; see Workspace, team and settings.
Only what each integration needs, and only when a workspace Admin connects it. Google: two read-only scopes (Search Console and Analytics), revoked at Google the moment you disconnect. Semrush and OpenAI Ads: an API key you create in your own account, stored encrypted, never shown again, sent nowhere but to that vendor, and deleted when you disconnect. Nothing is ever written to those accounts except the paused draft campaigns you choose to push to OpenAI Ads.
Every member loses access immediately; markets, questions, scores, citations, actions and alerts are deleted; connected accounts are disconnected and every access token revoked; the subscription is cancelled straight away. It cannot be undone. Leaving a workspace, by contrast, removes only you.

Measurement

Every active tracked question is asked once a day on each platform your plan covers. Choose when the daily scan starts in Settings → AI platforms → Daily scan time (UTC).Need a fresh read sooner, for example right after you publish something? A workspace Admin can click Run scan. An answer can first appear badged Preliminary; the full answer replaces it in place within about two minutes. Its scores and intent labels follow a few minutes later.
First, check that your plan covers the platform: Settings → AI platforms shows the platforms your plan runs and which ones are switched on. A platform outside your plan is never asked, so it shows nothing rather than an error.If the platform is included, the scan failed on it. Bluemoon never fills a gap with a blank or invented answer: it records a failure with a reason, visible per platform in Settings → Scan history. The reasons you’re most likely to see:
  • No AI Overview shown for these queries — Google did not show an AI Overview for that query. That is a real observation about the query, not an error.
  • Rate limit or quota reached / Too many parallel requests — the platform throttled the request.
  • Missing or invalid credentials or Account credit exhausted — a problem with the account the platform runs on. If you brought your own key, check it in Settings → API keys.
  • Source timed out — the question will be asked again on the next scan.
  • No fallback available for this platform — the platform could not be reached for this question.
A failed attempt is left out of your rates entirely: it counts neither as an answer nor as a miss, so a bad day on one platform can’t drag your visibility number down.
A dash means not measured. Zero means measured, and you were not mentioned. They are different findings, and Bluemoon never shows one as the other.You see a dash when:
  • Commercial reach in a report covers only Peripheral themes, which don’t count toward it, or too few answers. The report prints not measured rather than 0%. See Commercial reach.
  • A question type on the Intent map has too few answers behind it yet. A question asked once reads exactly 0% or 100%, which tells you nothing, so the figure waits until there are more answers.
Two related rules:
  • A rate that is measured and non-zero but would round to 0.0% shows as <0.1%. A handful of mentions is not the same finding as none.
  • Answers that are recorded but not yet scored are left out of question-type rates until they are scored. An unscored answer is not evidence that you were absent.
No. Use it to decide what to work on first, not as a forecast of where you will be named.The score tells you which questions sit closest to a buying decision.To see where you are named, read the question type figures on the Intent map instead. Best-of lists and comparison questions name brands; how-to questions explain a process. See Question types.
Because there are not enough answers on the questions the action targets to compute a change, and Bluemoon says so rather than print a number that is noise. See Measure whether an action worked.Each action on the Impact page ends with one of these:
  • too few answers: not enough answers on the action’s questions. Any figure shown beside it is not a result.
  • measuring · day X of Y: the measurement is still running. The figures are provisional.
  • no proven change: the change is too small, or rests on too few answers, to tell apart from chance.
  • A change in pts, up or down: the action’s questions moved by that much, beyond chance.
Two badges can appear along the way: Your page is now cited and First mention on [platform]. They point in a direction; they don’t prove the action caused it.If an action stays at too few answers, the questions it targets rarely get enough answers — a topic with very few active questions, for example. Waiting will not fix that. Track more questions on that topic to get a reading.
Bluemoon asks ChatGPT, Perplexity, Gemini, Google AI Overview, Google AI Mode and Microsoft Copilot, plus Claude on your own Anthropic key. Your plan decides which of them run for you, so a platform missing from your breakdowns may simply not be included — check Settings → AI platforms before treating it as a failure.Each recorded answer is checked for your brand and for each tracked competitor, under every spelling you track. In the answer viewer, a mention where only part of a brand’s name appears is marked implicit: weaker evidence than the full name.Brand spellings matter. Add every way the AIs might write your brand — an abbreviation, a legal entity name, a local spelling — under Brand names in Settings → Domains & markets, so a real mention isn’t missed or read as a partial one.In the competitor comparison, questions that contain your own brand name are left out. An AI asked about your brand by name will name it, which would inflate your rate against competitors nobody asked about by name. Those questions still appear in the per-question breakdown.
Not with certainty, and it won’t pretend to. Bluemoon measures what the AI said, not why it said it.What it gives you is the evidence to reason from: the recorded answers behind each tracked question, which competitors were named in them, which URLs were cited, and how the pattern breaks down by platform, topic, persona and question type. When best-of-list questions in your core topics almost never name you, that is a measured fact and a clear place to look. The conclusion is yours to draw, from answers you can read.

Agent Edge Network

Work through these in order:
  1. Is AEN_EDGE_TOKEN set as an environment variable in Vercel? A local .env file is not enough, and you need to redeploy after adding it. Without the token the middleware does nothing: no detection, no hits.
  2. Is the middleware deployed? Check that your middleware file is at the root of your Next.js project and shows up in your Vercel project’s Functions tab. See Next.js middleware.
  3. Did a real AI crawler visit? Opening your own site in a browser doesn’t create a hit. Ask ChatGPT or Perplexity, with browsing on, a question that makes it fetch a page on your domain.
Hits are recorded for every AI crawler the middleware recognises, but only Verified ones (IP_VERIFIED) can be served the optimized page. A request that uses a crawler’s name but can’t be confirmed as coming from that AI company — a test with a made-up user agent, for example — is marked Unverified (UA_ONLY) and always gets your normal page.
All four of these must be true:
  1. The crawler is verified (Verified in Agent Analytics, IP_VERIFIED). An Unverified (UA_ONLY) request always gets your normal page.
  2. Its purpose class is enabled. By default that is USER_TRIGGERED and RETRIEVAL; other purpose classes get your normal page, even when verified.
  3. The serve mode is default. The middleware starts in shadow, which only logs. Set SERVE_MODE to "default" in middleware.ts (or AEN_SERVE_MODE=default in your environment if you installed the npm package), then redeploy.
  4. An optimized page exists for that URL. Until Bluemoon has generated one, crawlers get your normal page. The middleware never makes up a response.
Googlebot, Bingbot and Applebot never get the optimized page, whatever your settings — see the SEO question below.
Yes. Googlebot, Bingbot and Applebot always get your normal page. This is built into the middleware, and serving the optimized page to search-index bots can’t be turned on for any site.This matters because Google’s AI Overviews run on Googlebot and the same index as Google Search. Serving Googlebot a different page would be cloaking Google Search itself, a clear policy violation. Bluemoon never does it.The answer-engine crawlers that do get the optimized page (such as OAI-SearchBot, Claude-SearchBot and PerplexityBot) get your existing page restructured: the same substance, reformatted as answer-first Markdown and JSON-LD. Bluemoon discards any optimized version that adds something your page doesn’t say.See the cloaking firewall guide for the full rule.
Yes. Besides the Next.js edge middleware, there are drop-ins for Cloudflare Workers and WordPress / PHP, plus a custom integration with copy-paste snippets for any other stack. Write to hello@trybluemoon.com to discuss your stack.
No. The edge token (AEN_EDGE_TOKEN, format aen_...) is separate from your Bluemoon account credentials and covers exactly one site. The middleware uses it to talk to Bluemoon: to fetch your optimized pages and to report crawler hits. Because it is tied to one site and can be revoked, a leaked token only exposes that one site’s edge setup.You get the token in Agent Analytics: click Connect edge for your site, or open Setup once it is connected. It is shown in full only once, so paste it straight into your Vercel environment variables rather than committing it to your repository. If you lose it or want to rotate it, click Regenerate under Setup to get a new one; the old one stops working immediately, and the rest of your account is unaffected.
Shadow mode is how the middleware ships (Testing in the app). It recognises and verifies AI crawlers and logs every visit, but every visitor, human or bot, gets your normal page.Starting in shadow mode lets you confirm that:
  • The middleware is deployed and receiving requests.
  • AEN_EDGE_TOKEN is set and the middleware can reach Bluemoon.
  • Verified AI crawler hits appear in Agent Analytics.
  • The optimized pages look right — See all pages → Your pages in Agent Analytics shows each one with its status and citability score.
When you’re satisfied, set SERVE_MODE to "default" in middleware.ts (or AEN_SERVE_MODE=default with the npm package) and redeploy. See Serve modes.
The crawlers of the major answer engines — OpenAI (ChatGPT), Anthropic (Claude), Perplexity and Mistral. Bluemoon also recognises Googlebot, Bingbot and Applebot, only so that they always get your normal page.Bluemoon keeps this list up to date for you, so you don’t have to track crawler names yourself. Agent Analytics shows who crawled and how each request was labelled:
  • Verified (IP_VERIFIED) — confirmed as coming from that AI company. Can be served the optimized page.
  • Unverified (UA_ONLY) — used a crawler’s name but couldn’t be confirmed. Always gets your normal page.
Every crawler has a purpose class that says why it is visiting:
  • USER_TRIGGERED (User-triggered in Agent Analytics) — a person is waiting for an answer. When someone asks ChatGPT a question with browsing on, ChatGPT-User fetches your page in real time.
  • RETRIEVAL (Search / retrieval) — an answer engine fetching pages to answer questions, like OAI-SearchBot or PerplexityBot.
Both are served the optimized page by default. Other classes always get your normal page:
  • TRAINING crawlers, such as GPTBot and ClaudeBot.
  • SEARCH_INDEX bots (Googlebot, Bingbot, Applebot), which can never be enabled.
You choose which purpose classes are served for each site; in the copy-paste middleware.ts this is the ENABLED set. See Serve modes.
Not for your visitors. When a request doesn’t come from a known AI crawler, the middleware steps aside straight away.For a verified AI crawler, the middleware fetches the ready-made optimized page from Bluemoon. That only affects the crawler’s request, never a human visitor’s.
Optimized pages are prepared in advance, so serving one never waits on an AI model.
An optimized page is built from your page as it was when Bluemoon generated it, so editing your page doesn’t rebuild it automatically. To refresh it:
  1. Open Agent Analytics in the Bluemoon app, then See all pages → Your pages.
  2. Open the page you edited.
  3. Click Regenerate.
While it is being rebuilt, the page shows as Stale and crawlers get your normal page. Once it is back to Optimized, the new version is served to the next qualifying crawler, with no redeploy on your side. The list also shows the updated citability score. See Optimized pages.