Control where your Synaptiq widget appears on the page, how large it opens, and how it behaves on mobile devices.
Where your chat widget sits on the page affects both usability and conversion. A widget that covers important content or hides behind other elements creates friction. This guide covers every positioning and sizing option available in Synaptiq.
All position and sizing settings live under Admin Dashboard > Settings > Widget > Layout.
The widget trigger button anchors to the bottom-right corner of the viewport. This is the industry standard position -- visitors instinctively look here for chat support. Unless you have a specific reason to move it, keep this default.
Anchors to the bottom-left corner. Use this when:
Set position in the dashboard dropdown or via the embed script:
<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-position="bottom-left"
></script>
Valid values are bottom-right and bottom-left.
The margin controls the gap between the trigger button and the edges of the viewport. Default is 20px from both the bottom and the side.
<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-margin-bottom="32"
data-margin-side="24"
></script>
When a visitor clicks the trigger button, the chat window opens as a panel anchored to the same corner. You can control its width and height.
| Property | Desktop | Mobile | |---|---|---| | Width | 400px | 100% of viewport | | Height | 600px | 100% of viewport | | Max height | 85vh | 100vh |
Set custom values in Settings > Widget > Layout > Window Size:
max-height: 85vh cap ensures the window never overflows.<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-window-width="440"
data-window-height="650"
></script>
Synaptiq automatically adapts to small screens. Here is what changes on viewports narrower than 480px:
env(safe-area-inset-bottom).If you prefer the floating card style on mobile as well (for example, on a tablet-optimized layout), you can disable full-screen takeover:
<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-mobile-fullscreen="false"
></script>
When disabled, the widget uses the same card dimensions on mobile as on desktop, with width capped at calc(100vw - 24px) to prevent horizontal overflow.
The widget renders inside an <iframe> and a host <div> with a default z-index of 2147483000. This is intentionally very high to ensure the widget floats above most page content, modals, and fixed headers.
2147483647: The widget trigger may slip behind the modal backdrop. Either lower your modal's z-index or raise the widget's.<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-z-index="2147483600"
></script>
Alternatively, use a CSS custom property:
#synaptiq-widget-container {
z-index: 99999 !important;
}
If the widget appears behind an element even though its z-index is higher, the parent of that element likely creates a new stacking context (via transform, opacity, filter, or will-change). In that case, adjusting z-index alone will not help. Move the Synaptiq embed <script> tag to be a direct child of <body> to keep it in the root stacking context.
All positioning properties can be set at the embed level using data-* attributes. This is useful when you deploy the same workspace across multiple pages with different layouts.
<!-- Product page: bottom-right, extra bottom margin for sticky cart bar -->
<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-position="bottom-right"
data-margin-bottom="80"
data-margin-side="20"
></script>
<!-- Blog page: bottom-left, default margins -->
<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-position="bottom-left"
></script>
If you need to change the widget position after the page has loaded (for example, after a cookie banner is dismissed), use the Synaptiq JavaScript API:
// Move the widget up after the cookie banner disappears
document.addEventListener("cookie-consent-accepted", () => {
window.Synaptiq.updateLayout({
marginBottom: 20,
});
});
The updateLayout method accepts any combination of position, marginBottom, marginSide, windowWidth, windowHeight, and zIndex. Changes apply instantly without reopening the widget.
A fully configured layout with all positioning attributes:
<script
src="https://synaptiqintel.com/widget.js"
data-synaptiq-id="YOUR_WORKSPACE_ID"
data-position="bottom-right"
data-margin-bottom="24"
data-margin-side="24"
data-window-width="420"
data-window-height="620"
data-mobile-fullscreen="true"
data-z-index="2147483000"
></script>
Now that your widget is positioned correctly, head to Custom CSS Overrides to learn how to fine-tune the widget's visual details beyond what the dashboard settings expose.
Was this page helpful?