# Placement Scoring

[Coverage Groups](/docs/dashboards/coverage-groups) score one client's placements, because they live inside that client's property. **Placement Scoring** is the same measurement without that requirement: it sits at the organization level, every row names the brand it is about, and a brand you have never set up here works exactly as well as one you have tracked for a year.

That makes it the right surface for an agency measuring its whole book of business in one pass, for a new-business pitch where the prospect is not a client yet, and for a category benchmark where most of the brands never will be.

<Callout>
Scoring is currently **free**. Every placement scored is counted against your organization so the volume is visible, and a monthly ceiling can be configured, but no ceiling is set by default and nothing is debited from your credit balance.
</Callout>

## Where to find it

**Placement scoring** is in the organization sidebar, between Organization and Settings. Any member of the organization can use it, on any active plan.

Each list you create is a named set of scored placements: *"Q3 client coverage"*, *"Northwind pitch — proof set"*, *"Category benchmark, home improvement"*.

## Importing rows

Click **New scoring list** and the import wizard opens. It has four steps.

### 1. Paste or upload

Paste straight out of a spreadsheet, or upload a `.csv`, `.tsv` or `.txt` file. Files are read in your browser; nothing is sent until you confirm the brands.

The format is two columns, URL first, brand second:

```text
https://techcrunch.com/2026/07/14/acme-paint-series-b    acme-paint.com
https://www.theverge.com/2026/07/09/best-interior-paints acme-paint.com
https://endpoints.example/northwind-expands              northwind.example
```

Tabs, commas and semicolons all work, quoted cells are handled (so a headline containing a comma is safe), and a header row is detected and skipped. Up to 1,000 rows per import.

### 2. Match columns

The wizard guesses which column holds URLs and which holds brands from the header row, falling back to first column and second. Change either if it guessed wrong.

If your list is a bare column of URLs for one brand, leave the brand column set to **No brand column** and fill in **Default brand for rows without one**. That value is applied to every row whose brand cell is empty.

### 3. Review brands

This is the step that matters. A brand's name and aliases are what the scorer looks for in each page, and a name we get wrong scores every one of that brand's URLs as *No brand mention*. So before anything is written, the wizard shows you what each brand would become:

| Badge | Meaning |
|-------|---------|
| **New** | No record here yet. It will be created as a hidden brand record. The name and aliases are editable, and this is the only convenient moment to fix them |
| **Existing client** | A property you already track. Reused as-is |
| **Prospect** | A [prospect](/docs/dashboards/prospecting) already in your workspace. Reused as-is |
| **Already scored here** | A hidden brand record created by an earlier import. Reused as-is |

Values we cannot read as a brand are listed separately, and the rows naming them are skipped rather than failing the import.

### 4. Result

The summary reports rows added, rows already in the list, brands created, brands reused, and every row that was skipped with its reason. Scoring then runs in the background and the table fills in as scores land.

## How brands are detected

Each brand value is classified by its shape:

- **A bare domain** (`acme-paint.com`) is a company. Spyglasses looks up the site's identity to propose a company name and a short list of aliases.
- **A URL with a path** (`meridian.example/products/flow`) is a product. Scoring judges how well the page positions that product rather than the company behind it.

Person subjects are not supported yet.

### Hidden brand records

A brand that is not already in your workspace becomes a **scoring-only** record. It carries only what scoring needs: a name, its aliases, and the site's categories. It does not appear in your Clients grid, your property switcher, your Prospects list or the MCP property tools; it runs no prompts, produces no reports, costs nothing to keep, and sends nobody any email.

If you later add that same brand as a real client or prospect, the hidden record is promoted rather than duplicated. Your existing scores stay attached to it and the rows in your scoring lists keep working.

### When a placement says "No brand mention"

The scorer will not score a page it cannot find the brand named in. That result is usually correct and worth knowing. When it is wrong, it is because the publisher used a name we do not have: a former name, an abbreviation, a product instead of the company.

Rows in that state offer **Edit brand aliases & rescore** in the Brand column. Add the name the publisher actually used and save; the placement is rescored immediately. Aliases are matched as plain text anywhere in the page, so keep them long enough to be unmistakable — a three-letter alias will match inside unrelated words.

## The table

| Column | Description |
|--------|-------------|
| **Coverage** | The article's title and URL, with its publisher domain |
| **Brand** | The brand this row is scored against, with its domain. A brand you track links to the placement under that client; a hidden brand shows a **Scoring only** badge and, when the scorer found no mention, the repair action above |
| **Type** | The publisher's media type and the page's content format, classified in the background after import |
| **AIPQS** | The [AI Placement Quality Score](/docs/dashboards/placements) and tier for this mention. Shows *Scoring…* while the job runs |
| **AIPVS** | The publisher's [AI Placement Value Score](/docs/dashboards/publisher-lookup) and tier — scored for this row's brand, so the same outlet can be worth more to one brand than another |
| **Author** | The article's author, from the fetched page |
| **Published** | The publication date, when the page exposes one |
| **Added** | When the row was imported |

One URL can appear twice under two different brands. That is deliberate: a roundup naming four of your clients is four placements, each scored on its own merits.

There is no **Cited** column here, and no AI Citations page. Citation counts come from one property's tracked prompts and reports, so they have no meaning for a list that spans brands. For citation data, use a [coverage group](/docs/dashboards/coverage-groups) inside the client's property.

## Exports

- **CSV** exports the whole list, including two extra columns a property export does not have: **Brand** and **Brand Domain**, right after Domain. Everything else matches the property export column for column.
- **PDF** renders the same list as a client-ready report.

Both cover the entire list, not the filtered view.

## Related

- [Coverage Groups](/docs/dashboards/coverage-groups) — The same scoring inside one client's property, with citation tracking and project goals
- [Placements](/docs/dashboards/placements) — What AIPQS measures and how a placement analysis reads
- [Publisher Lookup](/docs/dashboards/publisher-lookup) — What AIPVS measures
- [Prospecting](/docs/dashboards/prospecting) — Turning a scored brand into a tracked prospect
- [Coverage automation API](/docs/api/coverage-automation) — The same imports over the public API
