One line. About two minutes.
No developer, no build step, no consent banner to configure. Pick where your site lives and follow the steps.
<script defer src="https://t.rialtodata.com/sl.js" data-site="yoursite"></script> Replace yoursite with the site id shown in
Connections when you add a site. Everything else stays exactly as written.
Google Tag Manager
2 minutes- Tags, then New, then Tag Configuration, then Custom HTML.
- Paste the tag exactly as it appears above, with your site id in place of yoursite.
- Leave "Support document.write" unticked. It is not needed.
- Triggering: All Pages.
- Save, then Submit to publish the container.
Works with no changes. The tag reads its own attributes, and Tag Manager keeps them when it injects the script. Tested on 14 August 2026.
Webflow
1 minute- Site settings, then Custom code.
- Paste the tag into "Head code".
- Save, then publish the site.
Site-wide, no per-page work. Needs a publish for the change to reach the live site.
Framer
1 minute- Project settings, then General, then Custom Code.
- Paste the tag into "Start of head tag".
- Publish.
WordPress
2 minutes- Install a header scripts plugin, for example WPCode or Insert Headers and Footers.
- Paste the tag into the header section.
- Save.
Any header-scripts plugin does this. No theme file needs editing, and nothing is lost when the theme updates.
Shopify
2 minutes- Online Store, then Themes, then the three dots, then Edit code.
- Open theme.liquid.
- Paste the tag directly before the closing head tag.
- Save.
Anything else
1 minute- Paste the tag into the head of your base layout or template.
- Deploy as normal.
Astro, Next, Hugo, Rails, plain HTML. Anywhere you control the head.
Then check it is actually recording
This matters more here than with most tags, because the way this one fails is silence. A blocked tag loads, returns nothing and reports no error, so a site can look correctly installed for a week and hold no data at all.
- Open your site in a normal browser window, not a private one.
- Click something, scroll to the bottom, then leave the page. The tag sends in batches, so closing the tab is what flushes the first one.
- Open Rialto and choose your site. Live view shows the visit within a few seconds.
Nothing after a couple of minutes? It is almost always the Content-Security-Policy below, and second most often the site id.
Sites with a Content-Security-Policy
A site that sends a CSP header needs the Rialto origin in two directives. The second one is the one everybody forgets, and with only the first the tag loads and silently records nothing.
script-src ... https://t.rialtodata.com;
connect-src ... https://t.rialtodata.com; Not sure whether your site sends one? If nobody has ever configured it deliberately, it almost certainly does not.
If your tag manager rewrites the script
Some tag managers and CDN wrappers rebuild a script tag and drop its attributes. If that happens, set the configuration on the page instead and the tag will read it from there.
<script>window.slConfig = { site: 'yoursite' };</script>
<script defer src="https://t.rialtodata.com/sl.js"></script> The object has to be set before the tag loads. Both forms are equivalent, and attributes win where both are present.