Custom store setup
A custom store lets you integrate Selektable with any ecommerce platform, whether you built it yourself, use a headless CMS, or run a platform we don’t have a native integration for. Unlike WooCommerce or Shopify stores that connect via OAuth, custom stores are configured manually through the dashboard and integrated using the embed script.Step 1: Create a store
- Log in to the Selektable dashboard
- Navigate to your organization
- Click Add Store
- Fill in the details:
| Field | Description | Required |
|---|---|---|
| Name | Display name for your store (e.g., “My Furniture Shop”) | Yes |
| Platform | Select Custom | Yes |
| Domain | Your store’s domain (e.g., myshop.com) | No |
| Currency | Default currency code (e.g., EUR, USD) | No |
- Click Create Store
Step 2: Create a widget
Each store can have multiple widgets. You need at least one to get started.- Open your store in the dashboard
- Click Add Widget
- Configure:
| Field | Description |
|---|---|
| Name | Internal name (e.g., “Room Visualizer - Living Room”) |
| Type | room-visualizer or virtual-try-on |
| Custom Style Guidance | Optional instructions to fine-tune AI generation. See Custom style guidance. |
| Accent Color | Primary button color in the widget |
| Retention Hours | How long generated images are kept (1-720 hours, default 24) |
- Click Create Widget
- Copy the Widget ID (e.g.,
widget_abc123)
Step 3: Add the embed script
Add the Selektable script to every page where you want the widget available. Place it before the closing</body> tag. Replace store_xxx with your Store ID from the dashboard:
Step 4: Add the widget button
Option A: JavaScript API (recommended)
CallSelektable.open() with your product data:
Option B: data attributes
Use HTML data attributes for declarative setup:When using data attributes,
Selektable.discover() registers the elements but doesn’t create iframes until Selektable.open() is called. You still need to call open() from a click handler or trigger.Step 5: Add cart integration (optional)
If you want customers to add products to their cart from the visualization result screen, provide cart callbacks:Step 6: Set up order webhooks (optional)
To track conversions, send order data to Selektable when a purchase is made:Step 7: Identify customers (optional)
If your site has user accounts, associate the visitor with their user ID for better tracking:Full example
Here’s a complete product page integration:Troubleshooting
Widget button doesn't do anything
Widget button doesn't do anything
Widget opens but shows no product
Widget opens but shows no product
Ensure you’re passing
productId and at least one image in productImages or productImage. The widget needs product data to generate a visualization.Add to cart shows an error
Add to cart shows an error
If cart is enabled on the widget, you must provide an
onAddToCart callback. Without it, the widget will show an error when the customer tries to add to cart.Images aren't loading in the widget
Images aren't loading in the widget
The product images must be publicly accessible URLs. If they’re behind authentication or on a different CDN with restrictive CORS, the widget won’t be able to load them.