Widget : License Portal Button on Your Website
[widget] [admin] [branding]
A single code snippet on your website (Shopify, WordPress, custom HTML) shows a button that leads directly to the license portal. You make all customizations (text, color, style, size) in the Admin: the shop code stays the same and picks up changes automatically.
Who it's for
Admins (providers) who have an online shop or a website and want to offer their customers a direct entry into the license portal.
The widget is included in some plans. If it is not part of your plan, the Widget settings tab is simply not shown.
Step by step
1. In the Admin: set the configuration
Settings → Widget:
- Button text (e.g. "License Portal", "Secure 3D files")
- Button color (color picker + hex input)
- Button text color (for filled mode)
- Button style: filled (solid) or outlined (outline)
- Button size: small / medium / large (responsive : larger on desktop than on mobile)
The live preview shows immediately how the button looks. Click Save, and the change takes effect immediately on all embedded widgets.
2. Copy the embed code
Under Your embed code:
<script
src="https://<your-tenant>.licensio.io/widget.js"
data-tenant="<your-tenant>">
</script>
Click Copy code.
3. Insert it into your shop
Shopify (5 steps):
- Open the Shopify admin : Online Store → Themes → current theme → Edit code
- Open header.liquid : left file list → Sections →
header.liquid(some themes usesections/header.liquid) - Search for the code : press
Ctrl + Fand search forroutes.cart_url. You will see a line like<a href="{{ routes.cart_url }}" ...> - Insert the code : paste the widget code directly BEFORE this line
- Save : click Save at the top right. The button appears in the shop immediately
💡 Tip: test the button in preview mode before you make the theme live.
Button not appearing?
- Reload the page with
Shift + F5(bypasses the cache) - Check whether the correct theme is active (not just the one you are editing)
- Make sure the code is in the
<body>area, NOT in the<head> - Open the browser console (
F12) and look for error messages - For questions: the provider support email from the Branding tab
WordPress / WooCommerce:
- Appearance → Theme Editor
- Open
header.php - Insert before
</header>→ Update File
Other systems:
- Insert the script tag into the header area of your website, ideally before the closing
</header>or</body>tag
4. Done
The button appears in the header immediately. You make appearance changes only in the licensio Admin, with no need to edit the shop code again.
How it works technically
The widget script loads your provider's branding configuration via a public API (/api/portal/branding) when the page is opened. It reads:
widget_button_text,widget_button_color,widget_button_text_colorwidget_button_style(solid/outline)widget_button_size(small/medium/large)primary_color,button_text_color,button_styleas a fallback
The widget injects a container div with an anchor element and a <style> tag with a media query (@media (min-width: 750px)) for responsive padding and font size. All style properties are set with !important to reliably override theme CSS.
Frequently asked questions
Do I have to copy the code again after changes? No. Text, color, style, size are loaded live from the API by the widget. Saving in the Admin is enough.
What happens if the licensio API is temporarily unreachable?
The widget renders with default colors (#FF6600 / white) so the button stays visible.
How do I embed the widget with my own domain?
Running the portal under your own domain is still in preparation. Once it is available, you will point the src URL and the data-custom-domain attribute at your domain. Until then, embed the widget from your <your-tenant>.licensio.io subdomain.
Does the widget take effect multiple times if I insert the code twice?
No. A duplicate protection (window.__licensioWidgetLoaded) prevents multiple rendering.
Can I redirect to a link other than /join on click?
Optionally via the data-href attribute: <script ... data-href="https://shop.example.com/lizenz">.
My theme overrides the button colors.
The widget sets all styles with !important. That should be enough. If not: contact support, then we analyze the theme CSS.
Related
- Branding : colors + logo + font
- Custom Domain : own-domain hosting (in preparation)
- Widget API : technical reference