# Tracking Products

Spyglasses can run an AI visibility report on a *product*, not just a parent brand. Use it when a brand has multiple distinct products with their own positioning, audience, or buyer journey — and you want to see how each one shows up in AI answers independently of the corporate-level brand.

> Product overview: [Product Tracking](/product-tracking) — what it does, who it's for, and how to get started.

## What You'll Learn

- When to track a product vs. just the parent brand
- How to add a product and what the "Product page URL" controls
- How the brand snapshot is built from a single seed page
- How a product report differs from a brand report
- Which modules a product property gets — projects, PR, locations, SEO opportunities, the Citation Optimizer — and which stay brand-only
- How to use key messages and tags to slice product-level metrics

## When to Use a Product Report

A product report is the right tool when a single domain hosts multiple things you want to track separately. For example:

- A motorcycle manufacturer's *Road Glide Limited* vs. *Pan America 1250* — same brand, completely different buyer prompts.
- A SaaS company's *Analytics* and *CDP* product lines — different buyers, different competitors, different category framings.
- A retailer's *Apparel* and *Home Goods* categories — same domain, different shopping intent.

If you only need a single rollup for the whole company, run a brand report instead — it crawls the root domain and gives you one view across everything.

## Adding a Product

In **Properties → Track something new**, choose **Product** as the subject type, then fill in:

- **Product page URL** — a representative page for the product, e.g. `https://www.harley-davidson.com/us/en/motorcycles/road-glide-limited.html`. This is the *seed URL* — the anchor for everything downstream. The crawl, the brand snapshot, the report's domain context, and the AI prompts all derive from this page rather than from a root domain.
- **Display name** *(optional)* — a friendly name shown in the dashboard, e.g. `Road Glide Limited`. Falls back to the snapshot's extracted name if left blank.

The form validates the URL up front — it must be an `http://` or `https://` URL — so a misspelled or non-public link fails before the report starts.

## The Brand Snapshot

A product property's brand snapshot is built from a seed-URL crawl, not a full-domain crawl. The crawler:

1. **Always crawls the seed URL itself** so the product's own page is the anchor of the snapshot.
2. **Discovers sibling product pages** by scanning the seed page's navigation and in-content links. Links sharing the seed's first path segment (e.g. other `/products/` pages) get a scoring bonus so the page set stays in the product section instead of drifting into corporate nav.
3. **Falls back to domain-root discovery** when the seed alone yields too few pages — useful for surfacing context like /about or /pricing that a deep product page may not link to directly.

The resulting `BrandSnapshot` contains the product's name, tagline, category, ICP, problems solved, features, pricing, differentiators, and other fields — same shape as a brand snapshot, just scoped to the product's positioning.

### Manual entry

If the product page is JS-heavy or behind authentication and the crawl can't extract enough content, you can author the snapshot by hand. On the property's brand snapshot page, click **Enter manually** to create a blank snapshot, then fill in each field directly. Manual edits are preserved across rebuilds.

### Rebuilding the snapshot

You can rebuild the snapshot at any time from the property's settings. For a product, the rebuild reuses the same seed-URL crawl path — if the page set has changed (new sibling products, updated copy), the rebuild picks up the new content. Manual field overrides survive the rebuild by default; pass *Discard overrides* to start from a clean crawl.

## What's Different from a Brand Report

Product reports run the **same discovery and recommendation pipeline** as brand reports — AI Visibility section, competitor analysis, citations, historical metrics, funnel hero, tracked-attribute matching, the lot. With three intentional differences:

- **Crawl scope** — pages come from the seed URL's neighborhood, not the root domain. This keeps the snapshot focused on the product's context instead of diluting it with corporate-level content.
- **No brand-consistency scoring** — the "does AI describe this thing consistently?" score is a corporate-brand signal that doesn't translate well to product-level evaluation. Product reports get a snapshot for downstream use but skip the consistency loop. Nothing computes consistency checks for a product, so the Brand Consistency card is **not rendered at all** on a product's [Brand Dashboard](/docs/dashboards/brand-dashboard) — it isn't an empty card waiting to be filled.
- **Robots.txt and Brandfetch** use the seed URL's host. If the parent brand's robots.txt blocks the crawler, the product report fails the same way a brand report on that domain would.

