Back to the blog

Blog

SignalHost for Framer: connect the plugin, publish once, and see your live site carry the code

Published · 6 min read

Get it on Framer Marketplace

The SignalHost plugin puts server-side Google Tag Manager on a Framer site without any code to copy. It writes the tracking code into your site's custom code, brings it up to date whenever you open it, and takes it off again when you log out. This guide walks through the whole thing in the order you meet it: connecting, publishing, checking that it works, and what to do when something does not.

Before you start

  • A Framer site that has been published at least once. The plugin needs your site's address to connect, and asks you to publish first if there is none yet.
  • Edit access to the Framer project. The plugin saves its connection in the project and writes to the site's custom code, and both need it.
  • A SignalHost account. The free plan is enough to try it: 10,000 requests a month and one container. You can create the account while connecting.

1. Open the plugin and connect

Find SignalHost in the Framer Marketplace and open it in your project. It opens as a small panel with one button, Connect with SignalHost. Press it, and a browser window opens on signalhost.io. Sign in, or create a free account.

The panel waits while you finish in that window and updates by itself. If you closed the window, Open the window again brings it back. After ten minutes without an answer, the panel asks you to try again.

2. Choose a container

The window lists what the plugin will and will not do. It will add the tracking code to every page and keep it up to date, read the container's status and check that your published site carries the code, and disconnect itself when you log out in Framer. It cannot change anything else on your site, use your Google account or see your billing.

Pick an existing container, or choose New container and go through the short wizard. A container is your own tagging server, built in your own Google account, so it stays yours. Building a new one takes a few minutes; you can connect straight away, and the plugin adds the code as soon as the container is ready. Press Connect. The window then says Connected — go back to Framer, and you can close it.

Back in Framer, the plugin collects the connection by itself, adds the code and tells you to publish your site to go live.

3. Publish your site

Framer serves custom code only on the published site, so nothing changes for your visitors until you publish. The panel shows two steps: Tracking code added to every page, and Publish your site to make it live.

Publish as you always do, then press Check again in the panel. SignalHost fetches your published home page and looks for the code. When it finds it, the second step changes to Live on your site's address, and the container page counts the install as done. The plugin never publishes on its own.

4. Test it

Open your published site and look around for a moment. Open SignalHost in the panel takes you to the container page, where the Recent tab of Enhanced analytics covers the last 30 minutes, and Run checks under Troubleshooting counts the page views that arrived. From the Growth plan up, Live event monitoring also shows each event by name as it arrives.

What the plugin adds to your site

One piece of code in your site's custom code, at the end of the head on every page: the Google Tag Manager loader, pointed at your own tagging address instead of googletagmanager.com. It loads your Tag Manager container from there, and your Google tag sends page views through it.

Each time somebody opens the plugin, it compares that code with what your container needs and replaces it if anything has changed. It touches nothing else and does not read your content, your CMS or your visitors' data. It adds no events of its own either: anything beyond page views, such as a form being sent, reaches your container when your site pushes it to the data layer.

The connection is saved in the project, so every editor of the project sees the same one, and it can read this one container's install values and nothing else.

Every request leaves the browser in a form ad blockers do not recognise, and your tagging server forwards it to Google Analytics 4 and to the ad platforms you set up on the container page: Google Ads, Meta, TikTok and others. If your cookie banner uses Google Consent Mode, a visitor who declines is counted only as Google's cookieless ping.

Your own tracking domain

Your container starts on an address under signalhost.io. On a paid plan, Set up your own domain on the container page walks you through using a subdomain of your own site instead, such as sgtm.yoursite.com, which survives filter lists and keeps click cookies first-party.

When the domain goes live, SignalHost emails you, with the new code. On Framer you do not paste it: open the plugin, which replaces the code by itself, and publish. Until then the old address keeps working. If you open the plugin and forget to publish, it says Publish again: your live site still has an older version.

Adding SignalHost by hand

You can add the same code without the plugin. On the container page, find the code in the Install on your site card and press Copy. In Framer, open Site Settings → General → Custom Code, paste it so that it ends up at the end of the head on every page, and publish. Then press I have done this on the container page.

What you give up: the code no longer follows your container. When your tagging address changes, you replace it yourself with the new code SignalHost emails you, and publish again. Nothing checks your live site for it either. Use one or the other: with the plugin connected as well, the code would be on every page twice.

Managing and disconnecting

Settings, Connected sites lists the site as Framer plugin, with its last check-in.

Log out, at the foot of the panel and in the plugin's menu, ends the connection in SignalHost and removes the plugin's code from your site's custom code. Like any custom code change, the removal reaches visitors with your next publish. Your container and its statistics stay, and you can connect again at any time.

Disconnect in Connected sites works the other way round: the plugin removes SignalHost from your site the next time somebody opens it in Framer, and it comes off the live site with the next publish.

When something does not work

  • The panel asks you to publish your site once before connecting: the site has no published address yet. Publish it, then press Check again.
  • The panel says you need edit access, or permission to edit the site's custom code: ask the project's owner for edit access.
  • Your container is being set up: come back in a few minutes. The plugin adds the code as soon as the container is ready.
  • The SignalHost code is switched off: somebody turned it off in Site Settings → General → Custom Code. Switch it back on there and publish.
  • Could not read your live site: SignalHost could not fetch your published page. Publish, then press Check again.
  • This site was disconnected in SignalHost: somebody pressed Disconnect in Connected sites. Connect it again to keep tracking.
  • SignalHost could not be reached: try again in a moment.
  • Anything else: write to hello@signalhost.io with your site's address.

Trademarks

SignalHost is an independent product of Algorithmo GmbH and is not affiliated with or endorsed by Framer, Google, Meta or TikTok. Google Analytics, Google Ads and Google Tag Manager are trademarks of Google LLC; Meta is a trademark of Meta Platforms, Inc.; TikTok is a trademark of ByteDance Ltd.; Framer is a trademark of Framer B.V.

Stop losing data to ad blockers

Start free. Get your first container running in minutes.