# 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.

## 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
- 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. The brand consistency card and chart on the historical dashboard are blank for product properties.
- **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 nightly prompt runs — works identically.

## 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/dashboards/historical-metrics#share-of-influence-awareness) on the funnel hero.
- **[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 **Historical Metrics** dashboard works the same way it does for brand reports, with one adjustment: the **Brand Consistency** card and chart are blank because consistency scoring is skipped for products. Everything else — the AI Visibility Funnel, Share of Voice trends, Mentions, Citations, the platform and tag filters — populates the same way.

Product reports also feed the **nightly prompt runs** — every overnight 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
- [Historical Metrics](/docs/dashboards/historical-metrics) — Track product-level visibility over time
- [Prompts](/docs/dashboards/discovery-queries) — Manage discovery queries and tags
- [Key Messages](/docs/dashboards/key-messages) — Define product-specific narratives
- [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