Everything else — discovery prompts, key-message tracking, citations, share of voice, share of influence, the AI Visibility Funnel, custom tags, and the daily prompt runs — works identically.

## What a Product Property Can Do

A product is treated as a subject with a market position of its own: competitors, earned coverage, a share of the answer, its own geography. Every module that measures or acts on that position is available to a product. The dividing line is narrower than "brand vs. product" — it is whether the module needs a *crawlable site the product itself owns*, which a product doesn't have, because its pages live on the parent company's domain.

### Projects — PR and General

Products get [Projects](/docs/dashboards/projects), so a launch or a category push can be tracked as a campaign with goals, assigned prompts, annotations and a weekly summary email. Two of the three project types are available:

- **PR projects** — track earned placements for the product launch.
- **General projects** — anything that isn't strictly one or the other.
- **SEO projects are not offered.** An SEO project tracks a page group on the property's *own* site, and a product has no page set of its own to group. Track the product's pages in an SEO project on the parent brand property instead.

### The PR toolchain

The whole earned-media workflow works on a product exactly as it does on a brand:

- [Placements](/docs/dashboards/placements) — score an individual mention of the product on a specific page.
- [Coverage Groups](/docs/dashboards/coverage-groups) — bulk-import a month of launch coverage and attach it to a PR project as a single goal.
- [Publisher Lookup](/docs/dashboards/publisher-lookup) — score any publisher domain in the product's context before you pitch it.
- **Earned Media** — the dashboard module that ranks the outlets citing your competitors but not you, built straight from the product's citation data.

### SEO opportunities against the parent site

The grounding-search gap analysis **does** run for products. It needs a focal domain to check rankings against, and the product borrows one: the host of its seed URL — that is, the parent company's site, which is exactly where the product's pages actually rank. So a gap on a product means "the assistant ran this grounding search, a competitor's page was there, and no page on your parent site was." The [SEO Opportunities](/docs/dashboards/brand-dashboard) module and its drill-down behave the same way they do on a brand, including the hand-off into the Citation Optimizer.

### Locations

A product can parent [LOCATION sub-properties](/docs/ai-visibility-features/location-tracking) just as a brand can — an energy drink launching in a new country, a model line sold in three markets. The mechanics are identical: the location inherits the product's snapshot, company name and prompts; it owns its own competitors; and the daily fan-out runs the product's canonical prompts once per market. Billing follows the same rule — a tracked prompt on a product with N locations consumes **N + 1** prompt runs per day. See the [Locations dashboard](/docs/dashboards/locations).

### Citation Optimizer — URL and Draft

The [Citation Optimizer](/docs/dashboards/citation-optimizer) opens on a product in two of its three source modes:

- **Paste a URL** — score any live page against a tracked fan-out, including a product page on the parent site or an earned-media placement.
- **Paste a draft** — score raw markdown for a page you're still writing.

**Pick a page** is not offered. That mode ranks your own crawled and indexed pages, which only exist for a property with its own domain — so a product also skips the one-time crawl-and-index setup step, and a deep link that asks for page mode lands in URL mode instead.

### Owned-versus-earned citations

Citation attribution keys off the same focal domain: a citation of a page on the seed URL's host counts as **owned media** for the product, everything else as **earned**. The owned/earned split on the Citations card and in [Citation Intelligence](/docs/dashboards/citation-intelligence) is therefore meaningful for a product, not a permanent 0:100.

### Visibility over time

Unchanged, and already worked before any of the above: historical metrics, the trend charts and the drill-downs from every card populate for a product exactly as they do for a brand.

## What Products Don't Have

These are withheld on purpose, and each for the same reason — they assume a crawlable site belonging to the subject:

- **[AI Readiness Audit](/docs/dashboards/ai-readiness-audit) / Site Readiness** — audits crawl and score a whole site. Run it on the parent brand property; the product's pages are covered there.
- **[FAQ Generator](/docs/dashboards/faq-generator)** and the rest of the Content section — generation is anchored to a crawled page record on your own domain. Brand-only.
- **Pages and sitemap import** — the product has no page set of its own to import.
- **[AI Traffic Analytics](/docs/dashboards/ai-traffic-analytics), bot traffic, recrawl frequency and traffic control** — all measured by the tracking script on your own site.
- **Robots.txt analysis** — a domain-level concern, meaningful on the parent brand.
- **SEO projects** — see above.
- **Brand Consistency** — nothing computes consistency for a product, so the card is not shown.

