User Manual

DEJAN App User Manual

Table of Contents

  1. Getting Started
  2. Adding a New Property
  3. Setting Up Your Property - Brands - Owned Domains - Competitor Domains - Entities - Categories - Queries - Tags - Locations - Languages - Citation Prompts - Prompt Sets - Models - Objectives - Editorial Guidelines - Events - Discover URLs - Scrape Content - Import Content - URLs (Entity-URL Mapping)

  4. Dashboard

  5. Visibility Tracking - Parametric Tracking - Brand Perception - Date Range
  6. Running Association Probes - Competitor Gaps - Competitor Centrality - Parametric Memory - Brand Sentiment
  7. Measuring Relevance
  8. Citation Mining
  9. Content Optimizer
  10. Pages
  11. Outreach - Link Monitor
  12. Page Grounding
  13. Grounding Inspector
  14. Prompt Generator
  15. Treewalker
  16. Veracity
  17. Backlinks

  18. Knowledge Graph Search

  19. Prompt to Query
  20. Semantic Compressor
  21. Page Focus
  22. Link Integration
  23. Organic Search
  24. Intent Classification
  25. Benchmark
  26. Gap Analysis
  27. Reports
  28. Exporting Data

  29. Getting Help


Getting Started

Logging In

  1. Open DEJAN App in your browser at app.dejan.ai.
  2. Click Sign in with Google.
  3. Authenticate with your Google account. Any Google account works.

A new account starts on the pay-as-you-go plan.

You are redirected to the Properties list after login. The login page also has a View demo link that opens a read-only demo project without signing in (see Demo projects).

DEJAN App runs at app.dejan.ai; app.auxy.com opens the same app. The app was previously called Auxy. The name Auxy now belongs to the app's interactive AI assistant (see Getting Help).

Terms of Use and Privacy Policy

