Easy Brand Page docs

Features

Brand-to-collection mapping

How Easy Brand Page decides where each brand card links - automatic collection matching, vendor search URLs, and manual overrides.

Updated May 20, 2026

Every brand card on your directory needs to link somewhere. Easy Brand Page figures that out automatically in three stages, with overrides available at every level.

The three-stage matcher

When a customer clicks a brand card, the link target is decided like this:

  1. Manual mapping check. If you've explicitly mapped this vendor to a collection in the admin, use that.
  2. Auto-match check. If "Match brands to collections" is on in Settings, look for a collection whose handle matches the vendor name (normalised - "Nike" → nike, "Wren & Oak" → wren-and-oak). If found, use it.
  3. Vendor-search fallback. Otherwise, use the search URL template. By default that's /collections/vendors?q=<brand>, which is Shopify's native vendor filter.

The matcher runs at sync time and caches the result. Customers never wait for a lookup; the link is rendered as part of the static Liquid output.

Confidence levels

Internally, Easy Brand Page tags each mapping with a confidence level:

  • Manual mapping: 100% (you said so).
  • Collection auto-match: 95% (handle matches normalised vendor).
  • Vendor search fallback: 70% (works, but lands on a system page rather than a curated collection).

This isn't shown in the UI, but it explains why the matcher prefers manual over auto over fallback - more specific mappings are more trustworthy.

When auto-match works well

Auto-match is reliable when your collection naming matches your vendor naming:

  • Vendor: "Nike" → Collection handle: nike
  • Vendor: "Wren & Oak" → Collection handle: wren-and-oak
  • Vendor: "Carhartt WIP" → Collection handle: carhartt-wip

It struggles when:

  • Your collection is named something like mens-nike-2026 rather than nike.
  • You spell vendors inconsistently across products ("Nike" vs "nike" vs "Nike Inc.").
  • You haven't created collections per vendor in the first place.

In those cases, the matcher falls back to the search URL, which always works.

The vendor search URL fallback

Shopify ships a built-in vendor filter at /collections/vendors?q=<brand>. This page lists every product whose Vendor field exactly matches the query, with no special setup required.

Easy Brand Page uses this as the safety net. Every brand will at minimum link here. Customers land on a working product list even if no collection exists.

If you want to customise the fallback URL (e.g. to use a different filter or a Liquid-side endpoint), set the Search URL template in Settings:

  • Default: /collections/vendors?q=%brand%
  • Custom example: /search?type=product&q=vendor:%22%brand%22

%brand% is replaced with the vendor name (URL-encoded).

Manual overrides (advanced)

For per-brand overrides that bypass auto-match, write to the easy_brand_page.collection_map shop metafield directly (Shopify admin → Settings → Custom data → Metafields → Shop, then edit the easy_brand_page.collection_map entry). The format is JSON: { "normalized-vendor-name": "collection-handle" }. Easy Brand Page reads this map every sync and respects it.

A future admin UI for this is planned. For now, this is the manual escape hatch when auto-match doesn't fit.

Out-of-stock brands and links

When every product from a vendor sells out, the vendor is marked out of stock and hidden from the directory by default. If you've configured "Show out-of-stock brands" in Settings, the card still renders but the link target remains the same (collection or search URL) - the destination is just going to be empty for the moment.

Multi-collection vendors

If a vendor sells through multiple collections (e.g. "Nike → Nike Shoes" and "Nike → Nike Apparel"), the matcher picks the one with an exact handle match if one exists, otherwise the first one found alphabetically. Use the manual override if you want a specific collection to win.

What happens during the sync

At sync time, Easy Brand Page:

  1. Builds a list of every unique vendor.
  2. Builds a list of every collection (title + handle + image).
  3. For each vendor, runs the three-stage matcher.
  4. Writes the resulting brand list (with link targets) to shop.metafields.easy_brand_page.brands (or related keys).
  5. The theme block reads the metafield and renders the directory.

The matcher is deterministic - same inputs produce the same outputs. So once you've configured naming, the links stay stable across syncs.

What's next

Frequently asked questions

What URL does each brand card link to?

Easy Brand Page tries three things, in order: a manual mapping you set in the admin, an auto-match to a Shopify collection of the same name, and a fallback vendor-search URL (the standard /collections/vendors?q=<brand> Shopify supports natively). Whichever matches first wins.

What if I don't want auto-matching at all?

Open the admin Settings page and switch "Match brands to collections" to "No, always use search URL". Every brand card will use the vendor-search URL pattern. Useful if your collection naming doesn't follow your vendor naming.

Can I customise the vendor-search URL pattern?

Yes. In Settings, the "Search URL template" field controls the fallback URL. Default is /collections/vendors?q=%brand%. Use %brand% as the placeholder for the vendor name (URL-encoded automatically).