Skip to main content

Embed Templates

Embed templates are powerful configuration profiles that define how the Mimeeq configurator appears, behaves, and integrates with your website. They allow you to create consistent, reusable settings that can be applied across your product configurators while maintaining precise control over the user experience.

What Are Embed Templates?

An embed template is a named collection of settings that controls all aspects of a Mimeeq configurator embed, from visual appearance to functional behavior. Templates are created and managed in the Mimeeq admin panel and can be referenced by their ID when embedding configurators on your website.

Templates serve several important purposes:

  • Consistency: Ensure uniform appearance and behavior across multiple product configurators
  • Reusability: Define settings once and apply them to many products
  • Specialization: Create purpose-specific configurations for different contexts and channels
  • Maintainability: Update configurations in one place rather than modifying multiple embed codes
  • Flexibility: Switch between different configurations dynamically without rebuilding your site
Template Required

Embed templates are required for all product-related embeds (Product Configurator, Modular Configurator, Product List, Product Group, Favorites). If the template ID doesn't exist or contains typos, the embed will not render at all.

Creating and Managing Templates

Templates are created and managed through a user-friendly GUI in the Mimeeq admin panel.

Using the Admin Panel Interface

  1. Log in to your Mimeeq admin panel
  2. Navigate to Settings → Embed Templates
  3. Click Create New Template
  4. Provide a descriptive name for your template
  5. Configure the settings using the intuitive interface
  6. Save the template

User-Friendly Controls

The template editor provides appropriate controls for each setting type:

  • Toggle switches for boolean options (hide/show elements)
  • Text inputs for names, classes, and custom code
  • Color pickers for all color settings with visual feedback
  • Dropdown menus for enumerated options like languages and placements
  • Radio buttons for exclusive choices
  • Grouped sections for logical organization of related settings

Real-Time Preview

One of the most powerful features of the template editor is the integrated real-time preview. As you make changes to any setting:

  • The preview updates instantly to show the effect of your change
  • You can see exactly how UI elements appear with your configuration
  • Color changes, visibility toggles, and layout adjustments are displayed immediately
  • You can test interactions directly in the preview to verify behavior

You can also select different products to preview and simulate guest vs authenticated user views.

Template Settings Reference

Embed templates contain a comprehensive set of configuration options organized into several categories. Each table below shows the property name (for developers) and the UI label (as shown in the admin panel).

Core Properties

Found in the template creation dialog and general settings:

PropertyUI LabelDescription
embedTemplateNameTemplate nameHuman-readable name for the template
embedTemplateUniqueNameTemplate IDMachine-friendly unique identifier
languageLanguageDefault language code for the configurator interface
publicPriceListGroupPublic Price List GroupPrice list group to use for public pricing

Behavior Settings

Found in the Settings section:

PropertyUI LabelDescriptionDefault
renderAtMountRender at page loadRender the configurator immediately when the page loadstrue
withHistoryUse URL navigationEnable URL-based state persistence for sharing and refreshfalse
adjustToContainerAdjust to containerMake the embed fill its parent container instead of using default constraintsfalse

Render at Page Load

Controls whether the configurator renders automatically or waits for a programmatic trigger.

  • Enabled (default): The configurator appears immediately when the page loads
  • Disabled: The configurator waits until you call the show() method

Disable this for:

  • Improving initial page load performance
  • Showing a product image first, then loading 3D on demand
  • Creating "Configure" buttons that reveal the configurator
// With Render at page load disabled, trigger display manually:
document.getElementById('configure-btn').addEventListener('click', () => {
document.querySelector('mmq-embed').show();
});

Use URL Navigation

When enabled, the configurator saves its current state to the URL:

  • Refresh persistence: Users can refresh the page without losing their configuration
  • Shareable links: Users can copy the URL to share their exact configuration
  • Browser history: Back/forward buttons navigate through configuration changes
  • Auto-display: When a configuration URL is detected, the configurator opens automatically

Adjust to Container

Controls how the embed sizes itself:

  • Disabled (default): Uses predefined constraints with maximum width of ~1600px on desktop
  • Enabled: Fills 100% of its parent container's dimensions
<div style="width: 800px; height: 600px;">
<!-- With Adjust to container enabled, the embed fills this container -->
<mmq-embed short-code="ABC123" template="my_template"></mmq-embed>
</div>
tip

When using Adjust to container with tabs or related products visible, you may need additional CSS. See Styling Examples for guidance.

Style Settings

Found in the Style settings section:

PropertyUI LabelDescriptionDefault
renderInModalRender Variant in modalDisplay the product configurator in a modal dialogfalse
renderListInModalRender List in modalDisplay the product list in a modal dialogfalse
renderModularInModalRender Modular in modalDisplay the modular configurator in a modal dialogtrue
useDefaultFontUse default page fontInherit font from the webpage instead of Mimeeq defaultfalse

Found in the Variant Modal, List Modal, and Modular Modal sections:

PropertyUI LabelDescription
modalWidthModal widthWidth value for the modal
modalHeightHeightHeight value for the modal
modalHeightUnitUnit typeUnit for dimensions (px, %, vh, vw)
modalClassNameCustom class nameCSS class(es) to add to the modal
modalOverflowScrollbar placementHow scrolling behaves (inside or outside modal)

Separate settings exist for variant (standard product), list, and modular modals.

Theme Settings

Found in the Theme section:

PropertyUI LabelDescription
buttonColorButton color overridePrimary button background color
buttonTextColorButton text color overridePrimary button text color
backgroundColorBackground color overrideConfigurator background color
basketButtonColorBasket button color overrideFloating basket button color
openedGroupTextColorOpened group text color overrideText color for expanded option groups
hoverGroupTextColorHover group text color overrideText color when hovering option groups
optionGroupHighlightColorOption group highlight color overrideHighlight color for selected options
optionGroupHoverColorOption group hover color overrideBackground color when hovering options

Product List Settings

Found in the Product List settings section (applies to Product List and Product Group embeds):

PropertyUI LabelDescriptionDefault
showMenuControlsShow menu controlsDisplay filtering and sorting controlsfalse

When Show menu controls is enabled, users see:

  • Categories: Filter by product categories (supports nested categories)
  • Sorting: Order products A-Z or Z-A
  • Search: Find products by name
  • Tags: Filter by product tags
  • Tile Size: Toggle between large and small product tiles

E-commerce Settings

Found in the E-commerce section:

PropertyUI LabelDescriptionDefault
basketBasket supportEnable Mimeeq Basket functionalityfalse
integrationIntegrationIntegration type (HTML or Mimeeq)HTML
addToCartPlacementAdd to Cart placementButton location: FINISH or SUMMARY_SCREENFINISH
addToCartPlacementModularAdd to Cart placement (Modular)Button location for modular productsSUMMARY_SCREEN
useCustomPricingUse custom pricingUse pricing from your external systemfalse
basketForLoggedInOnlyShow basket for logged in users onlyRestrict basket to authenticated usersfalse
useGlobalBasketEmbedUse Global Basket EmbedDefer to standalone basket embedfalse
exploreProductsLocationExplore Products URLURL for "Explore Products" button-
viewBasketOnlineLocationView Basket Online URLURL for viewing submitted basket-

Use Global Basket Embed

Enable this when you have both:

  • A standalone global basket embed on your website (from Settings → Customer Settings → Basket Code)
  • Basket functionality enabled in this template

Without this option enabled, both basket instances initialize separately, causing duplicate icons, event duplication, and synchronization issues. When enabled, the template defers to the global basket embed.

PDF Settings

Found in the PDF settings section:

PropertyUI LabelDescriptionDefault
pdfFontFamilyFont FamilyFont used in generated PDFsInter (default)
showPdfLogoHide logoHide your company logo in the PDFfalse
hidePdfQuantityHide quantityHide quantity informationfalse
hidePdfQuantityBreaksHide quantity breaksHide quantity break pricing tiersfalse
hidePdfPriceHide priceHide price informationfalse
hidePdfDescriptionHide descriptionHide product descriptionfalse
hidePdfSkuHide SKUHide SKU/product codefalse
hidePdfProductNameHide product nameHide the product namefalse
hidePdfDeliveryInfoHide delivery informationHide delivery time informationfalse

PDF Font Selection

You can customize the font used in generated PDFs:

  1. Default font: Uses Mimeeq's Inter font
  2. Google Fonts: Select from available Google Fonts in the dropdown
  3. Custom fonts: Use fonts uploaded to your Media Library

To use a custom font:

  1. Upload your font file (TTF, OTF, or WOFF) to Media Library
  2. Select it from the Font Family dropdown in the template editor

The logo comes from your Customer Account Settings (Settings → Customer Settings → Branding). Use Hide logo to remove it from PDFs.

Interface Elements (UI Visibility)

Found in the Interface elements section. All options hide the specified element when enabled:

