My Website: widgets on your own site
The My Website section is for owners who already have a site. There is nothing to migrate: you paste one line of code into your existing site once, and after that you switch products on and off in the dashboard.
Where: Admin panel → Marketing → “My Website” (admin.cenaly.com).
It works on any platform where you can paste a <script>: WordPress, Tilda, Wix, Shopify, Webflow, Bitrix, InSales, OpenCart, a custom-built site or a landing page builder.
Site address and install code
The first field is your site address (for example, example.com). We use it to verify the installation and to build correct links inside the widgets.
Then comes the install code — a single line:
<script src="https://cdn.cenaly.com/site/v1.js" data-domain="YOUR-DOMAIN" async></script>
Paste it once, into <head> or right before </body>. You never have to touch the site's code again: which widgets run is decided by toggles in the dashboard, not by tags on the page. Turn a widget on and it appears within a few minutes; turn it off and it disappears.
If you previously pasted individual widget tags, they keep working — the loader detects them and will not start the same widget twice.
Installing on popular platforms
The install dialog has a tab for each platform with exact steps:
| Platform | Where to paste |
|---|---|
| HTML code | Into <head> or before </body> of your template |
| Google Tag Manager | Tags → New → Custom HTML → paste → “All Pages” trigger → Save → Publish |
| WordPress | Appearance → Theme File Editor → footer.php before </body>, or any header/footer code plugin |
| Tilda / Wix | Tilda: Site settings → More → HTML code inside head. Wix: Settings → Custom code → Head. Republish the site afterwards |
| Shopify | Admin → Online Store → Themes → ⋯ → Edit code → layout/theme.liquid → before </body> |
| Webflow | Site settings → Custom code → Footer code → Save → Publish |
Eight widgets
Each widget is a card with a toggle and a settings gear. Whatever the widgets collect lands in the regular sections of your dashboard — there is no separate “website inbox” to watch.
| Widget | What the visitor sees | Where the data goes | Documentation |
|---|---|---|---|
| 🍪 Cookies & Consent | Consent banner with categories and a preferences screen | Consent log, cookie declaration | Cookies & Consent |
| 💬 Chat: AI assistant and agents | Chat bubble on the page | The “Chat” section — together with WhatsApp, Telegram, email, Messenger/Instagram | Guest chat |
| 💡 Popups & Forms | Promos, exit-intent offers, email capture, timers | Campaigns and their statistics | Engagement campaigns |
| 📅 Table Booking | “Book a table” button | The “Tables” section — bookings and floor plan | Table reservations |
| 🗓️ Appointments | “Book now” button: service → specialist → time | The “Appointments” section | Appointment book |
| 🛒 Online Ordering | “Order” button, cart and checkout on top of your site | The “Orders” section | Online ordering on your site |
| 📚 Help Center | A “?” button with your published help articles | Articles live in the Knowledge Base, along with help analytics | Help Center |
| ⚖️ Legal Documents | Links to — or the text of — your privacy policy, terms and other legal pages | Pages hosted by us; republishing updates your site automatically | Legal documents |
The load order is deliberate: the cookie banner starts first, so that the other widgets and any third-party analytics on your site see the visitor's cookie decision already applied.
Two widgets depend on content as well as on the toggle:
- Appointments appears once your menu has at least one item of type “Service”;
- Help Center appears once at least one help article is published.
The appointment widget in detail
Settings live in the “Appointments” card → gear icon: button color, its text, the screen corner and the language. Right below the settings there is a ready-made code line for this widget alone — in case it is the only one you install.
Language. The default is auto: the widget speaks the language of the page it sits on and knows 45 languages. Only the dictionary that is actually needed gets loaded, so this does not affect your site's speed. You can also pin a single language in the list — for example, if the site is bilingual but you want bookings in one language.
Links to a specific service or specialist. You can add attributes to the widget tag — the guest then lands right on the step you need:
| Attribute | What it does |
|---|---|
data-service="service id" |
the service is pre-selected — a “Book” button next to that service's description on your site. The id is shown next to the item in the “Menu” section |
data-master="specialist id" |
the specialist is pre-selected — for a page about that specific person; the specialist's id is the same as the employee's id |
data-open="true" |
the booking panel opens on its own, with no click on the button — for a dedicated “Book now” page |
A stale id (the service was renamed, the specialist left) does not break the widget: it quietly shows the usual choice from the first step.
Fewer steps to a booking:
- a single service or a single suitable specialist — the extra screen is skipped;
- the “⚡ Nearest: today 17:30” chip books in one tap, and the calendar opens on the first day that has free time;
- the name, phone and email are remembered on the guest's device: on the next booking the fields are already filled in, and the “Not you?” link clears them;
- on a phone the panel opens full screen, and the booking button does not hide under the keyboard;
- the widget can be operated from the keyboard and reads correctly in a screen reader.
Email. The email field is optional; if the guest leaves an address, they get a letter with the visit details and a “Manage booking” link that lets them move or cancel the visit themselves. Details — in Appointments.
What the widget brought in. In the appointment book, the “🌐 Website widget” button shows the funnel for 7, 30 or 90 days: how many times the button was seen, how many guests opened the panel, reached the contact step and booked, and how many bookings were lost to a slot taken meanwhile. Bookings that came from the site carry a “From website” badge.
Install check
The “Check installation” button opens your site and reads the page's source HTML. Possible answers:
- “Widget code found on the site” — the single tag is in place;
- “Only individual widget tags found” — old individual snippets work, but the single tag is missing;
- “The code on the site belongs to a different location” — the tag carries someone else's
data-domain(a common mistake with several venues); - “No widget code on this page” — nothing found.
⚠️ The check reads the source HTML. If the tag is injected in the browser by Google Tag Manager or another script, the check will not see it — that is not an error. Open the site and look with your own eyes: the widget is either there or not.
Pinning a widget as its own section
If one widget is your main product (say, you only use popups or only the cookie banner), the path “Marketing → My Website → card → gear” is too long. Each card has a “Pin to sidebar” button, which gives the widget its own menu item.
This setting affects your interface only — it controls the visibility of the section, not whether the widget runs on your site.
What is included and what is a paid add-on
Some widgets are part of the subscription, others are enabled as add-ons in the “Extensions” section: Table Booking, Popups & Forms, Help Center and Legal Documents carry a “paid add-on” chip. The toggle is never blocked — a widget already running for you will not switch off unexpectedly. Pricing and payment: App Store and Subscription.
Related topics
- Website builder — if you have no site and want ours
- Headless storefront — if your developer builds the site and takes the data from us
- Custom domain — connecting your own domain to our storefront
FAQ
Do I have to give up my own site? No. The widgets live on top of your site; your layout and hosting stay as they are.
How many tags do I paste if I use several widgets? One. The rest is toggles in the dashboard.
Will the widgets slow my site down? The loader is asynchronous and does not block rendering; each widget is a small separate file that is fetched only if the widget is enabled.
I have several venues — how does that work?
Widgets are configured per location: pick it at the top of the section and take that location's install code. Each site gets its own data-domain.
Can I put the widgets on more than one site? Yes — one location's tag can be pasted on several pages or sites, and the data arrives in that location.