> For the complete documentation index, see [llms.txt](https://help.seoutils.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.seoutils.app/guide/keyword-metrics-data-source.md).

# Keyword Metrics Data Source

Choose where SEO Utils gets search volume from, see which source every number came from, and tell "no data" apart from a real zero.

Search volume, the monthly trend, CPC and competition all come from DataForSEO — but DataForSEO does not have one set of numbers. It has several, gathered in different ways, priced differently, and they do not always agree.

You choose which of them each check uses. Every checked number carries a label saying where it came from, and a keyword the source has no figure for says so, rather than showing zero searches.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2FDLo7IWrxFZG5lrTTbKZb%2FXnapper-2026-09-16-12.54.19.png?alt=media&amp;token=e13cfa0c-b552-4f0f-b480-29bdfacc663e" alt="The keyword metrics source dropdown open, showing six sources in three groups with their descriptions and prices"><figcaption><p>Six sources in three groups, each with what it does and roughly what it costs</p></figcaption></figure>

## Where a Search Volume Comes From

A search volume in SEO Utils is not a fact about the keyword. It is the answer one particular DataForSEO source gave, for that keyword, in that location and language, on the day you asked.

The sources do not all know the same keywords. The default is a database rebuilt monthly from Google Ads data — cheap, broad, and not complete. A keyword that is not in it comes back with **no figure at all**, which is a different thing from a figure of zero. Other sources ask Google Ads directly, or estimate from clickstream panels, and they cover keywords the database does not.

So two things decide what you see against a keyword:

* **Which source you asked.** You set a default, and you can override it for any single check.
* **Whether that source had anything to say.** No source covers everything, and a keyword one source has never heard of may have real demand according to another.

The rest of this guide is about choosing a source, reading its answer correctly, and telling at a glance which source produced any number in front of you.

## The Six Sources

The sources fall into three groups. The difference between the groups matters more than the difference between the rows inside a group, so start there.

| Source                                 | Best for                                                                                 | About $ per 700 keywords | Who can pay                    |
| -------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------ | ------------------------------ |
| **DataForSEO Labs database** (default) | Everyday checking. The cheapest source, and the one every tool starts from.              | $0.10                    | Rented key or your own account |
| **Google Ads live**                    | Keywords the database has never heard of, and figures that match Google Keyword Planner. | $0.19                    | Your own account only          |
| **Labs, clickstream-normalized**       | Separating close variants that the database lumps together.                              | $0.11                    | Rented key or your own account |
| **Labs, Bing-normalized**              | The same split, estimated from Bing data instead.                                        | $0.11                    | Rented key or your own account |
| **DataForSEO Search Volume**           | Split figures for *any* keyword, not only those already in the database.                 | $0.28                    | Your own account only          |
| **Clickstream (bulk)**                 | A second opinion from real browsing panels, independent of Google.                       | $0.19                    | Your own account only          |

{% hint style="info" %}
Prices are DataForSEO's list prices, shown for orientation. The estimate counts every keyword you send, so the real cost can be lower.
{% endhint %}

### Google Ads Numbers (Grouped, Rounded)

These are Google's own figures, as Google reports them to advertisers: rounded, and with close variants counted together. This is what most SEO tools show, and what your client will recognise.

* **DataForSEO Labs database** — Google Ads figures from DataForSEO's monthly database. The cheapest source, and the default. Its weakness is coverage: some keywords are simply not in it, and those come back with no figure.
* **Google Ads live** — the same kind of number, fetched from Google Ads at the moment you ask. It answers for keywords the monthly database misses, which is the usual reason a keyword that looked dead turns out to have real demand. It costs about twice the database price and needs your own DataForSEO credentials.

### Google Ads Numbers, Split Per Variant

Google reports one figure for a group of close variants. These three sources take that figure apart and estimate how much of it belongs to each individual keyword.

Use them when you are choosing between near-identical keywords and the grouped figure hides the difference.

* **Labs, clickstream-normalized** — the database figures, re-split using clickstream data.
* **Labs, Bing-normalized** — the same idea, re-split using Bing data. It covers fewer locations, and a location Bing does not cover comes back with no figure.
* **DataForSEO Search Volume** — re-split figures for any keyword, not only those already in the database. The most expensive of the six, and it needs your own DataForSEO credentials.

### Clickstream Numbers (Different Scale)

* **Clickstream (bulk)** — an independent estimate built from clickstream panels: what people were actually observed searching for, rather than what Google reports to advertisers. It needs your own DataForSEO credentials.

{% hint style="warning" %}
**Clickstream figures are not comparable with Google Ads figures.** They are measured differently and are not rounded, so they will not line up with anything else in your reports. For one real keyword, the clickstream estimate was **113,360** where Google Ads reported **135,000**.

Neither number is wrong — they answer slightly different questions. Compare clickstream volumes with other clickstream volumes, and try not to mix the two scales inside one report.
{% endhint %}

## Who Pays for Each Source

Three of the six sources can only be reached with **your own DataForSEO credentials**:

* Google Ads live
* DataForSEO Search Volume
* Clickstream (bulk)

The three Labs sources also work with a [rented DataForSEO key](/guide/rent-dataforseo-api-key.md), billed to your SEO Utils credits.

If you only have a rented key, those three sources cannot be selected. They appear in the dropdown with a lock icon and the reason underneath:

> Needs your own DataForSEO credentials. The rented key cannot reach this endpoint.

If you have no DataForSEO credentials at all, every source is locked with **"Add DataForSEO credentials to use this source."** until you add some.

{% hint style="info" %}
**If you have both a rented key and your own credentials**, each source uses whichever can reach it: the three Labs sources go through the rented key and are billed to your SEO Utils credits, and the other three use your own DataForSEO account. The cost line always names which one is about to pay.
{% endhint %}

{% content-ref url="/pages/gwYT1OgDY4moZ5jr2WTJ" %}
[Rent DataForSEO API Key](/guide/rent-dataforseo-api-key.md)
{% endcontent-ref %}

## Choosing a Source

You set a default once, and override it per check whenever you want something different.

### Set the Default

{% stepper %}
{% step %}

#### Open the Setting

In SEO Utils, go to **Settings → Services** and select **Keyword Metrics Source**, under **DataForSEO** in the settings sidebar.
{% endstep %}

{% step %}

#### Pick a Source

Open the **Default source** dropdown, choose a source and click **Save**.

Every check in every tool starts from this source unless you change it for that run.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2FOyW3Y9nmSl7lOzbiMoFg%2FXnapper-2026-09-16-12.55.05.png?alt=media&amp;token=fa2f2f39-8cd8-4938-b0f5-687fdd4db280" alt="The Keyword Metrics Source settings card with a default source selected and its cost explanation beneath"><figcaption><p>The default source, with what it fetches per batch and who pays for it</p></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Only the workspace owner can set the default. Everyone else sees the current value and the note "The default keyword metrics source is set by the workspace owner." They can pick a different source for an individual check.
{% endhint %}

### Choose a Source for One Check

Wherever you check keyword metrics, a **Keyword metrics source** dropdown sits at the top of the form, pre-filled with your default. Pick something else and only that run uses it; the default is untouched.

| Tool                     | Where the picker is                                                                                                                      |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Organic Rank Tracker** | Select keywords, then **Bulk Actions > Check Keyword Metrics**                                                                           |
| **Saved Keywords**       | Select keywords, then **Bulk Actions > Check Keyword Metrics**                                                                           |
| **SERP Extractor**       | Select keywords, then **Bulk Actions > Check Keyword Metrics**                                                                           |
| **SERP Clustering**      | The **Check Metrics** dialog, and the run form while its **Check Metrics** switch is on                                                  |
| **Bulk Check Mentions**  | The **Check Metrics** button, and the run form while its **Check Metrics** switch is on                                                  |
| **Bulk Autocomplete**    | The **Check Metrics** button on the report                                                                                               |
| **Keyword Explorer**     | The **Keyword data source** dropdown on the search itself (see below), and the **Check Metrics** button on the autocomplete keywords tab |
| **Bulk Keyword Metrics** | The **Data source** dropdown on the Bulk Keyword Analysis card                                                                           |

**Google Search Console** works a little differently. Its source is saved per property rather than chosen per check, so two properties can use different sources. Set it under the property's **Keyword Metrics** card, in the **Keyword Metrics Source** field — the property's manual checks and its automatic checks both use it. Leave it alone to follow the global default.

{% content-ref url="/pages/caypbM1HCIZmcBDOjEO9" %}
[Keyword Metrics](/guide/google-search-console/keyword-metrics.md)
{% endcontent-ref %}

### The Keyword Explorer Search

The Keyword Explorer is different again, because its source decides the **search**, not just a metrics check. A **Keyword data source** dropdown sits under the search bar, and the same control appears in the header of the overview and suggestions pages so you can switch without starting over.

It offers **two** of the six sources rather than all of them:

| Source                       | What you get                                                                                               | About $ per search |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------ |
| **DataForSEO Labs database** | Suggestions with search volume, keyword difficulty, search intent and backlink data on every row.          | $0.04              |
| **Google Ads live**          | Fresh volumes, and keyword ideas the database has never heard of. Volume, trend, CPC and competition only. | $0.10              |

Only these two can **find** keywords. The other four price a list of keywords you already have; they cannot produce one, so the Keyword Explorer does not offer them.

{% hint style="info" %}
Pick **Google Ads live** when a keyword returns no search volume but you believe it has demand — that is usually the database not holding the keyword, rather than nobody searching for it.
{% endhint %}

#### What Changes in Google Ads Mode

Google Ads reports volume, monthly trend, CPC and competition, and nothing else. So in that mode:

* The **Keyword Difficulty**, **Intent**, **Backlinks** and **Results** columns are hidden from the suggestions table, rather than shown empty.
* The **seed keyword you searched for** still gets its difficulty, intent and backlinks — those come from the Labs database, and only that one keyword is looked up there. If the database has never heard of it, those cards say so and the volume is still there.
* Paging through the results and re-sorting them cost nothing. A Google Ads search is paid for once, however many keywords come back.

To get difficulty for particular suggestions, select them in the table and use **Bulk Actions**, which checks them properly.

### Read the Cost Line

Under the dropdown, one line tells you what the check will cost and who pays for it:

> About **$0.19** for 700 keywords · Billed to your DataForSEO account

It updates the moment you change the source, so you can compare two sources before committing to either. The payer is always one of **"Billed to your DataForSEO account"** or **"Billed to your SEO Utils credits"**.

Above it, a short note explains what the source actually does for the money — for Google Ads live, for example:

> Makes two requests per batch of 700 keywords: one to Google Ads (about $0.09) for volume, CPC and competition, one to DataForSEO Labs (about $0.10) for keyword difficulty and search intent. About $0.19 per 700 keywords, versus about $0.10 with the Labs database.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2FVHINNg3OKHXx7J9sbh2c%2FXnapper-2026-09-16-12.55.47.png?alt=media&amp;token=cc13ff86-b287-4b36-813b-1b53a6be8895" alt="The Bulk Check Keyword Metrics dialog showing the source picker, the cost line with its payer, and the missing-data switch"><figcaption><p>The cost line names the price and the payer, and updates as you change source</p></figcaption></figure>

{% hint style="info" %}
Keyword difficulty and search intent always come from the DataForSEO Labs database, whichever source you choose — no other endpoint provides them. That is why three of the six sources make a second request per batch, and why their price includes it.
{% endhint %}

## A Dash Is Not a Zero

Two very different situations can sit in a Search Volume column, and telling them apart is the difference between discarding a keyword and discovering one.

* **A dash (—)** means the source was asked and had no figure for this keyword. It says nothing about demand. A different source may well have a number for it.
* **A `0`** means the source answered, and the answer was zero. Nobody is searching for it.

In CSV and Excel exports, a keyword with no figure gets an **empty cell**, not a `0`. A column full of zeros drags your averages down and turns unknown keywords into dead ones; an empty cell is ignored by the same formulas.

{% hint style="success" %}
A dash is an invitation to try a different source. It is the main reason to run **Google Ads live** or **DataForSEO Search Volume** over a list — both answer for keywords the monthly database has never seen.
{% endhint %}

## Where Every Number Came From

### The Label Under the Number

Every checked search volume carries a small coloured label beneath it, naming its source and the month the figure describes:

> ● **Labs · Aug 26**

The colour of the dot tells you the group at a glance — one colour for the Google Ads numbers, another for the split-per-variant sources, another for clickstream — so a report that mixes two scales is visible row by row.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2FAfh9pKWokZCCtcOeFqQ7%2FXnapper-2026-09-16-12.58.54.png?alt=media&amp;token=13c1a5b9-c08c-4466-bc41-947f7389d0f6" alt=""><figcaption></figcaption></figure>

The label has four forms:

| What you see             | What it means                                                                      |
| ------------------------ | ---------------------------------------------------------------------------------- |
| **Labs · Aug 26**        | The source answered with a figure, and the figure describes that month.            |
| **No data · Google Ads** | The source was asked and had nothing for this keyword. The number above is a dash. |
| **Imported**             | The number is one you imported yourself, so no source is credited for it.          |
| *(no label)*             | The keyword has never been checked.                                                |

Hover the label for the full story, written out in full names:

> Volume, trend and CPC: Google Ads · Difficulty and intent: DataForSEO Labs · Checked 9 Sep 2026

{% hint style="info" %}
The label uses a short name to keep the Volume column narrow; the tooltip uses the full name. So the label may read **DFS Volume** where the tooltip, the exports and the dropdown all say **DataForSEO Search Volume**. They are the same source.
{% endhint %}

The Keyword Explorer's suggestions carry the same label, naming the source the **search** used. Every row there shows the same one, because they all came from a single search — unlike a keyword table, where each row was checked separately and the labels can differ. It is worth reading anyway: the autocomplete keywords sitting beside the suggestions are stored results from earlier checks, and can easily be on a different source from the search you just ran.

### In Exports

Exports built from your stored keyword metrics carry a **Volume Source** column immediately after **Search Volume**, written with the full source name — because a spreadsheet has no tooltip to hover, and the person who opens it may not have SEO Utils at all.

It carries the same four states: the source name, `No data · <source name>`, `Imported`, or an empty cell for a keyword that was never checked.

You will find it in the Organic Rank Tracker keyword positions and keyword fluctuation exports, Saved Keywords, both sheets of the SERP Clustering export, Bulk Check Mentions items, Bulk Autocomplete keywords, the Keyword Explorer autocomplete keywords export, and Bulk Keyword Metrics.

The Keyword Explorer **keyword suggestions** and **keyword overview** exports carry it too, with one difference: every row names the same source, because all of the figures came from the one search you ran rather than from separate checks.

{% hint style="info" %}
A few exports still have no source column: Ads Vision, Traffic organic keywords, Content Gap, and the Keyword Explorer Bing related keywords export. Their figures come from places none of the six sources describes, so there is no source to name.
{% endhint %}

The Organic Rank Tracker printable report shows the same thing as a muted second line under each number, so a PDF you send a client says where its figures came from.

### Filter and Sort By Source

Tables that show keyword metrics have a **Source** filter in their toolbar. It lists the six sources plus **Imported** and **No source**, so you can isolate exactly the rows you want — for example, every keyword in a report that is not on the source you have settled on.

The Volume column header menu also offers **Source Asc** and **Source Desc** for sorting.

<figure><img src="https://1176579443-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2DwV6sJBiKjUHMDggb4d%2Fuploads%2FFKr1vdRzHM7X3qORhMhc%2FXnapper-2026-09-16-12.56.33.png?alt=media&amp;token=ec95212c-ffcf-47b2-9517-48b1c6dae3a1" alt="A keywords table with source labels under each volume and the Source filter open, listing the six sources plus Imported"><figcaption><p>The Source filter, over a table showing both a real figure and a "No data" dash</p></figcaption></figure>

## Stored Results, and Moving a Report to Another Source

A check writes results for the keywords in that check, and for nothing else. Each keyword holds one stored result — its figure, the source that produced it, and when it was checked — and that result stays put until you check that keyword again.

Two consequences worth knowing:

* **Changing the default source does not recalculate anything.** It decides what the *next* check asks for. Every figure already stored keeps the source it was checked with, and the source label under it keeps saying so.
* **A stored figure stays even when you disagree with it.** A `0` a source genuinely returned is a result like any other, and it persists until you re-check that keyword with the source you would rather trust.

Moving a report onto a different source is therefore something you do on purpose, not something that happens to you. SEO Utils never prompts you to do it — re-checking costs money, and when to spend it is your decision. When you decide to, [Keeping the Cost Down](#keeping-the-cost-down) explains how to pay only for the keywords that need it.

## Keeping the Cost Down

Checking metrics from a keyword table gives you a switch called **Only Check Keywords Missing Search Volume Data**, on by default. Leave it on and SEO Utils sends only the keywords that actually need a check:

* never checked
* checked with a different source than this check uses
* no figure from the source yet, and not retried this month
* a figure from an earlier month — DataForSEO publishes new figures monthly, so a keyword checked recently can be sent again once its data refreshes
* for Google Ads live and the clickstream sources only: a figure that arrived with another tool's results, so the difficulty and intent those sources fetch separately were never collected — and not retried this month

Turn it off to re-check every selected keyword, whatever state it is in.

The "not retried this month" wording is what stops you paying over and over for a keyword nobody has data for. It is tried again once per calendar month, not on every run.

{% hint style="success" %}
**This is how you move a report onto a different source.** Select the source, run a check with the switch on, and you pay only for the keywords that are not on that source yet. Run it again straight afterwards and nothing is fetched at all.
{% endhint %}

{% hint style="info" %}
SERP Clustering and Google Search Console have no such switch, and neither does the **Check Metrics** step inside a run form. They always check only the keywords with missing or out-of-date metrics, so re-running them costs nothing for keywords that are already current.
{% endhint %}

{% content-ref url="/pages/aMKQGvTre3Yi5VDxt9Pv" %}
[How to Save Costs when Using DataForSEO](/guide/how-to-save-costs-when-using-dataforseo.md)
{% endcontent-ref %}

<details>

<summary>How the estimated cost is calculated</summary>

The estimate on the cost line is built from DataForSEO's list prices and the number of keywords you are about to check.

1. Keywords are sent in batches of **700**, whichever source you pick.
2. Each batch costs a fixed amount per request, plus — for some sources — a small amount per keyword.
3. **Google Ads live**, **DataForSEO Search Volume** and **Clickstream (bulk)** make **two requests per batch**: one to the source for the volume and trend, and one to the DataForSEO Labs database for keyword difficulty and search intent. Both are included in the price shown.
4. **Labs, clickstream-normalized** and **Labs, Bing-normalized** make a single request, but asking for clickstream data doubles the per-request part of its price. That is why they cost a little more than the plain Labs database rather than twice as much.
5. The estimate counts every keyword you send, so the real cost can be lower.

</details>

<details>

<summary>Why clickstream volumes look so different from Google Ads volumes</summary>

Google Ads figures are built for advertisers. They are:

* **Rounded** to tidy numbers — 135,000 rather than 134,812.
* **Grouped**, so close variants of a keyword share one figure.

Clickstream figures are built from panels of observed browsing activity. They are:

* **Unrounded**, because they are a measured estimate rather than a reported bracket.
* **Per keyword**, with no grouping.

That is why the two scales do not line up, and why a clickstream figure of 113,360 can sit beside a Google Ads figure of 135,000 for the same keyword without either being wrong.

The practical rule: pick one scale per report and stay on it. The coloured source label under every volume makes a mixed report easy to spot.

</details>

## Related Guides

{% content-ref url="/pages/UGEP7HzFTFJgu8RC3A14" %}
[SEO Data Source](/guide/seo-data-source.md)
{% endcontent-ref %}

{% content-ref url="/pages/gwYT1OgDY4moZ5jr2WTJ" %}
[Rent DataForSEO API Key](/guide/rent-dataforseo-api-key.md)
{% endcontent-ref %}
