SkuWatch AI Visibility Agent Scan your store or site

Competitor entities

Canonicalizing Competitor Brands, Retailers, and Marketplaces

Short answer

Keep brands, direct storefronts, retailers, marketplaces, and regional domains distinct in Shopify competitor evidence.

By skuwatch editor

An answer can mention a brand while citing Amazon, a publisher, or the brand’s Shopify store. Those are different entities and relationships.

{
  "brand":"Ring",
  "seller":"Ring Australia",
  "domain":"ring.com",
  "market":"AU",
  "source_class":"official_storefront"
}

Canonicalization

  • normalize registrable domain
  • preserve regional host/path
  • identify retailer versus manufacturer
  • connect products by stable identifiers where present
  • keep marketplace seller identity
  • store aliases with provenance

MyFonts is both a commerce destination and licensing marketplace; treating every listed typeface publisher as the retailer would be wrong. Mattel’s regional path and CAD offer must remain market-scoped.

Ambiguous matches abstain. Competitor share calculations use canonical entity IDs, not raw brand strings.

Why the domain is not enough

A registrable domain answers only one question: which web property supplied the source? It does not establish who manufactured the product, who fulfilled the order, which market the offer belongs to, or whether the cited page is canonical. A marketplace product can expose a manufacturer brand, a marketplace seller, and a fulfilment party at the same time. Collapsing those roles produces misleading competitor reports.

SkuWatch stores the relationship instead of forcing every observation into one competitor string:

{
  "source_entity_id": "retailer:example-au",
  "product_brand_id": "brand:example",
  "relationship": "authorized_retailer",
  "market": "AU",
  "evidence_url": "https://example.com/au/products/model-123",
  "observed_at": "2026-07-27T18:40:00Z"
}

The relationship remains unknown unless the source supports it. A product listing is not enough to infer authorization.

Normalization pipeline

  1. Resolve redirects while retaining every hop.
  2. Convert the final hostname to lower case and remove a leading www only for comparison.
  3. Calculate the registrable domain using a maintained public-suffix list.
  4. Preserve locale paths, country subdomains, and currency because they affect the commercial offer.
  5. Extract organization, brand, seller, SKU, GTIN, MPN, and canonical URL from visible HTML and JSON-LD.
  6. Match exact identifiers before names.
  7. Record the rule and evidence that produced the match.
  8. Abstain when two candidate entities remain plausible.

Do not merge example.com, example.com.au, and au.example.com automatically. They may share a brand while representing separate sellers, catalogs, or market policies.

Collision fixtures

Entity resolution needs fixtures for ordinary-word brands, regional storefronts, retailer citations, marketplace listings, and provider redirect URLs. A useful test table includes the input URL, visible brand, seller, expected entity IDs, expected relationship, and whether human review is required.

answer text contains brand only       -> brand_mentioned
official product URL cited            -> official_storefront_cited
retailer product URL cites the brand  -> third_party_product_cited
marketplace search page cited          -> marketplace_category_cited
ambiguous plain word                   -> needs_review

Verification

Run the same fixtures after changing domain normalization, alias rules, or entity data. The release fails if a brand-only mention becomes an official storefront citation, if an AU observation is merged into a US offer, or if an unknown seller is promoted to the manufacturer. This keeps competitor counts explainable and prevents a normalization update from silently rewriting historical observations.

Related references: mention evidence levels and Shopify canonical URL behavior.

Community discussion

Add to the article

Ask a technical question, share a storefront result, or challenge a conclusion with evidence.

Comments are public. Do not post customer data, credentials, private store information, promotional spam, or unsupported accusations. Comments may be moderated.