viewa/docs
Implementation Guide

Pre-selecting Products & Materials

Link straight into the visualiser with a product, a material, or both already chosen.

Purpose: drop visitors straight into the product they were already looking at.

Any link to your visualiser can carry optional parameters that pre-select a product, a material, or both. The visitor skips the picker and sees their choice as soon as the visualiser opens. This pairs naturally with product page "Visualise" buttons.

Parameters

ParameterPre-selectsAccepts
dp (or product)A productThe product's slug or SKU from your Viewa catalogue, or one of your own identifiers registered as a catalog alias
dm (or sku)A materialThe material's slug or SKU, or a catalog alias

product and sku are alternative names for dp and dm, for integrations that already send those. If both forms are present, dp and dm win.

Examples

Substitute your own instance URL and identifiers:

<!-- Product only -->
<a href="https://your-instance-url?dp=ROLLER-BLIND-01">Visualise in Your Home</a>

<!-- Material only — the visitor chooses the product -->
<a href="https://your-instance-url?dm=CHARCOAL-WEAVE">Visualise in Your Home</a>

<!-- Product and material -->
<a href="https://your-instance-url?dp=ROLLER-BLIND-01&dm=CHARCOAL-WEAVE">Visualise in Your Home</a>

<!-- Straight into a specific room -->
<a href="https://your-instance-url/scene/living-room?dp=ROLLER-BLIND-01">See it in a Living Room</a>

<!-- Your own identifiers, resolved through catalog aliases -->
<a href="https://your-instance-url?product=roller-blinds&sku=FAB-1001">Visualise in Your Home</a>

A material is only applied if the selected product offers it. With a material on its own, it is applied once the visitor picks a product that offers it.

Opening in a new tab

Whether to open the visualiser in a new tab depends on the journey you want. With target="_blank" your page stays open behind it, so visitors can close the visualiser and carry on where they left off; without it, the visualiser replaces your page and they have to navigate back. When you do use target="_blank", add rel="noopener" alongside it.

Catalog aliases

Your site rarely uses Viewa's slugs and SKUs. A catalog alias maps one of your own identifiers onto your Viewa catalogue, so your links can use the values your platform already has — a WooCommerce variation SKU, a Shopify handle, or a category slug.

Each alias maps one identifier to one of:

Alias targetUse it forExample
A productA category or product identifier from your siteroller-blinds → Roller Blind
A materialA fabric or colour SKUFAB-1001 → Linen Blockout, White
A product and a materialA SKU that names both at onceRB-1001-WHT → Roller Blind in Linen Blockout, White
A material rangeRecorded for completeness — a range SKU pre-selects nothingLINEN-BO

A SKU that names both a product and a material pre-selects whichever one the parameter asks for, so send it in both: ?product=RB-1001-WHT&sku=RB-1001-WHT.

How aliases are matched:

  • Matching ignores case and surrounding spaces, and aliases are per instance.
  • An alias takes priority over a Viewa slug or SKU with the same value.
  • An alias that points at something the parameter can't use — a material alias in dp, or a range SKU anywhere — matches nothing. It does not fall back to a catalogue match.

Viewa sets up your aliases for you — send us the identifiers your site uses (a product feed or export is ideal) and we'll map them onto your catalogue.

Things to know

  • Values are not case-sensitive.
  • An unrecognised product or material is ignored — the visualiser opens with its usual defaults rather than an error, so a link to a discontinued SKU degrades gracefully.
  • The selection persists for the rest of the browser session, surviving navigation inside the visualiser.
  • Some CMS and email editors escape ampersands. If only the first parameter is applied, check the & between them.
  • Pre-selection isn't yet supported on child instances — a visualiser that shares another instance's catalogue, such as a dealer or branch site. Links there open with the usual defaults. Contact us if you need it.

On this page