DEJAN App · Intent Classification

Label every search query by intent or by your own entities

Intent Classification tags each of your Search Console and AI fan-out queries with intent labels or with your entities, so a list of hundreds of raw queries becomes groups you can filter, count and act on.

Start at app.dejan.ai
Illustration: a list of queries feeds an AI classifier, which sorts each query into one of four coloured bins, each marked with its own label shape.

The problem: a query list mixes brand demand with topic demand

Search Console gives you a flat list of queries. Citation Mining adds more: the searches AI platforms ran when answering your test prompts. A flat list does not say which queries come from people who already know your brand and which come from people who are looking for a topic you could own. Totals, CTR curves and content plans built on the whole list mix both groups.

Here is an example from our public demo project. Algoroo tracks Google rank volatility. In the 3 months from 1 July to 26 September 2026, Search Console recorded 189 queries and 619 clicks for algoroo.com. Of those clicks, 615 came from 29 queries that only name the brand, most of them misspellings such as "algaroo", "alguroo", "algoroq" and "алгоро". Topic queries such as "serp volatility checker" and "google algorithm tracker" brought 1 click and 0 clicks, and the split stays hidden until each query has a label.

How Intent Classification solves it

Intent Classification sends your queries to an AI model in batches of 10, together with a set of labels and their descriptions, and stores every label that applies to each query. A query can carry more than one label. You can classify by a label set (an intent taxonomy such as Search Intent or Funnel Stage) or by your own entity list, and the labels then appear as badges and filters across the Organic tab.

In the demo project the CLINT label set has five labels: COMMERCIAL, LOCAL, INFORMATIONAL, NAVIGATIONAL and TRANSACTIONAL. One run on 29 September 2026 classified 67 Search Console queries in 7 batches, with an average of 1.4 labels per query. No query received LOCAL.

Classification Results card in the DEJAN App: a bar chart and table with NAVIGATIONAL 41, INFORMATIONAL 37, COMMERCIAL 16 and TRANSACTIONAL 1.
The Classification Results card for the CLINT set: 41 queries are NAVIGATIONAL, 37 INFORMATIONAL, 16 COMMERCIAL and 1 TRANSACTIONAL.

Counted by query, the labels look balanced. Counted by clicks, they are not: queries labelled NAVIGATIONAL account for 616 of the 619 clicks in the 3-month window. The INFORMATIONAL and COMMERCIAL queries are the topic demand that Algoroo does not yet earn clicks for.

Two bar charts side by side. Queries per label: NAVIGATIONAL 41, INFORMATIONAL 37, COMMERCIAL 16, TRANSACTIONAL 1. Search Console clicks per label: 616, 2, 1 and 0.
Queries per label next to clicks per label. NAVIGATIONAL queries hold 616 of 619 clicks from 1 July to 26 September 2026.
Query table from the demo project with each query and its CLINT labels, for example "google algorithm tracker" with COMMERCIAL, INFORMATIONAL and NAVIGATIONAL.
Each query with its labels. "algoroo review" is COMMERCIAL and INFORMATIONAL; "adgooroo log-in" is NAVIGATIONAL and TRANSACTIONAL.

The same queries were also classified against Algoroo's entities. In entity mode, 56 queries matched at least one entity, 11 matched none, and each matched query was mapped to 25.9 entities on average. 52 of the 63 entities received at least one query. The 11 entities with no query include backlink analysis, link building and link analysis, which tells you that Algoroo's search traffic has no link-related demand yet.

Two demo queries classified two ways. "algoroo review": COMMERCIAL and INFORMATIONAL, and the entities algoroo score, seo monitoring tools, seo tool and seo tools. "how to monitor keyword volatility": INFORMATIONAL, and 17 entities including keyword ranking volatility and rank volatility.
The same query in a label set and in entity mode. Labels say why someone searched; entities say what the query is about.

How it works