## Key Messages and Tags for Products

Two existing features become especially useful for products:

- **Product-specific [Key Messages](/docs/dashboards/key-messages)** — capture the differentiators that matter for *this* product. A motorcycle product's positive key messages might be *"Best touring motorcycle for long-distance comfort"* or *"Industry-leading cornering technology"* — claims that don't necessarily apply to the parent brand as a whole. Positive key messages drive [Share of Influence](/docs/ai-visibility-features/awareness-tracking) at the awareness stage of the funnel.
- **[Custom tags](/docs/dashboards/discovery-queries#custom-tags) on discovery prompts** — when a product has multiple sub-audiences or use cases, tag prompts with `touring`, `sport`, `commuter` (or whatever your segmentation is) and slice the funnel by tag to see how the product performs with each audience.

## Historical Trends

The [Brand Dashboard](/docs/dashboards/brand-dashboard) works the same way it does for brand reports, composed from a product-specific set of modules. Share of Voice, Competitors, Key Messages, Citations and goal impact, Earned Media and SEO Opportunities — along with the buyer's-journey band, Mentions, and the platform and tag filters on the visibility drill-down — populate exactly as they do for a brand, and the Locations module appears once the product has location children. Two modules are absent: **Site readiness** and **AI Traffic**, which assume a crawlable site of the product's own. **Brand Consistency** is absent too, and for a different reason — no job computes consistency checks for a product, so rather than showing a permanently empty card, the slot is left out.

Product reports also feed the **daily prompt runs** — every scheduled execution against the product's discovery queries updates the funnel and the trend charts, so you can see week-over-week movement without waiting for a fresh full report.

## Practical Tips

- **Pick the seed URL carefully.** It should be the page that *best represents the product on its own terms* — typically the product detail page, not a category landing page. A category landing page often dilutes the snapshot with cross-product content.
- **Author the discovery prompts before the first report.** The auto-generated prompts use the snapshot, which is built from the seed page. They're a good starting point but rarely capture every nuance — review them and add product-specific ones (especially awareness-stage prompts that frame the *problem* the product solves, not just its category).
- **Use the parent brand as a benchmark.** Run a brand report on the parent domain alongside the product reports. You'll often see the parent brand's SoV is higher than any individual product's — that gap is the opportunity for product-level optimization.
- **Tag prompts when you have multiple products on the same property.** If you've tagged prompts as `touring`, `sport`, etc., you can switch between tag slices on the funnel hero without re-running anything.

## Related

- [AI Visibility Reports](/docs/dashboards/ai-visibility-reports) — Run reports against your product properties
- [Brand Dashboard](/docs/dashboards/brand-dashboard) — The module grid a product property gets, and its drill-downs
- [Projects](/docs/dashboards/projects) — Run the product's prompts daily and track a launch as a PR or general campaign
- [Placements](/docs/dashboards/placements) — Score an individual mention of the product on a specific page
- [Coverage Groups](/docs/dashboards/coverage-groups) — Bulk-import launch coverage and track it as one project goal
- [Publisher Lookup](/docs/dashboards/publisher-lookup) — Score a publisher in the product's context before you pitch
- [Citation Optimizer](/docs/dashboards/citation-optimizer) — Score a URL or a draft against a real fan-out query
- [Locations](/docs/dashboards/locations) — Give the product a per-market view when it launches in a new geography
- [Prompts](/docs/dashboards/discovery-queries) — Manage discovery queries and tags
- [Key Messages](/docs/dashboards/key-messages) — Define product-specific narratives
- [Tracking Locations & Franchises](/docs/ai-visibility-features/location-tracking) — How location sub-properties work under a brand or a product
- [Tracking Awareness](/docs/ai-visibility-features/awareness-tracking) — Measure how your product framing appears before any brand is named
- [Tracking Individuals](/docs/ai-visibility-features/person-tracking) — The same idea, applied to a person rather than a product