To use DEJAN App you must agree to the Terms of Use (at /terms). The Privacy Policy (at /privacy) explains how your data is handled. A new account sees a Before you start page on first sign-in and clicks I agree to the Terms of Use. An account created before the Terms were published sees a banner at the top of the app until it clicks I agree. When the Terms change, every user sees the banner again. Links to both documents are in the page footer and on the login page.

  • Properties list -- your home screen, showing all properties you have access to.
  • Property detail -- click any property to open it. The property header shows the name, domain and a DA score from the AI Brand Authority Index (on a subdomain it uses the parent domain's score). The same header and tab bar also appear on drill-down pages such as a brand page or a response page. The detail view contains these tabs:
Tab Purpose
Dashboard Share of Voice overview: six headline cards, the visibility trend, per-platform cards, top brands and domains, movers and opportunities. See Dashboard
Visibility Tracking Scheduled visibility tracking. Sub-tabs: Visibility, Mentions, Citations, Entities, Pages, Context, Brand Perception, Responses, Tracking Settings, Cost
ARC ▾ Association Mapping (Overview, Competitor Gaps, Competitor Centrality, Parametric Memory, Sentiment), Relevance Probing, Citation Mining
Content Optimizer Iteratively optimize snippets or full pages to influence what AI search systems pull from your site. Sub-tabs: Overview, Single, Manual (staff), Batch, Ablation, Solo, Draft, Image, Substance, Rank Factors, History
Pages Every page of the property from Search Console, Content Optimizer, entity links, AI answers and page events. Log an optimization on a page and compare before and after. See Pages
Outreach Write off-site guest articles that place a link an AI detector can't pick out, check any article or live URL for a detectable paid link, and watch placed links with Link Monitor
Tools ▾ Knowledge Graph Search, Prompt to Query, Treewalker, Veracity, Page Grounding, Grounding Inspector, Benchmark, Prompt Generator, Export, Report, Backlinks (Client [Standard] projects), Page Focus, Link Integration
Organic Google Search Console data plus the query-level analyses built on it. Sub-tabs: Overview, GSC, Intent, Query → URL Mapping, Cannibalization, Query Potential, CTR Modelling, Query Gaps
Analysis AI-powered gap analysis combining probe data, GSC, Content Optimizer rank-factor attribution, and treewalker output
Settings Sub-tabs for entities, brands, owned domains, competitor domains, queries, categories, tags, locations, languages, prompts, models, GSC, Import, Discover, URLs, Scrape, objectives, editorial guidelines, Intent classification

The header carries Help, Manual. On a phone, these header links move into the account menu.

A help button sits in the bottom-right corner of every page except the Help page itself. It opens the Help assistant (see Getting Help).

Access by Plan

DEJAN App has these plans: Pay-as-you-go (shown as PAYG) and Demo. The fixed plans set a monthly Content Optimizer quota (resets at the start of each calendar month), daily and monthly citation-credit caps for Citation Mining (the daily cap is a rolling 24-hour window; when you mine, both are checked and the lower remaining value wins), and how many entities visibility tracking will probe.

The plan follows the project, not the person. Quotas, citation credits and which features are shown are all governed by the project's plan, so everyone working on a property shares the same limits and the same experience. Your membership role (owner / editor / viewer) controls permissions only; it has nothing to do with quotas or features.

A project's effective plan is the plan an admin has set on the property itself, or, if none is set, the plan of the property's owner. The Properties list shows each project's plan in its Plan column.

Plan Content Optimizer monthly Citation credits / day Citation credits / month Visibility tracking entities
Pay-as-you-go Paid from balance 5,000 (no limit with auto-reload) Paid from balance 200 (no limit with auto-reload)
Demo 5 1 50 5

Demo projects see Batch and Rank Factors in the Content Optimizer, and Link Integration in the Tools menu, with a padlock, and daily tracking cadence is padlocked too.

Admins can override tracking-entity caps and citation-credit limits from the admin dashboard, and can set a project's plan directly (the per-property override).

Demo projects

An admin can mark a project as a demo project. Anyone can open it read-only from /demo or the View demo link on the login page, without signing in. Buttons that would change data are greyed out with the tooltip "Sign in to use this", and any attempt shows "This is a read-only demo. Sign in to track your own brand." The Members and Billing sub-tabs are hidden. Knowledge Graph Search and Prompt to Query open with a demo banner and disabled controls.


Adding a New Property

A property (also called a project) represents a domain you want to analyze.

Your first project

If you log in and have no properties, the app shows a single Your First Project screen: "Enter your domain and we'll take care of the rest. Includes one complete complimentary baseline run. No card required." Enter the domain and click Go.

The first project of a new pay-as-you-go account gets one complimentary baseline run on DEJAN's accounts. While it is active these limits apply:

  • up to 10 tracked entities;
  • one location (a country or Global);
  • search-grounded tracking and Citation Mining on Google only;
  • Citation Mining runs of up to 10 prompts.

The complimentary run ends after the final visibility run of the setup.

Adding a property from the Properties list

Once you have at least one property, the Properties list shows the normal table. Add another from the form at the top:

  1. Enter a Domain (e.g., example.com).
  2. Optionally enter a Display name.
  3. Click Add.

You are automatically added as the property owner. The table has these columns: Property (with a pencil to rename), Owner, Tracking (the cadence or Off, plus a badge for each tracked platform), Plan and Archive.

Demo accounts can have one live property.

New pay-as-you-go properties start with Parametric Tracking switched on.

Groups

Tick properties in the list and use Add to group (pick a group or + New group…) and Apply to file them in a group, or Ungroup to take them out. Group headers collapse and have Rename group and Remove group. Properties that are not in a group sit under My Properties. Projects shared with you through account sharing appear in a folder named after the sharer's email, marked Shared with you; these folders cannot be renamed or removed.

In-property setup wizard

The first time you open a newly-created property's Dashboard, the app shows the setup wizard instead of the empty dashboard. On your first property, Automagic starts directly. On later properties you pick one of three modes:

Mode What It Does Best For
Automagic AI visits your site and fills in brands, competitors, locations and language. You review and toggle items before probes start. Fastest path. New users who want to see results quickly
Guided wizard Step-by-step setup with AI suggestions at each stage. You review and edit entities, brands, queries, and models one at a time. Users who want creative control but with AI scaffolding
Manual setup Skip the wizard entirely and configure everything yourself in Settings. Power users; advanced configurations

The Automagic flow:

  1. Discovery phase -- parallel progress bars while the app identifies your brands, finds competitors and infers locations.
  2. Review phase -- four cards (Your brands, Competitors, Locations, Language) with toggleable chips. Click any chip to include or exclude it; type in the box at the bottom of each card to add missing items. The Language card detects and stars your main language.
  3. Setting up automatically -- progress bars for generating queries, saving data and running probes. A While you wait questionnaire asks about your objectives, with an AI prefill.
  4. Tracking setup -- click Continue to tracking setup → to choose topics and locations, then Save & Run →. The last screen, You're all set, links to Set up daily tracking →.

A Restart setup button starts the wizard again. If you dismiss the wizard you can configure everything yourself in the Settings tab.

Archiving

To remove a property, click Archive on its row (owner only). An admin can restore archived properties.


Setting Up Your Property

Before running probes, you need to populate your property with data. Go to the Settings tab.

Brands

Brands are the companies, products, or names you want to track in AI responses.

Add a single brand: 1. Enter a Brand name. 2. Pick an Ownership: Unclassified, Owned, or Competitor. 3. Click Add. Adding a brand that already exists shows "That brand is already on this property…".

Bulk add: Expand the Bulk Add section, paste brand names one per line, and submit.

The setup wizard identifies your primary brand and its variants from your site (see In-property setup wizard).

Managing brands: - The table columns are Brand, Associations, Mentions, Status, Active, Domains and Tags. Sort by clicking Brand, Associations or Mentions. - The Show: filter picks Owned brands (the default), Competitors, Primary competitors, Other, or All brands. A Flat / Hierarchy toggle switches between a plain list and the brand hierarchy. - Use the Search bar to filter brands by name, and the Category dropdown to filter by category. - Click a brand's Domains cell to edit its domains inline, one per line (owners, editors and admins). This is the same map as Competitor Domains. - Export CSV downloads the list flat (by aggregate or per model) or as a hierarchy. - Use checkboxes to select multiple brands, then apply bulk actions: set a status (including Set Primary Competitor), Hide / Unhide, Tag, or adjust the brand hierarchy with Set as Apex Brand / Clear Apex and Set as Non-Apex Brand / Clear Non-Apex (see Brand hierarchy below).

Marking brands as Owned is important -- relevance probes only run against owned brands, and results throughout the app highlight owned brands.

Status options (the per-row status menu):

  • Owned [Primary] -- your flagship owned brand (one per property; setting it clears any existing primary).
  • Owned -- additional owned brand.
  • Competitor [Primary] -- a tracked competitor flagged as primary (several allowed).
  • Competitor -- regular competitor.
  • Other -- clears both ownership and competitor status.

Two additional visibility toggles:

  • Included / Excluded (the On / Off button on each row) — controls whether the brand participates in citation-mining brand-mention extraction and analyses that filter to "active" brands. By default a brand is auto-included (NULL state) the first time it accumulates ≥ 2 E2B mentions across runs; you can explicitly set it Off to exclude even high-mention brands (useful for false positives) or explicitly set it On to keep a low-mention brand in. Explicit decisions stick — they're never overwritten by the auto-rule.
  • Hidden — bulk action only. Select the rows, then choose Hide / Unhide from the bulk-update menu. Hidden brands are completely excluded from the Citations Overview Top 10 chart and Brand Mentions tab (both numerator and denominator), without deleting the row. Use this for generic-word false positives like "Time" or "Promo" that you don't want polluting your overview rankings.

Brand hierarchy: Brands are automatically organized into a matryoshka hierarchy based on name prefixes. For example, "Acme" is the parent of "Acme Pro". This hierarchy is used for visibility rollups where child brand mentions are included in the parent's totals.

Sometimes the prefix rule groups things it shouldn't -- a brand simply called "Motion" would otherwise adopt unrelated rivals like "Motion Array" and "Motion Elements" as its children, making it look like a super-set of its own competitors. Two manual overrides let you correct this, applied from the bulk-actions menu after selecting the brands:

  • Set as Apex Brand pins a brand to the top of the hierarchy -- it will never be adopted as a child of another brand. Clear Apex removes the pin.
  • Set as Non-Apex Brand stops a brand from ever being chosen as a parent, so it can never gather a downline. This is what cuts an over-eager prefix parent loose from unrelated rivals. Clear Non-Apex removes the restriction.

Owned Domains

By default the app treats your property's main domain -- and everything beneath it -- as owned, so citations from those pages count as yours rather than a competitor's. The Settings → Owned Domains sub-tab lets you extend or carve out from that baseline:

  • Include rule -- own a domain the baseline misses. Adding dejan.ai also picks up blog.dejan.ai, support.dejan.ai, and any other subdomain (a host and everything under it are matched together).
  • Exclude rule -- drop a domain you don't want counted as owned.
  • Keep full path -- tick this on a rule to own only one section of a shared host, for example x.com/dejanseo, rather than the whole host.

When rules overlap, the most specific one wins. Saving any change re-checks every stored citation for the property, so owned counts update straight away. Owners, editors, and admins can edit the list; viewers see it read-only.

Competitor Domains

The Settings → Competitor Domains sub-tab is the mirror image of Owned Domains, for the other side of the table. It lets you attach domains to each competitor so that citations from those domains are credited to that competitor -- the data that powers the competitor citation-share and Blended Share of Voice figures on the brand page.

Your competitors are listed ranked by all-time mentions, 100 per page, with an All / Primary only filter to narrow the list down to your flagged primary competitors. Only root competitor brands appear; sub-brands roll up into their parent. Each row shows the competitor, its all-time mention count, and how many domains are mapped to it so far.

To map domains, click a competitor (owners, editors, and admins only). An inline editor opens where you enter one domain per line. Each domain is catch-all: adobe.com captures www.adobe.com, blog.adobe.com, and every other subdomain -- the same matching rule Owned Domains uses. Click Save domains to store the list. Viewers see the mapping read-only. The table also has a Tags column.

Entities

Entities are the topics, products, or concepts associated with your property (e.g., "running shoes", "trail running").

The Settings → Entities sub-tab has its own row of tabs:

  • Entities -- the entity list.
  • Excluded -- entities you excluded, with the date and a Restore button. This tab appears only when at least one entity is excluded.
  • Graph -- the Entity graph and the Link graph (see Entity graph and Link graph).
  • Add New -- every way to add entities (see Adding entities).

The entity list:

  • Filter the list with All Categories, All Tags and All Sources. The Source column shows where each entity came from.
  • Sub entities sit indented under their parent. Hover a row and click + parent to set a parent, or + add sub entity to add a child. Click the description line (Add Description when empty) to edit it.
  • Tick rows to open the bulk toolbar: set a Category, Tag or Parent ((remove parent) clears it) and click Apply, or click Exclude to move the rows to the Excluded tab.
  • Exclude on a single row does the same for one entity.

Row icons: each entity has an Optimize this entity icon (opens a Content Optimizer run for it) and an optimizer history icon, which turns green when a past run improved the rank. When no URL is mapped, a Find primary URL with AI icon finds one. Click the name to rename it.

Buttons above the list:

  • Entity Curator -- finds entities on the pages your home page links to (see Entity Curator).
  • Export -- downloads the list as CSV, each parent followed by its sub entities, with level, parent, category, tags, URL, description and source columns.
  • JSON-LD -- downloads the list as schema.org JSON-LD, with each parent linked to its sub entities.
  • Copy -- copies all entity names to the clipboard, one per line.

Export and JSON-LD use the Category, Tag and Source filters that are set on the list.

Entity tracking: choose which entities visibility tracking probes in the Tracking Settings sub-tab (see Visibility Tracking). Adding an entity does not track it.

Adding entities

The Add New tab has these cards:

  • Add manually -- enter an Entity name, optionally pick a Category and a Parent entity, and click Add.
  • Generate via AI -- click Generate Entities. The app reads your property's URL with Gemini and adds the entities it suggests straight to the list, with no review step.
  • Generate from URL -- finds entities on one page, with a review step (see below).
  • Bulk add -- paste entity names one per line, optionally pick a Category and a Parent entity, and click Add All.
  • Import via CSV -- upload a CSV with the columns Name (required), Category, Parent, Tag and URL. A preview lets you map each column before you click Import. Missing categories, parents and tags are created. A Tag cell can hold several tags, quoted ("tag1, tag2") or separated with ; or |. A blank cell never clears an existing value.
  • Bulk generate -- paste a list of queries or keywords, one per line, and click Generate. The AI condenses them into non-branded entities. When the property has Search Console data, tick Include organic search data to add your top Search Console queries, highest clicks first (clipped to a 500k token limit). The suggestions appear in an editable box; edit them, optionally pick a Category and Parent entity, and click Add All.

Generate from URL:

  1. In Page, type a keyword to search the URLs the app already holds for the property (by URL or page title), or paste a full URL starting with http:// or https://. Pages on your own site carry a your site badge. A URL the app does not hold yet is added to its URL list.
  2. Leave Suggest missing entities ticked to also get entities the business could cover but the page does not.
  3. The estimate shows "About $X per page." Click Generate.
  4. The Entity Curator window opens at the progress step. Review and add the results as described in Entity Curator.

Entity Curator

The Entity Curator reads the pages your home page links to and suggests entities, each with a parent, a category and a landing page. Nothing is saved until you add it.

  1. Click Entity Curator above the entity list. The window lists the pages on your site that your home page links to. The Home page is listed first; it is ticked when the property has no curated entities yet, and marked (already curated) otherwise.
  2. Tick the pages to read (All / None). Leave Suggest missing entities ticked to also get entities the business should cover but the site does not.
  3. The footer shows the estimate, "About $X (page fetching $Y, AI $Z)". Click Run (N pages).
  4. A progress bar shows "N of M pages read", and entities appear as each page finishes (green for found, purple for suggested). The run continues in the background, so you can close the window. A progress card at the top of the project page shows "Entity Curator running..." while it runs; click Entity Curator again to return to it.
  5. When the run finishes, duplicates are merged and the results are listed in three groups, with Entity, Parent, Category and Page columns: - New entities -- not in your list yet. - Suggested -- entities the business could cover but the site does not yet. - Already in your list -- shown for reference; these cannot be ticked. The AI's recommended entities to track carry a tracking pick badge. Pages that could not be read are listed below.
  6. Click Add selected to add the ticked rows, or Add All to add every new and suggested entity. Missing categories are created, the landing page becomes the entity's URL, and entities that are already in your list keep their values (only empty category, parent and description fields are filled).
  7. Track the AI's picks? lists the tracking picks that are not tracked yet, none ticked. It shows what each tracked entity adds per run and per month at your tracking cadence, and the tracking slots left on your plan. Tick the ones you want and click Accept and track N, or click Skip. Nothing is tracked unless you accept here or in Tracking Settings.

While the complimentary baseline run is active, the curator is free, and only the first 10 added entities are switched on (tracking picks first); the rest are saved switched off.

When some earlier tracking picks are still untracked, the page list shows "N of your entities are AI tracking picks that are not tracked yet." with a Review them and the tracking cost link to step 7.

If the balance cannot cover a run, it is blocked (see When a run is blocked).

The Graph tab has two views:

  • Entity graph -- each entity is a dot, with arrows from parent to child. Colours: Tracked (green), AI suggestion (purple), Other (grey). Top-level entities and entities with more children are drawn larger. Hover a dot to see its category, tags, description and URL. The All Categories and All Tags filters work in two modes: Show only these hides the other entities, and Highlight these keeps them and colours matches pink.
  • Link graph -- your home page (orange), the pages it links to and the pages those link to. Pages the app has read are blue; pages that are linked but not read are small and grey. Entities are joined to their Landing page (solid green line) and to the other pages they were Found on (dashed line). Untick Show entities or Show pages not read to simplify the view. The count above the graph gives pages, entities, links and the date of the last run.

The Link graph is built from the pages read by the Entity Curator and by the Automagic setup. Until one of them has run it shows "No link graph yet. Run the Entity Curator to build one."

Categories

Categories group entities and queries into hierarchical themes.

  1. Enter a Category name.
  2. Click Add Category.

Categories can be renamed inline and show entity and query counts. You can also bulk add categories one per line.

Queries

Queries are the search terms used to test brand visibility in AI responses.

Five ways to add queries:

  1. Queries List -- view and manage existing queries with filters for Entity, Category, Tag, and Source. Bulk actions here apply to your ticked rows; when you use select all, it scopes to the queries matching your current filters (the visible view), not every query on the property.

  2. Manual Entry -- enter a single query with optional Entity, Category, and Tags.

  3. Enter a List -- paste queries one per line with optional Entity/Category/Tags applied to all.

  4. Import via CSV -- upload a CSV file. The app detects headers and lets you map columns to Query text, Entity, Category, or Tag. A preview shows the first 5 rows before import.

  5. Generate via AI -- provide a URL (defaults to your property URL), set a count (1-500), and optionally add special instructions. The app uses Gemini to generate relevant queries.

An Export Fan-Outs tab exports the web searches the AI models ran during your probes, filtered by tags, entity and dates. An Excluded tab appears when some queries are excluded.

Tags

Tags are free-form labels you can apply to entities, brands, queries, and categories.

  1. Enter a Tag name.
  2. Click Add Tag.

Tags can be assigned inline from any item's row across the Settings sub-tabs. Tags also drive the tag filters on the Dashboard, Tracking, Citation Mining and the Content Optimizer's Rank Factors tab. The special tag ignore on brands excludes them from citation brand mention extraction.

Locations

Locations add geographic context to grounded probes (e.g., "Australia", "United States").

  1. Enter a Location name.
  2. Click Add. Bulk Add takes one location per line.

The setup wizard infers your locations from your site, and the tracking setup has a Suggest Locations button.

When a location is selected during a probe run, grounded search results are geo-targeted to that location. For Google this uses lat/lng geocoding; for OpenAI it uses ISO country codes. Anthropic does not currently support geo-targeting in its web search tool, so a location filter is ignored for that provider.

Which locations visibility tracking uses is set in the Target Locations card of Tracking Settings (see Visibility Tracking).

Default location: You can mark one location as the property's default in Settings. The default is the SERP location the Content Optimizer pre-selects for new runs.

Languages

The Settings → Languages sub-tab sets the language your generated content comes out in. Add the languages your site serves -- single add or bulk paste, plain English names like "German" -- then star one as the property's primary.

The starred primary is written into entity and query generation as a single Language: instruction, so AI-suggested entities and queries come back in that language. Leave the list empty for language-agnostic generation (the original behaviour).

Citation Prompts

Citation prompts are custom prompts used for citation mining. They live on the Settings > Prompts sub-tab (with the count in brackets) and on Citation Mining > Settings, which show the same screen.

Four tabs add prompts: - Manual -- Single (type a prompt and click Add), Bulk (one prompt per line, then Add All) or Import via CSV. After you choose a CSV file, a preview lets you map each column to Prompt text (required), Entity, Category or Tag. Entity, category and tag names are matched to existing items and created if missing. - Query-Based -- generate prompts from your queries, filtered by Entity, Source, Tag and Category. Exclude fanouts is ticked by default. - Entity-Based -- generate prompts from your entities, filtered by Entity, Source, Tag and Category. - From URL -- enter a URL to visit and the number of Prompts (100 by default, up to 500). Gemini visits the site and writes the prompts in one step.

Each generator takes Special instructions (optional) and starts with Generate. Generation runs in the background; new prompts appear in the table as they finish.

The prompt list has filters for Search origin, Origin type, Entity, Category, Entity source and Tag. The table shows each prompt's Source, Platform, Date (click to sort), Tags and Enabled status; click yes or no in Enabled to switch a prompt on or off. The Tags column also shows tags a prompt inherits, marked "(entity)" or "(category)".

Select rows to use Exclude selected, or Tag selected and Remove tag with a chosen tag. The × button excludes one prompt. Excluded prompts stay in your reports but leave the list and future mining. Export CSV downloads the list (marked (filtered) when filters are set). A Wrap all / Truncate all toggle switches between full and shortened prompt text.

Prompt Sets

Prompt sets group citation prompts into named sets that you can run again or put on a schedule.

Create a set in either of two ways: - Citation Mining > Scheduled Runs > New set -- pick, paste, import or generate prompts, then choose platforms, location and cadence (see Scheduled Runs). - Citation Mining > New Run > Save Preset -- saves the items that match the current run filters, up to 100 calls' worth.

Sets are listed in Scheduled Runs (with their schedules) and in the Prompt Sets card on New Run, with Run, Copy and Del buttons (see Citation Mining).

Models

The app probes three LLM platforms — Google, OpenAI, and Anthropic. Each platform's current production models appear as a checklist on this tab. The exact line-up changes over time as the platforms ship new versions, so we refer to them by platform name rather than version number; if you need specifics, it's the latest widely used production model from each platform.

  • Use the checkboxes to activate or deactivate models for your property.
  • Only active models are used during probe runs.
  • Pricing information is shown for each model and feeds into the cost calculator on the Relevance tab.
  • New properties default to the latest widely used production model from each platform.

Objectives

The Settings → Objectives sub-tab holds one free-text box describing your brand's priorities, positioning, competitive landscape and guardrails. Messy text is fine: emails, notes and spreadsheet data all work. Click Save to store it. The Gap Analysis uses this text to compare what AI says about you against what you want it to say.

The card suggests what to include: Priorities, Positioning, Competitors (who you lose business to), Guardrails (claims to avoid, products that are not a priority) and Anything else (audience, market context, customer language).

Setup Wizard controls sit at the bottom of the sub-tab:

  • Dismiss wizard -- stops the setup wizard appearing on the Dashboard. Without it, the wizard appears when the property has no runs and no data.
  • Show wizard again -- shown after a dismissal; brings the wizard back.
  • Re-run setup -- opens the setup wizard now, ignoring existing data. New entries are merged with what you have and duplicates are skipped.

Editorial Guidelines

The Settings → Editorial Guidelines sub-tab holds an optional brand style document -- tone of voice, style rules, do's and don'ts, banned claims, formatting conventions, terminology. Messy free text is fine.

When the Use editorial guidelines toggle is switched on in the Content Optimizer's Advanced Options, the optimizer's idea generator and edit writer are shown this document so their snippet and page edits stay on-brand.

Events

The Settings → Events sub-tab is a per-property timeline journal. Log a launch, a migration, or a campaign with a date, title, and optional description. Each event drops a marker on the Dashboard's visibility-trend chart, so you can line up changes in your visibility against what you actually did.

Use the Shown / Hidden toggle on any row to control whether its marker appears on the chart, and Edit or Delete to manage entries. Marking a Content Optimizer run Implemented also adds an event, tagged optimizer, with an Open run link in place of Edit and Delete. System-wide markers (model updates, search-engine updates) are managed by your admin and appear here read-only, tagged system, for context.

Discover URLs

The Settings → Discover sub-tab inventories every URL the app can find for your property. Sources, in order:

  1. robots.txt sitemaps — fetched from https://your-domain/robots.txt.
  2. GSC submitted sitemaps API — if you've connected GSC.
  3. Conventional path probes — /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml, /sitemap.xml.gz.
  4. Already-imported URLs — URLs Google has reported clicks/impressions for.
  5. User-supplied sitemap URLs — paste any extra sitemap URLs the auto-discovery missed.
  6. User-supplied URL lists — paste a literal newline-separated list of URLs.

Click Start Discovery to begin. A progress bar shows the per-source state. If the app hits a sitemap index (a sitemap whose entries are other sitemaps), the run pauses with awaiting_subset so you can pick which sub-sitemaps to expand — useful for very large multi-language sites where you only care about one locale.

Results are stored with multi-source provenance — the URL list view shows which source(s) contributed each URL. The Disallow Suggestions button clusters discovered URLs and proposes robots.txt Disallow patterns you might want to add to keep noisy / low-value sections out of future indexing.

Pages are fetched from IP address 34.31.25.140. If your site or firewall blocks scrapers, whitelist this address.

Scrape Content

The Settings → Scrape sub-tab reads a page, or a page and the pages it links to, and saves each page's content for the other features to use. Links on your own site also go to the Link graph. No AI is used and no entities are added. Only one scrape runs per property at a time, in the background, so you can move to other tabs while it runs.

  1. Page address starts with your home page. Enter another full address to scrape a different page.
  2. Also scrape the pages it links to directly is ticked by default. Click Find linked pages to list the pages on the same site that this page links to. Links are not followed any further.
  3. All pages in the list are ticked. Untick pages or use All / None. The estimate shows "About $X (page fetching)".
  4. Click Scrape (N pages).
  5. A progress bar shows the pages scraped and the current page. Cancel stops the run.
  6. When it finishes, a summary shows the pages saved and failed, with a See the link graph link.

If an address can't be scraped, the tab asks for a full public web address, for example https://example.com/page.

If your site blocks Firecrawl, the app tries again from IP address 34.31.25.140. Whitelist this address so that the second try works. Find linked pages also reads the page from this address.

Import Content

The Settings → Import sub-tab loads page content you already have, which is useful when a page is paywalled, JavaScript-only or behind a login and no scraper can reach it. Upload .md files, each starting with YAML front matter that has a url: line; up to about 500 files per upload. Tick Auto-create URLs to add any URL that is not already known.

URLs (Entity-URL Mapping)

The Settings → URLs sub-tab lists every URL you've mapped to an entity for this property, one row per URL.

Mapping a URL to an entity: go to the Settings → Entities sub-tab and click an entity's URL line to assign or change the page that serves it. A single URL can serve several entities.

The URLs view shows, for each URL, how many entities share it — its blast radius. A URL mapped to many entities is a high-leverage page: an edit you make there (via the Content Optimizer) can move the model's rank for all of those entities at once, not just the one you optimised for. This mapping is what powers the Content Optimizer's Blast Radius measurement.


Dashboard

The Dashboard tab is the visibility overview for your property.

Filter By -- a dropdown at the top scopes the whole page: Everything, Entities in category, Entities tagged, Brands in category, or Brands tagged. When a filter is active, a "Page scoped to" banner shows it.

Banners -- A Review your objectives card appears until you confirm your objectives. While a tracking run is in progress, a blue banner says the numbers are still updating. A new property shows "Initial probe running" and then "No visibility data yet" until the first results arrive.

KPI cards: - Share of Voice -- the average of Mention Share and Citation Share. - Mention Share -- your owned brands' share of all brand mentions in AI answers. - Citation Share -- your owned domains' share of all citations in AI answers. - Owned Rank -- the average position of your owned brands in AI answers. - Entities -- how many entities are tracked. - Last Run -- when tracking last ran.

A one-line Insights summary sits below the cards.

Charts and cards: - Visibility Trend -- your share over time, with markers for Events. A By category dropdown splits it by category. Owners and editors see a Recompute button that rebuilds the history. - Mentions & Citations -- daily mention and citation counts. - Parametric Visibility -- your visibility in answers the AI gives from memory (see Parametric Tracking). - Organic clicks -- your Google Search Console clicks. Shown only when GSC data is connected. - Algorithm volatility -- Algoroo's market-wide Google algorithm score (source: algoroo.com) for the same days, next to Organic clicks. - AI ranking volatility -- how much the brands named in AI answers change between consecutive probes, averaged across your tracked entities. It shows the Latest % and a word for the level: Turbulent, Unsettled, Normal, Settled or Calm. The line uses 7-day smoothing. Pills switch between Overall, Google, OpenAI and Anthropic. Dashed markers show internal measurement changes: Internal Sampling Change (12 Jun 2026) and Cadence Change (10 Jul 2026). Do not compare values directly across a marker. It is the same metric as the public dejan.ai/flux index, scoped to your property, and appears once there is enough tracking history. - By AI Platform -- one card per platform with your mention and citation figures. - Top brands by mentions and Top cited domains. - Brand Associations -- the entities AI links to your brand. - Entity Relevance -- your highest and lowest relevance entities (see Measuring Relevance). - Visibility by Entity -- your share for each tracked entity. - Movers -- the biggest changes since the previous run. - Opportunities -- entities where you are Mention-strong, cite-weak, and entities with Zero owned visibility.


Visibility Tracking

The Visibility Tracking tab asks AI platforms about your tracked entities on a schedule you set per property, and records which brands they name and which pages they cite. A job runs every night and probes each property only when it is due under its cadence. The default cadence is monthly, so a property is probed about every 28 days unless you change it.

Cadence -- a picker in Tracking Settings sets how often the property is probed: daily, weekly, or monthly. Daily has a padlock on Demo. A higher cadence costs more, so pick the slowest cadence that still catches the movement you care about.

A Showing switch at the top of the tab changes the figures between Grounded (answers with web search) and Parametric (answers from memory, see Parametric Tracking).

Setup

The first time you open the tab on a new property, the tracking setup wizard opens (you can reopen it at ?wizard=1). It has two stages:

  1. Pick the entities to track. ✨ Suggest from site proposes entities from your website.
  2. Pick the target locations.

Click Save & Run → to save and start the first run.

You can change the setup later in Tracking Settings: - Entities -- tick the entities to track. Include immediate parent for sub-entities (on by default) also probes each sub-entity's parent. - Target Locations -- the locations to probe. The Global pill runs probes without a location. Suggest Locations proposes locations from your site, and × removes one. - Platforms -- which AI platforms run: Google, OpenAI, Anthropic. At least one must stay on. Only owners of pay-as-you-go and Team projects see the picker. It has a padlock on Demo. Client [Standard] and Client [Light] projects do not see it. - Cadence -- see above.

Date Range

The Visibility, Mentions, Citations, Entities, Pages, Context and Responses sub-tabs share a date range picker. Enter From and To dates and click Apply, or pick a preset: Last 7 days, Last 30 days, Last 90 days, This month, Last month or All time. The default is All time, which shows every day on record.

Inside a range, totals, scores and averages count only the days in the range. Change columns compare the range with the same number of days just before it, and a note under the picker shows those dates. The range is part of the page link, so it carries across the sub-tabs and their drill-downs, and a shared link opens on the same range. Brand Perception does not use the range.

How It Works

Each run asks each active model, with web search on, to recommend brands for each tracked entity. The model wraps each brand name in [[brand]] markers and writes a short blurb on the same line.

Responses are parsed to extract brands with their rank (order of first appearance) and context (the blurb on the same line). The blurbs are visible in the Context sub-tab.

Results are aggregated into visibility snapshots -- per-entity, per-location, per-brand scores recorded daily.

Parametric Tracking

The Parametric Tracking card in Tracking Settings has the switch Also ask each platform from memory. When it is on, each run also asks every platform the same question with web search off, so you can see what the AI knows about your market from its training. The answers are billed like tracking.

  • On for Team projects and new pay-as-you-go projects.
  • On Demo it is memory-only on Google, and the switch is locked.

Use the Showing switch to view the parametric figures.

Sub-tabs

  • Visibility -- overall visibility for the property (the default view), with filters for Location and Provider. Three tables show your tracked entities: Top performers (the 10 highest visibility scores), Biggest movers (the 10 biggest score changes, up or down) and Bottom performers (the 10 lowest scores above zero). Entities that score zero are counted under Bottom performers, and the count links to the Entities sub-tab.
  • Mentions -- brand mention trends with share and rank. A tag filter, By AI Platform cards (click one for a per-platform view), Per-Entity Visibility, and Export CSV. The main table is All Brands (Latest), with a sortable All Time column. Every brand name links to its brand page.
  • Citations -- citations from tracking answers. A tag filter, Top Cited Pages, and Show all to expand each list. Brand names link to their brand page.
  • Entities -- visibility for each tracked entity: Score, Change, then Mentions and Cites with their totals, share and average rank. Filter by category, and click a row to see that entity's daily trend. Optimize this entity opens the Content Optimizer for it.
  • Pages -- Visibility by Page for your own pages: every page cited in tracked answers, plus pages with a Content Optimizer run, a page event or an entity link. Columns are Citations, Citation rate, Change, Avg rank, Keywords and Updates (Content Optimizer runs marked Implemented, plus page events). Use Search pages or tick Updated pages only. Click a page to open its page view, with Daily Trend, Average Rank, Updates and Keywords.

The page view also lists Recent answers citing this page (click one to read the answer) and follows the Tracking date range (From, To and the presets). When several spellings of a URL count as one page, a line under the title lists them. - Context -- every owned-brand mention with the blurb the model wrote. Filters, Recalculate and Export. Click "view" on a row to open the source response. - Brand Perception -- an AI read of how each platform describes your brand. See Brand Perception below. - Responses -- the individual AI answers. Each response page shows a memory or grounded badge, the tokens used and the latency. - Cost -- the Cost of Tracking for this property at retail rates. - Tracking Settings -- entities, target locations, platforms, cadence and parametric tracking (see Setup).

The Brand Page

Click any brand name on the Mentions or Citations sub-tabs, or on the Dashboard, to open that brand's page. It compares a competitor against your owned brand over time.

The top shows the Latest tracking day, Mention Share % (with the change in percentage points), Mentions, Total Mentions, Average Rank and the brand's Domain Authority. A Knowledge Graph card shows what Google's Knowledge Graph holds for the brand. Owners and editors can edit the brand's domains on the page. Below them:

  • Daily Mentions Trend -- mention share % (left axis) and mention count (right axis) per day. For a competitor, your owned brand is overlaid: competitor in red, owned brand in green, solid lines for share and dashed for counts.
  • By Platform -- the competitor against your owned brand per AI platform, as a table (with average rank and a Sentiment column) and a bar chart. The Δ mentions column is your owned brand minus the competitor, so a positive green number means your brand leads on that platform.
  • Daily Citations Trend -- citation share % and citation count per day, competitor in red and owned brand in green.
  • Citation Share -- uses the competitor's mapped domains (see Competitor Domains) and your owned domains to count citations for each side. It shows each side's citation count, citation share %, and Blended Share of Voice (the average of mention share and citation share), with a bar chart by platform. If the competitor has no domains mapped, it points you to Settings > Competitor Domains.
  • Recent Mentions -- the latest responses that named this brand, filterable by provider. Click a row to open the full response.

Brand Perception

The Brand Perception sub-tab reads the verbatim statements the AI platforms produced about your brand during visibility tracking (the same blurbs shown in Context) and turns them into a per-platform read of how each AI sees you: associations, positioning, sentiment (positive / neutral / negative / mixed), recurring claims, and errors or risks, plus a cross-platform comparison with an overall sentiment read. The on-page heading is "How each AI sees you".

It needs captured owned-brand statements first. If there are none, the Run Analysis button is disabled and tells you to run visibility tracking. Click Run Analysis and it works in the background (a progress bar steps through gathering statements, sending them to the model, and processing the response); you can navigate away. The result is a written narrative card with a timestamp and Copy / Export buttons; earlier runs are listed below it.

Running Manually

Click Manual Run and confirm to start a run outside the schedule. The first manual run on a property also backfills the 5 previous days, so it runs 6 probes.

Auto-Pause for Inactive Demo Properties

The app pauses tracking for a Demo property when its owner has not signed in for 30 days. That night's and later probes skip the property until someone turns tracking back on.

The owner then sees a banner that says tracking was paused, with a Turn it back on link. Turning tracking back on clears the marker, so the banner does not come back unless the property goes idle again. Paid and team plans are never auto-paused.

Tracked Entity Cap

Tracking caps how many entities you can track, set by the plan. The cap counts entities, not entity-location combinations:

Plan Tracked-entity cap
Pay-as-you-go 200 (no limit with auto-reload)
Demo 5

Pay-as-you-go has a lower cap of 10 entities on your onboarding project.

Tracking more entities than the cap is refused, and a probe that finds more tracked entities than the cap stops with a "too many tracked entities" message instead of probing a subset.


Running Association Probes

The Association Mapping tab (under the ARC ▾ menu) finds which brands AI models associate with your entities and queries. It has five pills: Overview, Competitor Gaps, Competitor Centrality, Parametric Memory and Sentiment.

Probe Types

Type Question Asked Requires
E2B (Entity to Brand) "What brands associate with this entity?" Entities
B2E (Brand to Entity) "What entities associate with this brand?" Runs on your owned brands only. Owned brands
Q2B (Query to Brand) "What brands are relevant for this query?" Runs one query per run. Queries

Running a Probe

On the Overview pill:

  1. Select a Probe type. For Q2B, type in the search box to pick one query.
  2. Optionally select a Location.
  3. For E2B and B2E, pick the rounds: 1, 5 (default), 10, 50 or 100. Each round repeats every item, so the results show how much the answers vary.
  4. Optionally add a Label.
  5. Check the cost estimate ("Est. ~$X") and click Run, then confirm.
  6. Progress shows per provider.

Reading Results

  • What AI Associates With Your Brand -- the summary for your owned brands.
  • Query Association Score (QAS) -- for Q2B: rank, brand, score bar, mention count and QAS %. Owned brands are in bold. QAS per Provider splits it by AI platform.
  • Top Queries for Owned Brands -- the queries that most often surface your brands.
  • Entity to Brand (E2B) -- brand mentions across all entities, with E2B per Provider.
  • Brand to Entity (B2E) -- the entities named for each owned brand, with B2E per Provider.

Filter by run is the only filter. The run list lets you edit a run's label or delete the run.

Competitor Gaps

For each entity (topic), how often AI names your brand against rival brands in E2B probes. The columns are Topic, You, Your share of mentions, Leading competitor and Other rivals named. Rows are ordered by your share, lowest first. "absent" in red means rivals were named but you never were. Use Filter by run to pick one run or all runs combined, and Export CSV to download.

Competitor Centrality

The brand view of E2B probes. Topic coverage is how many of your tracked topics a brand is named against, out of the total. A rival with high coverage sits at the centre of your topic space. The table has Brand, Topic coverage, Mentions and Models, sorted by coverage and then mentions; click a column to re-sort. Your own brand is shaded green. A Topic map below shows which brands appear for which topics.

Parametric Memory

The Parametric Memory pill asks each AI platform to recall everything it knows about your brand from memory with web search off, one fact per line, most confident first. It shows what a model learned about you in training, separate from what it finds by searching. (This pill was previously called "Brand Perception"; old bookmarks redirect here. See Brand Perception for the Tracking feature with that name.)

  1. Pick the Platform (Google by default; OpenAI and Anthropic are optional), the rounds (1, 3, 5, 10 or 20; default 5), optional extra instructions and a Label.
  2. Click START. When the run completes, the Analysis starts automatically. It merges the fact lines into one canonical fact list for the property and writes a combined narrative plus one per platform. You can run it again with Re-analyse.

Repeat runs sharpen the canonical list instead of adding duplicates.

The Canonical facts table has the columns Fact, Source, Verdict, Platforms, Said, Confidence and Ruling. Mark a fact Correct or Incorrect and add a note; you can withdraw a ruling.

Grounded Validation researches the brand from scratch with web search and page reading on, without seeing what the models recalled. It runs in rounds and stops when a round finds nothing new. Set the Round cap (2, 4, 6, 8 or 12; default 8), optional extra instructions and a label, then click Grounded Validation. Its findings are compared with the facts above: a fact can gain a grounded label, and a fact the research found but no model recalled joins the list as a gap.

Brand Sentiment

The Sentiment pill generates synthetic reviews of your brand from each model's memory, with web search and URL context off. Click Generate Reviews; the button shows how many subjects, models and calls the run uses. It needs a visible owned brand or project URL in Settings.

Results show the reviews with All / Positive / Neutral / Negative filters, the generated questions, the provider calls, a Sentiment distribution, Top keywords, Recent reviews and a Run History. Filters narrow the view by subject and platform.


Measuring Relevance

The Relevance Probing tab measures how relevant AI models consider your brand to each query or entity, using repeated independent samples for statistical confidence.

If no brand is marked as owned, the tab shows "Mark an owned brand to run Relevance" with an Auto-detect from site button that finds your brand for you.

Running a Relevance Probe

  1. In Relevance:, pick Entities (the default) or Queries.
  2. Select an Owned brand to test (only owned brands are available).
  3. Optionally select a Location.
  4. Set N per pair (1-100) -- the number of independent samples per brand-item pair. Higher values give more statistical confidence.
  5. Optionally add a Label.
  6. Check the cost estimate ("Est. $X") and click Run.

Reading Results

QRS (Query Relevance Score) -- percentage of "yes" responses: - Brand, Relevance bar, Yes count, Total probes, QRS percentage. - Per-model breakdown.

When the source type is Entities, this same figure is labelled the AI Relevance Score throughout the entity views (including the entity dropdown in the Content Optimizer); the calculation is identical.

Score per Provider -- the same relevance scores broken down by AI platform, pooling all of that platform's models into one figure per provider.

Score per Entity -- a grid of your owned brand's relevance for each tracked entity, split across AI platforms, with an Overall column. Each cell is the share of probes where that platform judged your brand relevant to that entity; cells under 50% are flagged so weak spots stand out, and you can click a column header to sort.

Items Not Relevant to Owned Brands -- every query or entity where at least one probe answered "no". These are possible visibility gaps.


Citation Mining

The Citation Mining tab (under the ARC menu) asks AI platforms your prompts with web search on, then extracts which domains and pages they cite and which brands they name. You can run prompts once, schedule a set of prompts to run daily, weekly or monthly, and read the results of every run.

The tab has four modes along the top: - Insights -- the results of past runs (the default view). - New Run -- the form that starts a one-off run. - Scheduled Runs -- your Prompt Sets and their schedules. - Settings -- your citation prompt library, the same screen as Settings > Prompts (see Citation Prompts).

All four modes are open to everyone with access to the project. Demo visitors can look but cannot change anything.

Citation mining extracts both the URLs cited in the final answer ("selected") and the URLs the model read during its web search but did not cite ("unselected").

Running Citation Mining (New Run)

  1. Open New Run.
  2. Optionally type a run name in the Run Label (optional) line at the top of the form.
  3. Pick the Providers. The pills show only when the project has more than one platform. Only Google is ticked by default.
  4. Select a Source: Citation Prompts, Queries, or Entities. Each option shows its item count.
  5. Optionally select a Location.
  6. Optionally pick Include tags (items with any of the tags; pick "Untagged" for items with no tags) and Exclude tags (removes items with any of the tags).
  7. Optionally filter by Category. For Citation Prompts, the category comes from the entity or query each prompt was generated from. Prompts you added by hand are left out when a category filter is set.
  8. Check the estimate on the Start Mining button (about $0.10 per call) and the line below the form, which says how many items match and how many this run will mine.
  9. Click Start Mining and confirm.

Limits on a one-off run: - Per-run limit -- a one-off run makes at most 100 calls. The cap is shared across the selected platforms, so with two platforms a run mines up to 50 items. When the selection is larger, a notice appears and the run mines the first matching items in the list. Narrow the filters or remove a provider to stay under the limit. - Daily limit -- when your daily citation credits run out, Start Mining is disabled until they reset (24 hours after each use). If a run needs more than you have left today, it is trimmed to the remaining calls. - Citation Credits -- on plans with a monthly citation-credit limit, a bar at the top of New Run shows credits used and remaining this month. A run that needs more credits than remain is refused with a "Quota exceeded" message. - When no items match the filters, Start Mining is disabled and the form says so.

Clone Past Run copies an earlier run's setup (source, location, category, providers, tags and label) into the form. Nothing is spent until you click Start Mining. If the earlier run used a Prompt Set, the filters are copied but the set is not.

Save Preset saves the current filters as a new Prompt Set. You name it, and the set holds the matching items, up to 100 calls' worth for the ticked providers. If more items match, the oldest are kept and a message tells you how many were left out.

The Prompt Sets card at the top of New Run lists your sets with their prompt count, credits per run and last run date: - Run -- runs the set now on every active platform, after a confirmation that shows the credit cost. One-off runs of a set are held to the 100-call limit. - Copy -- duplicates the set. - Del -- deletes the set.

Scheduled Runs

Scheduled Runs runs a Prompt Set on its own, on a cadence you choose. The scheduler checks once a day and runs every set that is due. A scheduled run sends every prompt in the set to every chosen platform. Scheduled runs are not held to the 100-call limit of one-off runs, and each call is billed.

The Scheduled Prompt Sets table lists every set with these columns: - On -- the schedule switch. - Set -- the set name. Click it to edit the set. - Prompts -- the number of prompts in the set. - Platforms -- the chosen platforms, or "All active". - Calls per run -- prompts multiplied by platforms. - Location -- the location sent with each prompt. - Cadence -- Daily, Weekly or Monthly. You can change it here. - Last run -- the date of the last run, linked to its results. - Next run -- the date the set is next due. - Edit -- opens the set.

Weekly means 7 days after the last run and monthly means 28 days. A run that fails is tried again the next day. A set with no prompts is skipped.

Creating or editing a set

  1. Click New set (or Edit on an existing set). New sets start as "Untitled set" with the schedule off.
  2. Step 1, Prompts -- add prompts in one of four ways under Add prompts: - Pick existing -- filter your prompt library by Search origin, Origin type, Entity, Category, Entity source and Tag. A live count shows how many prompts match and how many are not in the set yet. Click Add to set. - Paste -- one prompt per line, with an optional tag. Click Add to set. - CSV -- upload a file, tick Has header row if it has one, choose the Prompt column and an optional Tag column (optional), then click Add to set. - Generate -- generate new prompts from Entities, Queries or a URL. Tick the entities or queries (or enter the URL), then set the Number of prompts, an optional Category and Tags (you can create new ones here), and Special instructions (optional). Click Generate and confirm. Generation runs in the background; the new prompts join the set when it finishes, even if you leave the page.

Pasted, CSV and generated prompts are also added to your prompt library. A prompt already in the library is reused, not duplicated. Once the set has prompts, the list shows them, newest first, with Remove selected, Remove all (this also turns the schedule off) and Add more prompts. Click Next: Settings. 3. Step 2, Settings -- set the Name, Cadence and Location. The location list shows this project's locations first, then common countries, then all countries; you can also type a city or region that is not listed. Tick the Platforms, or tick none to use every platform active on the project. Click Save and review. 4. Step 3, Review -- check the prompts, platforms, calls per run, cadence, location, and the Estimated cost per run and Estimated cost per month (at $0.10 per call). Then click Turn schedule on, or Save, keep schedule off. For a set that is already on, the buttons are Turn schedule off and Done.

You cannot turn a schedule on until the set has prompts.

Settings

Settings in the Citation Mining tab is your citation prompt library: add, import, generate, filter, tag and exclude prompts. It is the same screen as Settings > Prompts (see Citation Prompts). Prompt Sets are created and edited in Scheduled Runs.

Reading Results (Insights)

The Filter results card narrows every view by Run, Source (Queries, Prompts, Entities or Visibility Tracking), Provider, Category, Entity, Query (text the prompt contains), Location and Tag. When you pick a run, its name appears as the page title with a pencil button to rename it and a Delete button that removes the run from all dropdowns, dashboards and stats.

Sub-tabs: - Overview -- summary cards (Responses, Citations, Unique Domains, Fan-Out Queries), then Top 10 Cited Domains and Top 10 Brands Mentioned bar charts with your own domain's and brand's rank, then preview tables: Selected Domains, Brand Mentions, Pages, Unselected Domains, Unselected Pages, Google Fan-Out Queries, OpenAI Fan-Out Queries, Brand Co-occurrence and a link to Responses. Click a table heading to open the full list. An Unresolved Vertex Redirect URLs card with a Resolve URLs button turns Google redirect links into the real page URLs. - Domains -- each cited domain with counts per provider and owned status. Click a domain to see its Pages, Entities, Queries, Prompts and Fan-outs. - Pages -- the cited URLs ranked by citation count. Click a URL to see which entities, queries, prompts and fan-outs led to it; click the arrow to open the page. - Brand Mentions -- brands named in the answers, found by matching your brand list. A Filter brands... box narrows the list, and brand names link to the brand's page. - Entities -- per-entity coverage (see Entity Coverage). - Fanouts -- the web searches the models ran, with how often each ran. - Analysis -- Brand Co-occurrence: brand pairs that appear together in the same AI answer, as a heat map of the top 20 brands and a table. - Responses -- the individual AI answers, with a search box. Click an answer to expand it. - Classification -- page types (see Page Type Classification).

Most sub-tabs have provider pills (All plus one per platform) and an Export CSV button with an Export all (ignore filters) option.

Selected and Unselected. Domains and Pages also have a Selected / Unselected switch. Unselected shows the sources the model read but did not cite, with four figures at the top: - Your domains ignored (or Your URLs ignored) -- your own domains or pages that were offered to the AI and not cited. - Competitor domains ignored -- domains of your tracked brands that were offered and not cited. - Most-offered, least-cited -- the domain offered most often relative to how often it was cited. - Total rows offered & ignored -- all unselected rows, split by provider.

Below them, Tracked competitors offered but ignored and Top unselected domains show the detail. Each top unselected domain has its cited rate and a trust label from the ratio of times cited to times ignored: REJECTED (almost never cited), Low Selection Rate (ignored more often than cited), Modest Trust (cited 1 to 2 times as often as ignored) or High Trust (cited more than twice as often).

When a domain drill-down is opened from the Unselected view, its counts are labelled Browsed instead of Citations.

Reprocessing Mentions

If you update your brand list after citation runs, click Reprocess (next to Brand Mentions on the Overview and Brand Mentions sub-tabs) to re-extract brand mentions from existing responses without running the probes again.

Entity Coverage

The Entities sub-tab turns a run's answers into a per-entity scorecard. For each entity that was asked about, it shows Answers (how many answers it drew), Site appeared (the share of those answers that cited your site) and Brand appeared (the share that named your brand). Click any column to sort; the default is weakest site coverage first. Answers from manual or query prompts with no entity attached are counted separately and noted above the table.

Click an entity to open its detail view: - Us · pages cited -- pages from your own domains cited for this entity. - Us · brands mentioned -- your own brands named for this entity. - Fanouts -- the searches the models ran for this entity, with any of your pages that grounded them. - All cited pages and All brand mentions -- every page and brand across the entity's answers, yours and everyone else's.

From any page row, click through to read the individual answers that cited that exact URL.

Page Type Classification

The Classification sub-tab labels every distinct cited URL by page type, recognising patterns such as a Reddit thread, product page, Wikipedia article, news article, documentation page, YouTube video and around two dozen others. It is worked out from the URL pattern alone, so it is read-only and costs nothing (no model calls). It follows the Filter results card.

Two views sit side by side:

  • A distribution table -- each page type with its URL count, share of all cited URLs, and total citations. Use it to see whether your citations come mostly from forums, news, your own docs, and so on.
  • A sample table -- the most-cited URLs with their assigned page type, so you can spot-check the labelling.

Content Optimizer

The Content Optimizer tab is the primary tool for influencing how AI search systems (Google AI Mode, Perplexity, ChatGPT search, Gemini, Claude, etc.) cite and ground their answers on your site.

What It Actually Does

When someone asks an AI assistant a question, the assistant performs a grounded search, pulls a handful of competing pages, and decides which one (and which passage from it) is most worth quoting. The Content Optimizer simulates that decision with an AI ranker, then iteratively tweaks your page or its extractive snippet until the ranker prefers your content over the competing pages.

It's not Google-SERP-rank optimization. It's "what an AI grounding system would prefer to quote for this query".

Modes

Mode What It Optimizes When to Use
Snippet Optimization Mode (default) The extractive snippet an AI grounding system would lift from your page (a focused passage of key sentences, not a SERP-style description). Tuned to lift your mention share (AI-SEO outcomes) Fastest. Good first pass to find phrasing that wins
Page Optimization Mode The full page body itself, via line-numbered edits. Tuned to lift your citation share (classic-SEO outcomes) Slower + more expensive, but produces concrete on-page changes you can apply directly

Sub-tabs

The Content Optimizer has these sub-tabs: Overview, Single, Batch, Ablation, Solo, Draft, Image, Substance, Rank Factors and History. Hover a sub-tab to see what it does. Most have a New run / History switch. On Demo, Batch and Rank Factors show a padlock. The former Links sub-tab is now Link Integration in the Tools menu.

Single Run

  1. Open the Content Optimizer tab and stay on Single (the default sub-tab).
  2. The form opens in Entity mode by default -- pick an entity from the dropdown (each entity is annotated with its AI Relevance Score, weakest first, so the ones most in need of work sit on top) to use it as the query, or flip the Custom Query Mode toggle to type a query directly. In Custom Query Mode, the app suggests your highest-scoring Query Potential queries as you type; picking one auto-fills the target URL with that query's primary Search Console page (you can still override it).
  3. As you type/select, the app runs a pre-flight: it pulls the SERP for that query and tries to auto-detect your target URL by matching against your property's domain. You'll see one of three states: - Green -- "Auto-detected from SERP for your-domain.com: url". Confirm or change. - Yellow (now dark purple "i") -- "Project domain not found in serps. Using fallback page. Confirm or enter your own." - Red -- "No your-domain.com page in the SERP top results. Enter URL manually."
  4. Pick Mode (Snippet or Page), models (defaults pre-filled), and any advanced options (rounds, samples, force-refresh checkboxes).
  5. Set the options: - Manual Content Review (on by default) -- the run pauses after scraping so you can check the competitor and target content before optimizing (see Manual Content Pause Flow). - Rank with all models. -- ranks with every active model, not only the chosen one. - Draft Mode (enter content manually) -- paste page content that is not published yet. The target URL is optional; if blank, a placeholder URL on your domain is used. - Advanced Options > Competitor discovery -- Search results (default; the top 10 organic results) or Model grounding (the sources the model itself retrieves). - Advanced Options > Competitor page limit -- Page Mode only. Each competitor page is cut to this length before it goes to the models: 50,000 characters (default), 100,000, 150,000 or 200,000. The median page is about 17,000 characters. A higher limit keeps very long pages complete and costs more per round. Your target page is never cut.
  6. Click Start.

You can open the form with an entity already picked by adding ?entity= to the link. The Optimize this entity icon on the Entities sub-tab does this.

The run starts in setup mode (SERP fetch → page scrape → snippet generation), then enters the optimization loop. You can watch live progress -- baseline rank, best rank, claims tested, round-by-round chart.

The run header shows the Cost and Tokens used, a badge with the rank change, and a strip with the run details. The status can read Paused [Step Limit] (the round budget ran out), Paused [No Progress] (rounds stopped improving) or Content Review (waiting for you to check the scraped content).

Run Controls

Button When Available Purpose
Pause While running Halt at next round boundary; preserves state
Continue After Pause Resume a paused run
Stop While running or paused Cancel — marks the run cancelled, no further work
Clone Anytime Re-run the same query/URL/params from scratch
Fork Anytime Re-run with edited params (different model, different rounds, etc.)
Replay Finished runs Replay the run round by round
Restore Deleted runs Bring back a deleted run
Delete Anytime Hides the run from History and totals. You can restore it

Most controls are icons; hover one to see its name.

When the run finishes, the app auto-generates: - A Narrative summarising what worked, what didn't, and key insights. - A Content Brief with concrete page edit suggestions (Page mode only or after a winning Snippet run).

Implementation -- when you apply the changes on your site, mark the run Implemented. This adds an event on the Dashboard chart, and with Google Search Console connected the run shows the page's clicks and impressions Before and After the change.

Snippets -- each winning snippet can show a Diff, the New text or the text Before. A PLACEHOLDER in generated text is highlighted so you replace it with real detail.

Manual Content Pause Flow

If the optimizer's scraper hits a page that comes back thin (geo-blocked, paywalled, JS-only, etc.) it pauses the run instead of running on broken data. You then have four options per flagged URL:

  • Paste in Content Manually -- paste the page's text directly into a textarea (e.g. open the page in a browser, copy the visible content, paste).
  • Assign to AI Agent -- triggers a Browserbase + Playwright scrape that runs through a real headless browser (slower, costs Browserbase session time, but works on JS-heavy sites).
  • Use This -- if the original scrape was a false-positive thin flag, accept the original content as-is.
  • Skip -- drop the URL from the run entirely. The optimizer continues with the remaining competitors.

After resolving every flagged URL, click Resume to continue the run.

Batch Run

Run the optimizer across many (query, URL) pairs in one go. Batch has a padlock on Demo.

  1. Switch to the Batch sub-tab.
  2. Choose how to source targets: - By entity sweep -- pick All entities, or filter by Category, or filter by Tag. The app preflights each entity (parallel resolution with progress bar + ETA) and materialises the (query, target_url) list. - By paste -- toggle Custom Query Mode and paste query|url lines directly.
  3. Configure models + rounds + the same manual-on-fail toggle as Single.
  4. Click Start Batch.

Batch runs reuse the same scrape cache property-wide, so overlapping target URLs across siblings only get scraped once. Anomaly detection pools median page size across the whole batch.

The Batch detail view has two tabs:

  • Overview -- the targets table with per-target sparklines, status, baseline rank, best rank, and rounds completed. Plus the batch-level narrative once it auto-generates on completion.

Run Detail Tabs

Click any run ID (from History or a batch) to open its detail view. Alongside the live progress chart it shows a Rank movement chart for all results and a Calibration chart (the stated prior against the realised mean for each claim). It carries these tabs:

Tab Shows
Main Live progress — baseline vs best rank, the round-by-round chart, and the current best snippet/edit
Manual edit (Manual mode only) the per-round rank-factor pick and edit box
Competitors The competing pages, in three views: Competitive Set, Ranker Rationales (why the ranker placed each page where it did) and Analysis
Content Your target page's scraped content
Snippets Every candidate snippet/edit tested, round by round
Ledger The full claim ledger — each claim tested, its rank factor, and the rank it reached
Content Brief Auto-generated, concrete on-page edit suggestions
Rank Factors Per-run breakdown of which factors won and lost
Analysis The auto-generated narrative for this run

Rank Factors Tab

The Rank Factors sub-tab is where you inspect why your optimizer rounds are winning or losing. Every claim the seeder produces is classified into one of seven Rank Factor Classes:

Class Covers
alignment Query token match, intent match, competitive echo, locality, recency
substance Named entities, numeric quantification, temporal specificity, comparative propositions, categorical definitions
architecture Lead positioning, list format, heading choice, delimiter density, sentence length
style Register tier, stance strength, voice perspective, vocabulary accessibility, tone
framing Comparative, definition, how-to, listicle, case study, buyer's guide
proof Expert endorsement, awards/certs, institutional citation, statistical backing, scale signal, longevity
other Top-level escape — nothing else fits

Pick a ranker model from the dropdown, then choose a scope — This property or Global (pooled across all your properties). An optional tag filter narrows every pane below to only the runs whose entity or query carries the tags you pick, so you can read the rank factors for one slice of your work (a campaign, a product line) rather than the whole property. Runs that can't be matched to a tag are reported, not hidden. Within that, five panes:

  • Narrative -- a plain-English summary of what this ranker has learned for the chosen scope, drawn from the same evidence as the Positive/Negative/Attribution panes. Each generation is appended to a running history, so you can read how the ranker's story has shifted over time rather than seeing only the latest version.
  • Positive -- the rank factors most often associated with winning a round (reaching a new best rank).
  • Negative -- the rank factors associated with rounds that failed to improve.
  • Attribution -- a rollup of how each class + factor has performed across your runs against that ranker (claims tested, wins, win rate, best mean, runs).
  • Active taxonomy -- the full list of currently-active classes + factors the classifier can pick from.

There is also a Provider view (model-vs-model). For a chosen provider it shows, per rank factor: each model's win-rate belief, the pooled provider-level belief, and a head-to-head comparison of the two best-evidenced models with the probability that they genuinely differ. Use it to see whether, say, GPT and Gemini actually reward different things or just look different through noise.

History

The History sub-tab shows every run for this property, newest first, in three views: Runs, Batches and Pages. Each run row has the run ID, query, target URL, batch membership (if any), baseline rank, best rank, status, rounds completed and Cost, with a Total row. Click the run ID to open its detail view.

The Pages view groups runs by page and, with Google Search Console connected, shows a clicks chart for each page. For a page with several runs, the curator can build a Merged brief or a Blended page from them.

Ablation

The Ablation sub-tab measures how many rank places each part of a cited source is worth. It runs a prompt on one AI platform, takes the sources the answer cited, and ranks them with the Content Optimizer ranker. The span test then ranks the sources many times with different parts of one source removed, and gives each part its Shapley value: the average number of rank places the source gains when that part is present. The method is called CHISEL (Chunk Holdout Influence Scoring by Elimination Loss).

Under New ablation, set:

  • Prompt -- pick Text to type a prompt, or Prompts, Entities or Queries to choose one from this project. Click the search box to open the list and type to narrow it. Prompts and entities are sorted A to Z. Queries lists this project's Search Console queries, highest query potential first, or its tracked queries A to Z when it has no Search Console data.
  • Platform -- OpenAI, Google or Claude. OpenAI returns the real snippet text it read. Claude does not return snippet text, so the Content Optimizer writes a synthetic extractive snippet from each fetched page. Every platform gets the prompt with a short instruction to answer as a recommendation engine in a single turn, so it never replies with a question.
  • Location -- the country the prompt runs from, which changes the cited sources.
  • Mode -- Snippet ranks the snippets; Page fetches every cited page and ranks the full pages.

Advanced options hold:

  • Method -- Span test (the default) cuts the target into fixed spans and measures each span, plus the brand name, with Shapley values. Signal test has a model list the target's signals and removes each one once.
  • Span unit -- Sentences or "..." parts (cheaper) in Snippet mode; Paragraphs or Sentences in Page mode.
  • Cost cap -- the span test stops before it spends more than this.
  • Ranker (signal test only; default Same as prompt platform) and Ranker samples (1 to 10, default 3; used for the baseline). The prompt always runs on the platform's current default model from Admin → Models, and a span test ranks with that same model.
  • Google snippets -- Real or Synthetic, for Google in Snippet mode.
  • Removal (Deletion or Neutral replacement) and Max signals -- signal test only.

The run has two steps:

  1. Click Run step 1. The app runs the prompt, gets each cited source's text, ranks the unchanged set to set a baseline rank, and cuts the target into spans. The default target is the source the platform cited first; pick another on the Sources tab. When the platform returns no snippet text for a cited source, the app writes a synthetic snippet for it, marked Synthetic snippet (no snippet text returned). A span test has at most 30 players: the spans plus the brand. When the target has more spans than that, a model groups neighbouring spans into blocks at topic boundaries, as many as fit, and each block is tested as one player.
  2. Click Run span test (or Run ablations for a signal test). A span test typically costs between $0.50 and $20, depending on the size of the text, and never more than the cost cap.

A span test run has these tabs, under a header with the prompt, settings, progress and cost so far. It opens on Sources until the span test starts, then on Main.

  • Main -- the number of rankings and orders, the widest ± range, and the target's rank with its full text and with no text. Charts: Rank places each span is worth (with a ± range), How concentrated the value is, Rank by how much text is kept, How often each rank came up and Progress to the stop point.
  • Text -- the target text as a heat map: green spans hold the rank up (removing them drops the target), red spans pull it down, and a stronger colour means a bigger effect. Brand mentions are underlined. While the test runs, spans left out of the latest ranking are struck through. The Value map below shows each span as a brick as wide as its word count; click a brick to read its text, and click again to close it.
  • Ranking stream -- the latest rankings, newest on top: one row per ranking, one brick per span, solid when the span was kept, coloured by the rank the target got.
  • Sources -- the Cited sources table and chart: each source's Grounding position, Answer position, Baseline rank and samples, with View ranker reasons, and the Target picker. Before the span test, this tab also shows the spans and the Run span test button.
  • Analysis -- a written interpretation of the span values.
  • Answer -- the platform's answer to the prompt.

The test stops when every ± range is 0.25 places or less, at the cost cap, or when every combination has been ranked. A span test stopped by a restart shows Resume, which reuses the rankings already done.

Past runs lists every run with its top finding and cost; click Open to view one.


Solo

The Solo sub-tab (formerly "Competitor Agnostic") optimizes a page against itself, with no competitor pages in the ranking. Each round proposes several distinct edits, drafts each one as a small patch edit rather than a full rewrite, ranks the lineup blind several times, and promotes a draft only when it places first more often than the current page. Use it when you want to improve a page on its own merits, or when there is no meaningful SERP to pull competitors from.

Pick how to describe the target:

  • Entity page -- choose a page from the dropdown. One URL can map to several entities, and each mapped entity name becomes a query the page is optimized to win.
  • Manual URL + queries -- type a page URL and paste the queries yourself, one per line.

Then set:

  • Optimize to win in -- the ranker model that judges each round.
  • Ranking passes (default 5) -- how many blind rankings decide each round, higher is steadier but slower.
  • Max rounds (default 4) -- the round budget for the run.
  • Ideas per round -- how many candidate edits to draft each round; leave blank for no cap.

Click Run self-optimization. Past runs are in the History view; click one to open its detail view.

Image

The Image sub-tab (inside the Content Optimizer) tunes an image's caption so its meaning lines up as closely as possible with the picture itself.

Upload a product image and a starting caption, then start a run. Each round rewrites the caption to move its meaning closer to the image, measured as a similarity score in Google's shared image-and-text embedding space -- higher is a tighter match, and scores typically land in the 5–30% range. You watch the caption and its score improve round by round, the same way you do on a text run.

There's also a quick check: score any caption you type against the image on its own, without launching a full run, to sanity-test wording before committing.

Draft

The Draft sub-tab optimizes an unpublished draft against live competitors before you publish it. Where a Single run needs a page already on the web, Draft takes text you paste in and treats it as the target page.

  1. Enter the query you want the draft to win.
  2. Paste your draft text.
  3. Optionally set a target URL (defaults to your property's domain), a location, a model, and the round settings.
  4. Start the run.

The app discovers competitor pages for the query through grounded search, fetches their content, injects your draft as the target page, and runs the full holistic optimization loop. It opens on the holistic run view, where you watch the draft's rank improve round by round the same way you do on a live run. This sub-tab sits on the legacy Optimizer screen (?tab=content_optimizer&sub=draft opens it), so it opens there rather than switching panes inside the Content Optimizer. A History pane lists past draft runs.

Substance

The Substance sub-tab classifies your content by substance, labelling each part substance, fluff, or ambiguous so you can see where a page pads instead of informing. Two modes:

  • Title Classifier -- judges a title or heading on its own.
  • Full Text Classifier -- judges body content. Point it at live URLs (fetched via Firecrawl, up to 100 at a time) or paste text directly (the first 1000 words are read).

Once a piece is flagged, an optimizer can rewrite the fluff into substance. Available on every plan, including demo.


Pages

The Pages tab lists every page of this property that the app knows about. Open one page to see its Search Console traffic and AI citations over time, log a change you made to it, and compare the days before and after that change.

The tab has three sub-tabs: Pages (the page list), Updates (every logged change in one table) and Opportunities (pages with no entity yet).

Page list

The list brings together pages from five sources. Badges under each URL show where the page was found:

  • Search Console -- pages with clicks or impressions in the Date Range, all countries.
  • Content Optimizer -- target pages of optimizer runs.
  • Page events -- pages with a logged optimisation.
  • AI answers -- pages cited in tracked AI answers in the last 90 days.
  • Entity links -- pages linked to an entity in Settings → Entities. These show the entity names as green badges. Click an entity badge to show only that entity's pages.

A page found in several sources shows as one row, under its Search Console spelling when there is one.

Column Meaning
Clicks, Impressions, CTR, Position Search Console, Date Range, all countries. Empty when no Search Console site is linked to the property
AI citations Tracked AI answers that cited the page in the last 90 days
Events Page events plus implemented optimizer runs

Click a column heading to sort by it; click it again to reverse the order.

Date Range -- shows at the top when the linked Search Console site has more than one imported range (see CTR Modelling). It starts on the range picked on Organic, else 3 months, else the longest. Your pick here is kept in this browser only and does not change the Date Range on Organic.

Filters: Search (part of a URL), Source (All sources, Search Console, Content Optimizer, Entity links, Not in Entities, AI answers or Page events), Entity, Entity tag and Entity category. The three entity filters stay empty until pages are linked to entities. The list shows 50 pages at a time.

+Add Entity -- owners and editors see this under each URL. It links entities to the page:

  1. Click +Add Entity. A panel opens under the row, with the page's top 10 Search Console queries as a guide (they are not saved).
  2. Type an entity name and press Enter. Repeat for more names.
  3. Click Save. A name that matches an existing entity reuses it; a new name creates the entity.

An entity links to one page only. If a name is already linked to another page, a warning lists the entity and its current page. Click Move to this page to move the link, or Cancel to keep it where it is.

Click a URL to open the page view. The address then ends in ?page_url=<url>, so a link opens that page directly.

Page view

The top of the page view shows the source badges, the linked entities (hover one for its category and tags) and, when the page has optimizer runs, a link to them in Content Optimizer. ← All pages (or ← Updates, ← Opportunities) returns to the list.

Cards show the page's Clicks, Impressions, CTR and Average position (Search Console, Date Range, all countries), AI citations (last 90 days) and Events.

  • Search Console chart -- daily clicks, impressions and average position, with a country picker (default: all countries). Search Console data usually arrives 2 to 3 days late.
  • AI answers that cite this page -- per AI platform, the share of this property's tracked answers that cited the page each day.
  • Mentions & Citations -- per day, all platforms together: tracked answers that cited the page (Your Citations) and your brand mentions inside those answers (Your Mentions).
  • Event lines -- vertical lines on the charts: solid for a page event, dashed for an optimizer run, dotted for a property or system event from Settings → Events. Hover a line to see the event above the chart.
  • Queries -- the Search Console queries the page got impressions for, from the stored data behind Organic → Query → URL Mapping, for the Date Range of this tab and the country picked above the chart. Columns: Query, Entities, Clicks, Impressions, CTR, Position and Primary URL (the page with the most clicks for the query, all countries and devices). This page marks queries where this page is the primary URL; another page's URL opens that page. Use Search queries to find a query, and tick No entity to see only queries with no entity. Click an entity badge to see only that entity's queries; Show all queries removes the filter. Search Console leaves out rare queries, so the rows can add up to less than the page totals.
  • Entities -- the entities of those queries (from entity classification on Organic → Intent) and the entities linked to the page in Settings → Entities (marked linked). A No entity row at the end counts the queries with no entity. Click an entity to filter the Queries table; click it again to show all queries.

Optimization events and before / after

Click Log an optimization to record a change to the page: Date it went live, Search Console country (starts on the page's top country), an optional Target query and optional Notes. Click Save event, or Cancel. Owners and editors can log, edit and delete page events. For viewers the button is greyed out, and demo visitors cannot log either. A page event also shows in Settings → Events and as a marker on the Dashboard's Visibility Trend.

Edit opens the same fields; a new date, query or country gets new Search Console numbers. Delete removes the event and its saved numbers.

Content Optimizer runs marked Implemented for this page show in the same list, with an Open run link.

Click Before / after on an event to compare the days before and after it:

  • Windows -- the same number of whole weeks before and after the go-live day: 7, 14, 21 or 28 days. The day itself is left out. Numbers show once a full week of data after the day is in. Until 28 days, they update as data arrives (Search Console is refreshed on open, at most every 6 hours). At 28 days they are final.
  • Search Console -- the whole page, plus the page for the target query when the event has one, in the event's country (all countries when it has none). Columns: Before, After and Change. "not ranking" means no impressions in that window.
  • AI answers -- per AI platform, how many tracked answers cited the page before and after, and their share of all tracked answers. A low data badge marks a platform with fewer than 10 cited answers across both windows.
  • Other events inside this window -- a warning lists the property and system events that fall inside the window.
  • Other changes to this page inside this window -- a warning lists other events or runs on the same page in the window. The numbers then show their effect together.
  • Enter numbers by hand -- page events only, owners and editors. Type Before and After values for Average position, Impressions, Clicks and CTR (%), then click Save numbers. The numbers go into the target query table when the event has a target query, else into the whole page table. A typed number replaces the automatic one cell by cell and is marked with *. Empty boxes keep the automatic numbers. For an optimizer run, you enter them in the run instead.

Demo visitors see saved numbers only. If nobody has opened an event yet, it shows "Search Console numbers show here after a team member opens this event."

Updates

The Updates sub-tab lists every optimisation on the property in one table: Content Optimizer runs marked Implemented and page events, newest first. Each update has a heading line with its date, page URL (click it to open the page view), a Content Optimizer or Page event badge, the target query and, when it applies, a low data badge.

Column Meaning
Days Days compared on each side of the update: whole weeks, up to 28. waiting means there is no full week of tracking after the update yet
AI answers: Citations, Share Tracked AI answers that cited the page, and their share of all tracked answers
Search Console, whole page: Clicks, Impressions, CTR, Position From the numbers saved on each update, with any numbers typed by hand

Each cell shows the after value, then "from" the before value and the change (green when it moved the good way; for position, down is good).

  • AI platform -- show one platform, or All platforms.
  • Export CSV -- one row per update, with AI answers per platform and Search Console numbers for the whole page and the target query.
  • Refresh Search Console -- owners and editors only. The table itself never calls Search Console. This button fetches new numbers for every update that is not final yet and was not fetched in the last 6 hours. It runs in the background and shows "Refreshing Search Console: X of Y", then the number checked and failed. It does not spend credits.

Opportunities

The Opportunities sub-tab lists pages that are not linked to any entity yet, highest score first, 50 at a time.

Column Meaning
Score The Query Potential score (impressions × average position), added up over the queries this page is the primary URL for. A high score means many impressions at a weak position
Queries Queries this page is the primary URL for
Impressions Total impressions of those queries
Position Average position, weighted by impressions

The note under the table gives the Search Console dates and when the scores were calculated. With no scores yet, calculate them on Organic → Query Potential. Owners and editors can use +Add Entity on a row (see Page list); the page then leaves this list.

Outreach

The Outreach tab is a link-building and guest-article workshop. It writes off-site articles that place a link an AI detector shouldn't be able to single out, and it checks any article or live URL for a link that a detector can single out. It works as a red-team / blue-team pair: the Writer places the link, the Checker tries to catch it.

Owners and editors can change the brief and start runs. Viewers can read what has been written but cannot start a run or change the brief.

Five sub-tabs: Manage, Writer, Checker, History and Link Monitor.

Manage

Set the brief for this property: the author guidance and guardrails the Writer follows, the Target URLs the articles should link to, and a co-link policy listing domains that are banned or approved as neighbours in the same article.

Writer

Generate off-site articles that carry the target link.

  1. Set how many articles to write (1-20, default 3).
  2. Enter the publisher domain the article is written for.
  3. Start the run and watch the progress card.

Each finished article is marked Undetected if the Checker's own pass did not pick out the link, or Caught if it did. Caught or unusable articles are folded into their own list. Results collect in a Library; open any article to read it and re-run Review or Re-check on it.

Checker

Test whether a paid link is detectable.

  • Live Link Check -- give a URL and the app fetches the page and looks for a detectable placed link.
  • Paste Article -- paste article text directly instead of a URL.
  • Suggest edits -- when ticked, the Checker also proposes wording changes to make a detected link read more naturally.

The result says Caught when the detector picked out your link, or Missed it when it did not, and lists the links it classified as inorganic. Stored verdicts are passed, detected, no-link, no-article, banned-link or error.

History

A roll-up of every Writer and Checker run for the property, with the verdict counts.

Runs use a fast Google model via Vertex, one run per property at a time.

The Link Monitor sub-tab watches links placed on other people's sites and tells you when one goes missing. A crawler, DejanBot, visits each watched page on a schedule and checks whether the link is still there. There is a public write-up at dejan.ai/bot.

Count cards at the top show Links watched, Present, Lost, and Could not check. Below them:

  • Add a link -- record the page the link sits on, the target it should point to, the anchor text, a match rule (Exact or Any), and optional notes. You can also import links from CSV or export the current list.
  • Watched links table -- every link with its latest verdict, filterable. Per-row actions: Check now, History, Pause, Delete. Check all re-checks the whole list.

Verdicts are present, missing, page-gone, blocked, robots.txt, or error. Only missing and page-gone raise an alarm; the others just mean the check couldn't confirm. A weekly job re-checks every watched link automatically (Mondays), and losses post to the notification bell.


Page Grounding

Page Grounding (in the Tools ▾ menu and as a sub-tab of Pages) probes which specific lines of a page are relevant to given queries.

Running a Probe

  1. Pick a mode: Scrape (the app fetches a URL) or Paste (paste the page content).
  2. Enter the URL or paste the content.
  3. Enter up to 10 queries.
  4. Select a model.
  5. Click Analyze.

The app numbers every line of the page and runs one Google Search grounded call per query, with the page URL added to the search text (the search is not limited to the domain). In the same call the model reports which numbered lines match Google's grounding text for that URL, or none if the URL was not a source; the app does not check those line numbers against the grounding data. In Paste mode the URL is not fetched, and only lines that are on the live, indexed page can genuinely match. Lines are scored by how often they match across queries (0-1 scale).

Results

  • Line-by-line heatmap showing relevance scores.
  • Per-query match breakdown.
  • Export as CSV, HTML, or PDF.
  • Every run is saved automatically and listed under Saved Runs.

Grounding Inspector

The Grounding Inspector (in the Tools ▾ menu) runs one query through a model's own web search and shows what it pulled in: the answer, every source it received, and the text of each source. A source is selected when the answer cites it and unselected when the model received it but did not cite it.

  1. Pick the platform: Google, OpenAI or Anthropic.
  2. Enter a Query and, optionally, a Location.
  3. For OpenAI, set the Context size (how much the search pulls in): Low, Medium (default) or High. Higher returns more sources and longer snippets, and costs more.
  4. Click Analyze.

Results show the answer, the search queries the model issued (fan-out queries), Google search suggestions, and each source with its cited count and captured text. Click a passage in the answer to see the sources behind it. Past runs are under Saved Runs, with View, Del and Export CSV.


Prompt Generator

The Prompt Generator (in the Tools ▾ menu) writes citation prompts in bulk.

  1. Pick the Input type: Project Context, Page content, Search query, Entity, Brand industry or Other.
  2. Enter the Input. For Project Context it is optional; your entities, locations and objectives are used.
  3. Optionally add Special instructions for the angle or focus.
  4. Set the Number of prompts: 10 (default), 20, 50 or 100.
  5. Tick Ground with website data to use your site's content, and Exclude branded terms from prompt content to keep brand names out.
  6. Click Generate.

Use Copy or Copy all, or Save All to add the prompts to Citation Prompts.


Treewalker

Treewalker (in the Tools ▾ menu and as a sub-tab of ARC → Association Mapping) probes a model's parametric memory -- what it recalls about a website without searching the web.

How It Works

The intuition: when a model generates text, at each token it samples from a distribution. The chosen tokens are what it "said". The high-probability alternative tokens are what it almost said. Treewalker turns those near-misses into a list of additional things the model would have produced from a slightly different sampling path.

  1. The app asks the model to list items associated with your website multiple times (N runs, default 5).
  2. For each generated token, Gemini reports the top-5 alternative tokens with their probabilities (logprobs).
  3. For every token whose alternative exceeds your confidence threshold (default 10%), the app "branches": it builds a fragment (the original text up to that point, with the alternative token swapped in) and asks the model to complete the item starting from that fragment. The completion is captured as an additional discovered item.
  4. Results are aggregated across runs to show appearance rates (how often each item showed up across N runs), confidence levels (average + minimum token probability), and the full branch alternatives at each token position.

A practical example: if you probe nike.com and the model writes "Nike Air Max", at the token "Max" it might have considered "Force" with 24% probability. With threshold=10, the app would branch on "Force", build the fragment "Nike Air Force", and ask Gemini to complete that into a short product name. That gives you "Nike Air Force 1" as a discovered association even though the model only mentioned "Nike Air Max" in the original response.

Lower thresholds (e.g. 5) produce many more branches and surface weaker associations; higher thresholds (e.g. 20) keep only the strongest near-misses.

Paired Sessions

Each Treewalker run creates two paired sessions: - Ungrounded -- pure parametric memory (logprobs enabled, no web search). - Grounded -- same prompt but with Google Search enabled (no logprobs).

Start a run from New Analysis: set the Website URL, Threshold % (1 to 50, default 10) and Number of runs (1 to 20, default 5), then click Analyse. Two progress bars track the Ungrounded and Grounded sessions. The Sessions list shows each run's website, runs, threshold and status, with View and Delete (which deletes both sessions).

Reading Results

Treewalker Results has three tabs: Ungrounded, Grounded and Holistic Analysis.

Ungrounded and Grounded each have three views:

  • Overview -- the items ranked, each with a bar and an AI analysis beside them. On Ungrounded the bar is the average token confidence, with the minimum confidence and appearance rate, and swap tags under each item show what the model almost said instead. On Grounded the bar is the appearance rate.
  • Rank -- charts of association strength, average rank and rank movement across runs. It needs at least 2 runs with data.
  • Granular Details -- a table with every item's Appears (rate and count), Mean Rank, Std and Range. Ungrounded adds Conf %, Min Conf % and Branches (the number of distinct alternatives found).

The Ungrounded AI analysis compares parametric memory with a Google Search response and a read of the website itself, under Primary Bias, Grounding Bias (with Search Grounding and URL Grounding), Strongest Associations, Weakest Associations and Gap Analysis. The Grounded AI analysis gives a Grounded Brand Profile, Strongest Associations, Weakest Associations and Search Influence Observations.

Holistic Analysis appears once both sessions complete. It compares the two probes under Rank Discrepancies, Grounded-Only Associations, Ungrounded-Only Associations, Convergence and Strategic Observations.

Promoting Items

The Discovered Entities sub-tab lists the items Treewalker found across all sessions. Click an item to add it to your Entities list, and click it again to remove it. Green items were added from Treewalker, purple items are already entities from another source (and cannot be toggled here), and white items are not entities.


Veracity

Veracity fact-checks grounded AI responses by assessing how faithfully the model used its cited sources.

Running a Check

  1. Click New Assessment.
  2. Enter a query.
  3. Select a model (Google Gemini for grounded search).
  4. Click Run Assessment.

How It Works

  1. The app runs a grounded search and collects the response with all cited URLs.
  2. For each cited URL, the actual page content is fetched.
  3. An AI assessment compares what the grounded response claims against what the source page actually says.
  4. Each URL receives a fidelity score based on: - Survived -- claims accurately reflected from the source. - Lost -- information in the source that was dropped or ignored. - Distortions -- claims that misrepresent or distort the source material.

Results

  • Per-URL fidelity scores with detailed survived/lost/distortion breakdowns.
  • Aggregate score -- average fidelity across all cited URLs.

The Backlinks tool surfaces the backlink profile of your site and your competitors, powered by DataForSEO. It's available to admin, team, and Client [Standard] projects. Client [Standard] users find it in the Tools ▾ menu.

Because backlink data is billed per row by the provider, the app caches every result — opening the tool only ever reads the last stored snapshot, and it never spends money on a plain page load. A live fetch happens only when you press a Refresh / Look up / Find gap button. Each stored result shows when it was last fetched. Three sub-tabs:

Overview

The backlink profile for your own property's domain: headline figures (backlink rank, total backlinks, referring domains, and the dofollow / nofollow split), a top anchors panel, a referring domains panel, and a filterable backlinks table. A target picker at the top defaults to your declared primary owned domain (falling back to the property's main site, or an empty box you can fill in), and lets you point the profile at any other owned domain or a custom target. Refresh re-fetches the profile for the chosen target and updates the cache.

Look up the backlink profile of any domain or URL you type — not just your own. Enter a single target for a full profile, or switch to bulk mode and paste many targets at once for a side-by-side summary. Every lookup is cached and listed under Recent lookups so you can revisit it without paying to fetch again.

Competitor Gap

Finds the domains that link to your competitors but not to you — your clearest link-building shortlist. Pick the competitors to compare (sourced from your Competitor Domains map, or type domains directly) and the app returns the intersection of sites linking to them while skipping your own. If no competitor domains are mapped yet, it points you to Settings → Competitor Domains to set them up.



The Knowledge Graph Search tool (in the Tools ▾ menu and as a sub-tab of Entities, at /tools/entity-search/) checks whether a name is present in Google's Knowledge Graph, the entity database behind Google's knowledge panels. Type a name and the app returns SERP-style result cards for the matching entities, so you can confirm whether Google recognises a brand, person, or product as a known entity.

Results are cached, so repeat lookups are instant and free. Available to every logged-in user.


Prompt to Query

The Prompt to Query tool (in the Tools ▾ menu, at /tools/prompt-to-query/) converts between the long natural-language prompts people type into AI assistants and the short keyword queries search systems use. Three sub-tabs:

  • Prompts to Query -- paste many prompts (up to 200 lines) and get the short query each one reduces to, in one batch.
  • Query to Prompts -- take one short query and expand it into five natural-language prompts.
  • Prompt to Queries -- take one prompt and produce five query variants.

Results aren't saved. Available to every logged-in user.


Semantic Compressor

The Semantic Compressor tool (in the Tools ▾ menu and as a sub-tab of Pages, at /tools/semantic-compressor/) writes five summaries of a page or a text, each shorter than the last: Compression Level 1 is a paragraph and Compression Level 5 is a single word.

  • Page address -- enter a public URL. Google reads the page, so it must be publicly reachable. If Google could not retrieve the page, a warning says the summaries were not written from the page content.
  • Paste text -- paste up to 100,000 characters.

Click Compress. Each summary shows its word and character count, with Copy, Copy all and Download JSON. Runs are saved per project under Saved runs and reopen at no cost.

Available to every logged-in user.


Page Focus

The Page Focus tool (in the Tools ▾ menu and as a sub-tab of Pages) shows how Google, OpenAI and Anthropic each read one page: the topics they find in it, and how relevant it is to a topic you choose. Each platform runs on the model that Visibility Tracking uses for it, and all of them get the same page text.

Two sub-tabs:

  • Page topics -- each platform lists the topics the page covers, with a centrality score from 0 to 100% (how central the topic is to the page) and one sentence on why it sees that topic. Click a topic in the result to set up a Topic relevance run for it on the same page.
  • Topic relevance -- enter a Topic (a topic, entity, theme or search query, up to 300 characters). Each platform gives the page a relevance score from 0 to 100%, a short rationale, and a list under What would raise the score. Each change has a type: presence, absence, format, feature or other.

To run it:

  1. Pick Page address or Paste text. In the address field, type part of an address to pick one of this project's pages, or enter any address. Pasted text can be up to 100,000 characters.
  2. On Topic relevance, enter the topic.
  3. Under Platforms, turn off any platform you do not want. At least one must stay on.
  4. Click Run. The line next to the button shows the estimated cost before you run.

A page address is fetched once, through Firecrawl first and a direct fetch if Firecrawl fails. If a platform gets an error page or a block notice instead of the page, it shows "This platform could not read the page content."

Compare with another page -- a switch on Topic relevance. Fill in Page B (an address or pasted text) and run. Every platform scores both pages, then an analyst model reads both sets of results and both page texts. The result shows Overall (Page A wins, Page B wins or Tie), the changes the losing page needs to win, a table with each platform's score for each page and its winner, and both pages side by side.

After a run, the page stays loaded as the source for the next run, so a second run on it does not fetch it again. Click Use a different page to change it. Each result shows its run number and Cost, with Download JSON and a copy button. Every run is saved in Saved runs on the right for everyone on the project; opening a saved run costs nothing.


The Link Integration tool (in the Tools ▾ menu) finds the paid links on a page and the places where a new link would look natural. It was the Links sub-tab of the Content Optimizer until October 2026. It runs two passes:

  • Money links -- separates the paid link from the surrounding filler text, so you can see what the placement actually looks like on the page.
  • Anchor suggestions -- scores each word for how likely it is to work as anchor text (using a LinkBERT model), with a confidence slider to keep only the strongest candidates.

Work from a Live URL or paste content in the Editor. A Use Firecrawl checkbox fetches the live page through Firecrawl. Every run is saved to the project: Past runs below the form lists them, and Open shows one. Content Optimizer → History → Links lists the same runs. Link Integration has a padlock on Demo.


The Organic tab is the property's hub for everything sourced from Google Search Console plus the query-level analyses that depend on it. Eight sub-tabs: Overview, GSC, Intent, Query → URL Mapping, Cannibalization, Query Potential, CTR Modelling and Query Gaps.

Overview

The Overview sub-tab is the default landing view: a one-screen dashboard of your Search Console performance. It shows the Devices and Top Countries splits, a 16-month traffic trend, and your Top Queries and Top Pages. A Refresh button pulls the latest figures. Use it as the quick read on the property before drilling into the analysis sub-tabs.

GSC

Live Google Search Console data.

Connecting GSC 1. On the GSC sub-tab, click Connect Google Account to authorize with your Google account (read-only access). 2. Select and Link the relevant GSC site to your property.

Importing Data -- click Import to pull a 90-day summary by query and page. When it finishes, query gaps are computed. CTR Modelling has its own import (see CTR Modelling).

Import first runs a 3-month CTR Modelling import, then the 90-day summary. After the summary it also recalculates the Query Potential scores. A progress bar shows on the Organic Overview while it runs. Imports read Search Console only and do not spend credits.

When a sub-tab has no data yet, it shows one of two buttons:

  • Import GSC Data -- shown on Overview, Query → URL Mapping and Query Potential when a Search Console site is linked but nothing is imported. It runs the same import as Import above.
  • Link GSC Property -- shown on Query → URL Mapping, Query Potential, Cannibalization and CTR Modelling when no Search Console site is linked. It opens Settings → GSC, where you connect your Google account and link the site.

A Snapshot fetch pulls 5-dimension summaries (query, page, country, device, date) for dashboard use.

Viewing Data — top queries / pages / countries / devices, 16-month traffic-trend chart, per-property breakdowns.

Intent

Run the intent classifier against your GSC + fan-out query corpus. You can classify queries into either: - A preset taxonomy (Search Intent / Funnel Stage / Content Type) or your own custom label set. - Your entities — the classifier treats every active entity as a possible label and writes results to the property's entity-classification table. Useful for mapping every GSC query to the closest entity in your taxonomy.

See Intent Classification for the full workflow.

Mapping

The Query → URL Mapping view. It lists each query once, with the page that earns the most clicks for it.

The Date Range dropdown above the table picks which imported period the table shows, for example 16 months, 3 months or 1 month. It is the same setting as the Date Range on CTR Modelling: changing it on either screen changes both, and the app remembers your choice for each project. Until you pick one, the table shows the longest range imported.

Refresh from GSC runs Import CTR Data for the date range on screen and replaces that range with fresh Search Console data. A progress bar shows at the top of the page while it runs, and the table reloads when it finishes. On a large site a 16-month import can take a long time.

For every classified query, shows which page on your site is ranking (or could rank) for it, sourced from your imported Search Console data. Lets you find queries with no ranking page (a content gap) or queries scattered across multiple competing pages (a consolidation opportunity).

A search box at the top narrows the list to queries containing your text, and a Query Exclusion Filter lets you hide whole groups of queries by their intent tag — start typing in the filter box, click the tags you want gone (they collect as removable pills), and hit Apply Exclusion Filter to drop every query carrying any of those tags. Use it to sweep aside branded terms, adult queries, or any label set you've classified so the table shows only the queries you care about. Clicking a query expands it inline to reveal the other pages competing for it. (This filter only appears once the property has classified queries — see Intent Classification.)

Cannibalization

The Cannibalization view shows where more than one of your pages gets clicks for the same query. For every query, its primary page is the one with the most clicks. Cannibalized clicks are the clicks that land on every other page that also ranks for that query.

Nothing runs until you click Run cannibalization analysis. The scan takes a few seconds and the result is saved. It uses the Date Range picked on Query → URL Mapping or CTR Modelling. After the first run, the button changes to Re-run analysis, with the date of the last run under it (Analyzed and a date). Run it again after you import fresh Search Console data. A legacy run badge means the saved result is from the older data store; re-run it to update it.

Two views, switched with the Pages and Queries buttons. Queries opens first.

  • Queries -- each query ranked by its Cannibalized clicks, with the number of Competing URLs. Click a query to see the primary page (marked Primary) and the other pages that get clicks for it, 10 at a time. This view has a Search queries box, the same Query Exclusion Filter as Mapping, and an All / Branded / Non-branded toggle. The toggle shows only when the property has owned brands (Settings → Brands) or Branded Query Tags in CTR Modelling.
  • Pages -- each page ranked by the clicks it gets as a non-primary page, with the number of queries. Use Search pages to find a page. Click a page to see every query it ranks for, each marked Primary or Cannibalized. ← Back to Cannibalization returns to the list.

A query with many cannibalized clicks spread across several pages is a candidate to merge into one page.

Query Potential

The Query Potential view ranks every query by its opportunity size: impressions × average position for the query's primary page, highest first. Because a lower position number is better, a high-impressions query stuck at a poor position rises to the top — the biggest audience for the least ranking movement. Each row shows the query, its primary URL, impressions, average position, and the potential score, with a search box to find a specific query.

Scores refresh automatically after every GSC import. Use the Calculate (or Recalculate) button to rebuild them on demand — handy for a property whose mapping was imported before this view existed. These same scores power the query suggestions in the Content Optimizer's Custom Query Mode.

CTR Modelling

The CTR Modelling view builds your site's own click-through-rate curve from your Search Console data, so you can see what a position is worth on your pages. It has five views:

  • CTR Potential (default) -- the curve, and the clicks each query or page could gain if its CTR matched the curve at its position.
  • Rank Potential -- the clicks each query could gain by moving up, with its own CTR behaviour kept.
  • Combined Potential -- the clicks each query could gain by moving up and converting at the site-average CTR for the new position.
  • History -- CTR by site section now, compared with a saved snapshot.
  • Settings -- the data import and the branded query tags.

If no Search Console site is linked, the view shows Link GSC Property. If nothing is imported yet, it shows Import CTR Data.

Filter bar (CTR Potential, Rank Potential and Combined Potential)

  • Date Range -- the imported ranges, each with its dates. Shared with Query → URL Mapping and remembered for each project.
  • All / Non-branded / Branded -- scopes every figure. Shows only when the property has owned brands or branded query tags.
  • All Countries and All Devices -- pick one country or device.
  • Presets -- type a name in Name these filters and click Save to keep the whole filter set (brand, country, device, advanced filters and scenario columns). Click a preset to apply it, or × to delete it. Presets are shared by everyone on the property. Saving with an existing name replaces that preset.

Advanced filters (click to open) narrow the queries in the tables. The curve itself is still built from the whole brand, country and device segment.

  • URL filter -- one or more rules, each URL contains or URL is exactly. Click Add rule for another rule, and × to remove one. Match any (OR) or Match all (AND) sets how rules combine.
  • Show other URLs holding at least N % of a query's clicks -- default 10. Other pages above this share are listed under a query's primary URL as "+N more URLs of M with clicks".
  • Include intent and Exclude intent -- intent labels from classification. Unlabelled covers queries with no label. Hold Ctrl (Cmd on Mac) to pick more than one.
  • Include SERP feature and Exclude SERP feature -- the features found by SERP Check, with the number of checks for each. Not checked covers queries with no check.
  • Clicks at least, Clicks at most, Impressions at least, Impressions at most -- leave a box empty for no limit. Queries under 10 clicks are always left out of the modelling.
  • Apply runs the filters. Clear removes them.

Tables show 50 rows per page by default. Rows per page changes it to 50, 100, 250 or 500. Queries carry intent badges (one letter per label, hover for the full name). Click a query name to open its SERP page.

CTR Potential

  • CTR Curve -- a line chart of the mean click-through rate at each search position. Each query counts once, at its best-clicked URL, and needs at least 10 clicks. The text above the chart gives the number of queries, the dates and the site-wide CTR.
  • CTR Stats by Position -- click to open. The curve as a table: Position, CTR, Clicks, Impressions and Queries. Export CSV downloads it for the brand, country, device and Date Range on screen.
  • Summary cards -- Current clicks (and the number of modelled queries), CTR fixed to site average (clicks if every underperformer reached the site average at its position), Clicks on the table (the difference, with the uplift in %) and Underperformers (count and share of queries).
  • Query Performance vs Curve -- each query, at its primary URL, compared with the site's expected CTR at that position. Two tabs: Overperformers (more clicks than expected) and Underperformers (fewer). Columns: Query, Page, Position, Clicks, Impressions, Query CTR, Site Avg, CTR Δ and Traffic Δ. Sorted by traffic gap. Export CSV (all) downloads every row for the current filters, not only the page on screen.
  • Potential by URL -- underperforming queries added up per primary URL: Page, Queries, Current Clicks and Potential Clicks. 20 rows per page by default. Click the Queries number to list those queries, 20 at a time, with Show more. Export CSV (all) downloads every row.

Rank Potential and Combined Potential

  • Summary cards -- Current clicks, One position up, All at #N (every query at the lowest scenario position ticked) and Ceiling multiple (that total divided by current clicks).
  • Total Clicks by Scenario -- a bar chart of total clicks for every modelled query under each scenario: current, one position up, and all queries at each ticked position. It covers the full filtered set, not only the rows on screen.
  • Projected Click Gain to #1 -- the top 15 queries by extra clicks if they ranked #1.
  • Rank Potential by Query or Combined Potential by Query -- per query: Position, Clicks, 1UP (projected clicks one position up), Δ 1UP, and an If #N and Δ pair for each scenario. Tick Scenarios #1 to #10 to pick the columns (default #1 to #5). The cell for the query's current position is highlighted. Click a heading to sort the whole filtered set; click it again to reverse. Click the row to show the query's URL.

History

Pick a Date Range, then Show (Live now or a saved snapshot) against (Nothing or another snapshot). The brand toggle applies here too. Country and device do not, because snapshots combine them.

  • Save snapshot -- saves the current numbers for the Date Range on screen. A snapshot is also saved at the end of every CTR import.
  • Summary cards -- Sections, Clicks, Impressions and Site CTR, with the change against the baseline snapshot.
  • CTR by Site Section -- one row per first URL folder (for example /blog), taken from each query's primary URL. Columns: Section, Queries, Clicks, Δ Clicks, Impressions, CTR, Δ CTR, Avg pos and Δ Pos. CTR is total clicks over total impressions; position is weighted by impressions. A gone badge marks a section that is in the baseline but not in the data shown.

Settings

  • CTR Data Import -- a table of the five date ranges (Date range, Covers, Rows, Queries, Last imported). Pick a range: 1, 3 (default), 6, 12 or 16 months, then click Import CTR Data (Re-import CTR Data once data exists). The import replaces the picked range only, and other ranges stay. Google keeps 16 months at most. The import reads Search Console only and does not spend credits.
  • Branded Query Tags -- a query counts as branded when it matches an owned brand (Settings → Brands) or carries one of the intent labels ticked here. Use it to catch misspellings and variants of your brand. Each label shows its label set and number of queries. Tick the labels and click Save Branded Tags. The list is empty until you run an intent classification (see Intent Classification).

SERP Check

In CTR Modelling, a query row has a button to Run a live SERP check for this query (or Re-check this SERP). It pulls the live Google result page and saves it. The check is paid and appears in Costs as CTR SERP Check. Click through to the query's SERP page to see the saved result, including SERP features. A failed check is saved too, so you can see what was tried.

The button shows when you hover the row. A check takes 20 to 30 seconds and uses the country and device picked in the filter bar. One click is one paid check. When the check finishes, an icon for each SERP feature found shows under the query (hover for its name). A tick means the check found no SERP features.

Gaps

The Query Gaps view. A "gap" is a query that an AI model has surfaced about your brand (via Q2B or visibility probes) but has zero clicks/impressions in your linked GSC site — i.e. the AI thinks the query matters but you're invisible for it organically.

Tick the sources to use and click Compute Query Gaps. The computation runs as a background job; progress is shown inline. Results are cached so the gaps view loads instantly afterwards. Export downloads the list.


Intent Classification

Intent classification labels your queries either with multi-label taxonomies (preset or generated) OR with entities from your own entity list. Lives at Settings → Intent for setup + management, and at Organic → Intent for visualisation alongside GSC traffic.

Creating a Taxonomy

  1. Create a Label Set or choose a preset: - Search Intent -- Informational, Navigational, Transactional, Commercial Investigation. - Funnel Stage -- TOFU, MOFU, BOFU. - Content Type -- Question, Comparison, How-To, Review, List. - CLINT -- the CLINT intent preset, also used for the intent badges in CTR Modelling.
  2. Or Generate Taxonomy from your query data -- the app takes your queries (sorted by clicks DESC), packs as many as fit into a 500K-token budget, and asks Gemini to propose labels in the format LABEL_NAME | description and 2-3 example queries. You can supply free-text Special Instructions to bias the result (e.g. "focus on commercial intent" or "produce 10-15 labels"). The Adult Filter automatically excludes explicit terms during packing.

Running Classification

The Classify queries by dropdown picks the mode.

Label-set mode (the original) — classifies queries into your label set with multi-label assignments.

  1. Select a Label Set.
  2. Choose Source: GSC queries, fanout queries (from citation search queries), or both.
  3. Optionally set a minimum clicks or frequency, add Custom instructions, and tick Filter explicit to auto-tag explicit content (label EXPLICIT_CONTENT).
  4. Pick the run mode (only unclassified queries, or all again) and click Estimate to see the cost.
  5. Click Classify all queries. Queries are classified in batches of 10 with up to 100 parallel workers.

You can clear a label set's results or wipe them completely before a fresh run.

Entity mode (new) — classifies queries into your entity list. Each query gets matched to zero or more of your active entities. Useful for mapping GSC queries directly to the entity hierarchy you've curated, without needing a separate intent taxonomy.

Results

  • Binary matrix showing which labels apply to each query (label mode) or which entities each query maps to (entity mode).
  • Per-label distribution stats.
  • Export all as CSV for external analysis, or Download PNG of a chart.

Preview lets you test classification on a sample of 10 queries before committing.


Benchmark

The Benchmark tool (in the Tools ▾ menu) compares your brand head to head against one competitor you pick.

Shows per AI model, for both brands: - Mention counts across probe types. - Average rank positions.

Use it to see where a competitor beats you and on which models.


Gap Analysis

The Analysis tab generates an AI-powered strategic assessment by combining data from multiple sources.

Data Sources

Section What It Includes
Objectives Your brand priorities, positioning, and guardrails
Entities & Brands Your configured entities, brands, and queries
Associations Q2B + E2B association data
Relevance ARC relevance scores per brand
Citations Citation domains and brand mentions
Treewalker Parametric memory probe results
GSC Data Live Google Search Console query and page data
Query Gaps Queries with AI visibility but zero organic traffic
Optimizer Insights Cross-run Content Optimizer rank-factor attribution + signed rollup + per-run claims summary, plus legacy snippet patterns. Lets the analysis cite which rank factors moved your rank in past runs.

Running an Analysis

  1. Click Sections to see available data sections with token counts.
  2. Select which sections to include (or include all).
  3. Click Run Analysis.

The app sends the combined data to Gemini with a strategic analysis prompt. The output covers: - Strengths -- where your brand performs well. - Weaknesses -- areas of low visibility or relevance. - Gaps -- opportunities identified from cross-referencing AI and organic data. - Optimization Directions -- concrete recommendations. - Query Strategy -- query-level recommendations.

Query Gaps

Query gaps are queries that AI models associate with your brand/entities but that drive zero organic search traffic. These represent content opportunities.

Click Compute Gaps to identify them (requires GSC data).


Reports

The Report tab generates a comprehensive, print-ready HTML report covering:

  • Property overview (entity, brand, query counts).
  • Probe coverage summary.
  • Dashboard data sliced by category, model, and location.
  • Association details (Q2B, E2B, B2E) with per-model breakdowns.
  • Relevance scores by brand and model.
  • Citation analysis (domains, brand mentions, top URLs).
  • Brand hierarchy with inclusive/exclusive counts.
  • Visibility tracking trends.

The report downloads as an HTML file that can be opened in any browser or converted to PDF.


Exporting Data

Multiple export options are available across the app.

Export page

The Export page (in the Tools ▾ menu) groups the CSV downloads into cards: Associations, Citations, Relevance, Tracking & Visibility, Run Log, Configuration and Module Outputs.

The Data for Slides card downloads a ZIP with one Markdown file per section (14 sections, such as Citations Overview), each with a .meta.txt file and charts in Mermaid xychart-beta format, ready to build a slide deck.

The Full Property Report creates a printable HTML report (see Reports).

Many tabs also have their own Export CSV button, for example Brands, Prompts, Mentions, Competitor Gaps and Query Gaps.

Page Grounding Exports

Page grounding results can be exported as CSV, HTML, or PDF.


Getting Help

DEJAN App has an interactive AI assistant called Auxy, a chat guide that answers questions about how the app works, grounded in this user manual.

  • Open it from the help button at the bottom right of any page.
  • The Help link in the header opens the same chat. On the chat, New chat clears the conversation, the compass button starts a guided "Show me around" tour, and the dock button shows the chat as a sidebar.
  • The Manual link in the header opens this manual at /manual, with a Print button and an Ask the Help assistant button.
  • Ask it anything about using DEJAN App: how to add a property, connect Search Console, run visibility tracking, read your Citations and Mentions, use the Content Optimizer, manage your plan, and so on.
  • It knows your name, your plan and the names of your projects, so it can answer for your account.
  • It explains features in terms of what's on screen -- panels, tabs, and buttons -- and tells you when something isn't covered here rather than guessing.
  • You can send up to 10 messages per minute.

Auxy only knows DEJAN App. For anything outside the app, contact your admin.