Seven steps: pick a taxonomy, choose the query source, set filters and estimate, preview 10 queries, classify all queries, read and export, use the labels.
A classification from start to finish.
  1. Pick a taxonomy. Open Organic → Intent (or Settings → Intent) and use the "Classify queries by" list. Choose Entity, one of your label sets, a template (Search Intent, Funnel Stage, Content Type or CLINT), a blank set, or "Generate with AI".
  2. Choose the query source. Under Run classification, pick GSC (your Search Console queries), Fanout (the search queries AI systems ran in your Citation Mining runs) or Both. The line next to the list shows how many queries each source holds.
  3. Set filters and estimate. Set Min clicks/freq (10 by default when Search Console data exists) and keep Filter explicit on to tag explicit queries as EXPLICIT_CONTENT without sending them to the model. Click Estimate matching queries to see how many queries the run covers.
  4. Preview 10 queries. Preview (10 random) classifies a sample with the current labels, so you can fix label descriptions before the full run.
  5. Classify all queries. Pick "Only classify queries not yet classified" or "Re-classify all queries in this set", then click Classify all queries. The run works in the background in batches of 10 queries, with up to 100 batches in parallel, and a progress bar shows the batch count.
  6. Read and export. Classification Results shows a bar chart and the count for each label, then every query with its labels. Search the queries or filter by one label. Export CSV downloads the set, and "Export all (all sets)" downloads every set. Download PNG saves the chart.
  7. Use the labels. The labels become filters and badges on the other Organic sub-tabs, described below.

Label sets, templates and entity mode

OptionLabelsUse it when
Search IntentINFORMATIONAL, NAVIGATIONAL, TRANSACTIONAL, COMMERCIAL_INVESTIGATION, OTHERYou want the classic four intents, with OTHER as a fallback.
Funnel StageTOFU, MOFU, BOFU, OTHERYou plan content by funnel stage.
Content TypeQUESTION, COMPARISON, HOW_TO, REVIEW, LIST, OTHERYou want to know which page format each query asks for.
CLINTCOMMERCIAL, LOCAL, INFORMATIONAL, NAVIGATIONAL, TRANSACTIONALYou want the intent badges and intent filters in CTR Modelling. It has no fallback label, so an unlabelled query is a signal in itself.
Generate with AIYour ownYour queries need labels specific to your market. The Taxonomy Designer packs your queries, highest clicks first, into a 500,000-token budget and a Google model proposes labels with a description and examples. Custom instructions steer it, and Preview prompt shows how many queries fit.
Blank set or Bulk add labelsYour ownYou already have a taxonomy. Paste it as "LABEL_NAME | Description", one label per line.
EntityYour active entitiesYou want every query mapped to the entities you track. Edit the labels on Settings → Entities.

The label description does most of the work, because the model reads it for every batch. Labels can be added or deleted on the set's label card. "Clear this set's classifications" deletes the results and keeps the labels. On a pay-as-you-go project, taxonomy generation, preview and classification are billed from the credit balance.

Strategies and use cases

  • Separate brand traffic before you read a CTR curve. Tick NAVIGATIONAL under Branded Query Tags in CTR Modelling → Settings, and the Branded and Non-branded toggle catches misspellings that an owned-brand match misses. In the demo, 29 brand-only queries include spellings such as "algroo" and "algeroo".
  • Find topic demand you do not convert. Filter the results to INFORMATIONAL or COMMERCIAL. In the demo, queries such as "serp volatility checker" and "seo volatility tool" are COMMERCIAL and INFORMATIONAL. The 37 queries with either label brought 2 clicks in 3 months, which makes them candidates for a Content Optimizer run.
  • Classify AI fan-out queries as well as Search Console queries. Set the source to Fanout or Both to see what intent the searches behind the answers to your Citation Mining prompts carry, next to what people type into Google.
  • Find entities with no search demand. Run entity mode and compare the entity counts with your entity list. In the demo, 11 of 63 entities matched no query.
  • Clean the query reports. Exclude labels such as EXPLICIT_CONTENT or NAVIGATIONAL with the Query Exclusion Filter on Query → URL Mapping and Cannibalization.
  • Preview before every full run. If the 10-query sample comes back with the wrong labels, rewrite the label descriptions first, then classify.

How it connects to the rest of the app

Open the demo project's CLINT results or its entity classification, and see the intent badges in CTR Modelling.

Classify your own queries

Your first project includes a complimentary visibility baseline. Intent Classification uses credits.

Start at app.dejan.ai