PropertyUI LabelDescriptionDefault
hideARIconHide AR iconAR viewing buttonfalse
hideCollectionNameHide collection nameCollection/category name displayfalse
hideConfiguratorHide ConfiguratorEntire configurator interfacefalse
hideControlsHide all controlsAll canvas controls (zoom, rotate, etc.)false
hideDeliveryHide delivery infoDelivery time informationfalse
hideDimensionsHide dimensionsDimensions display on 3D modelfalse
hideDragInfoHide drag informationDrag operation tooltip (modular)false
hideExportHide model export3D model export buttonfalse
hideExportImageHide export imageExport image buttonfalse
hideFavouritesHide favouritesFavorites functionalityfalse
hideFavouritesButtonHide FavouritesFavorites button specificallyfalse
hideFinishHide Finish buttonFinish/complete buttonfalse
hideFinishScreenHide Finish ScreenSummary screen after finishingfalse
hideFooterHide footerFooter elementfalse
hideFullScreenHide Full Screen buttonFullscreen togglefalse
hideHeaderHide headerHeader elementfalse
hideHistoryHide historyConfiguration history panelfalse
hideHotspotsHide HotspotsHotspot indicators on 3D modelfalse
hideMeshHighlightHide Mesh HighlightMesh highlighting on hover/selectionfalse
hideOptionPanelHide option panelOptions configuration panelfalse
hidePdfOnCanvasHide PDF on canvasPDF button on canvasfalse
hidePdfOnFinishHide PDF on finish screenPDF button on summary screenfalse
hidePriceHide pricePrice displayfalse
hideProductNameHide product nameProduct name displayfalse
hideQtyHide quantityQuantity selectorfalse
hideRedoHide redoRedo buttonfalse
hideRelatedHide related productsRelated products sectionfalse
hideResetHide resetReset buttonfalse
hideShareOnCanvasHide share on canvasShare button on canvasfalse
hideShareOnFinishHide share on finish screenShare button on summaryfalse
hideTabsHide tabsProduct tabs sectionfalse
hideUndoHide undoUndo buttonfalse
hideWarning3dHide warning 3d3D warning messagefalse
hideWarningIconsHide modular warningsWarning icons on modular canvasfalse
hideZoomHide Zoom All buttonZoom all/fit buttonfalse
hideZoomButtonsHide Zoom ButtonsZoom in/out buttonsfalse

Custom Code

Found in the Custom CSS and Custom JS sections:

PropertyUI LabelDescription
customCssCustom CSSCSS code to inject
useCustomCssEnable Custom CSSWhether to apply the custom CSS
customJsCustom JSJavaScript code to inject
useCustomJsEnable Custom JSWhether to execute the custom JavaScript

Custom UI

Found in the Page elements section:

PropertyUI LabelDescription
customUiUse custom UIEnable custom UI system
customUiIdEmbed Custom UIID of the custom UI to use
useCustomVersionUse custom versionUse a specific version instead of active
customUiVersionIdCustom UI VersionSpecific version ID to use

For details on creating custom UIs, see Custom UI Guide.

Applying Templates

Static Assignment

Specify the template ID directly in your embed code:

<mmq-embed short-code="ABC123" template="your_template_id"></mmq-embed>

Dynamic Assignment

Change templates programmatically:

const configurator = document.querySelector('mmq-embed');
configurator.setAttribute('template', 'new_template_id');

Overriding Template Settings

You can override specific template settings with embed attributes:

<mmq-embed 
short-code="ABC123"
template="your_template_id"
locale="de"
hide-price
></mmq-embed>

This applies the template but overrides language and price visibility.

Template Use Cases

Multiple Sales Channels

  • Retail Template: Consumer pricing, simplified options
  • Dealer Template: Dealer pricing, technical specifications
  • Wholesale Template: Bulk pricing, volume discounts

Context-Specific Presentation

  • In-Page Template: Embedded directly in product pages
  • Modal Template: Opens in overlay dialog
  • Kiosk Template: Full-screen for in-store displays

Pricing Strategies

  • Standard Template: Regular pricing display
  • Promotional Template: Highlighting discounts
  • Rental Template: Daily/weekly/monthly rates

Template Loading Behavior

Loading Sequence

  1. The embed element is parsed by the browser
  2. Mimeeq scripts load asynchronously
  3. The template is fetched and applied
  4. The mimeeq-app-loaded event fires when fully ready

Error Handling

If a template ID is invalid or unavailable:

  • Nothing renders – The configurator will not display
  • No error is shown to end users
  • Check browser console for warning messages

Best Practices

  • Copy template IDs directly from the admin panel to avoid typos
  • Use descriptive template names indicating their purpose
  • Test template changes in staging before production
  • Document your template IDs and their purposes

Getting Support

If you encounter issues with templates: