Blog
SignalHost for Shopify: server-side tracking from the first page view to the purchase
Published · 7 min read
The SignalHost app gives a Shopify store server-side Google Tag Manager with no theme edits and no code. When you connect it, SignalHost creates a web pixel in your store that sends page views, carts, every checkout step and purchases to your own tagging server, which forwards them to Google Analytics 4 and your ad platforms. This guide covers installing, connecting, testing, the optional theme embed, and what to do when something does not work.
Before you start
- A Shopify store with an online store. The app works on its storefront and in Shopify's checkout.
- 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.
- Permission to install apps in your Shopify admin.
1. Install the app
Open SignalHost: Server Tag Manager in the Shopify App Store and install it. The app asks Shopify for two permissions only: to manage web pixels and to read customer events. It asks for no access to your theme and none to your customers' data. Once installed, it opens in your Shopify admin under Apps.
2. Connect your store to a container
The app's page offers Connect with SignalHost and, if you are new, Create a free account. Either one opens signalhost.io in a new tab; sign in or sign up there.
The next screen says what the app will be able to do — add your tracking code to every page of your store, send its cart and checkout events to the container, and read the container's status — and what it cannot: read your customers' contact details, use your Google account or see your billing. Then it asks which container the store should use. A container is your own tagging server: a Tag Manager web container and server container, built in your own Google account, so they stay yours.
Pick one and press Connect, or choose New container for your store and press Create container to go through the short wizard. Back in Shopify, the app's page updates by itself. If it shows Confirm the connection, check the account and container it names and press Confirm connection.
3. Tracking starts by itself
There is no code to paste, no theme to edit and nothing to publish. When the store is linked, SignalHost creates the app's web pixel and gives it your tagging address and your container's Google Analytics 4 measurement ID. Shopify runs it on every storefront page and in its checkout. The app says Almost there while a new container is being built, then Tracking is live.
4. Test it
Open your store in a new tab, accept the cookie banner, view a product, add it to the cart and start the checkout. Back in the app, Last 7 days counts Page views, Added to cart, Checkouts and Purchases within a few minutes; Refresh status reads the latest state.
Open statistics & settings opens your container on signalhost.io, where from the Growth plan up Live event monitoring lists each event as it arrives, with its country, browser and consent state.
What the app sends
Shopify hands its own customer events to the pixel, and the pixel turns them into Google Analytics 4 events:
- page_view, on storefront and checkout pages
- view_item, view_item_list and search
- add_to_cart, remove_from_cart and view_cart
- begin_checkout, add_shipping_info and add_payment_info
- purchase, with value, tax, shipping and discount codes
The pixel uses the visitor's Google Analytics cookies, so a checkout event belongs to the same visitor and session as the product page before it. Every request leaves the browser in a form ad blockers do not recognise, and your tagging server forwards it to Google Analytics 4 and the ad platforms you set up on the container page: Google Ads, Meta, TikTok and others.
Shopify runs the pixel only when a visitor's privacy choice allows analytics, so Shopify's cookie banner decides who is counted; the advertising choice travels with every event, so your server container can hold events back from the ad platforms. The app never reads your customers' contact details.
Optional: your own Tag Manager container on every page
The pixel sends its events itself and does not load your Tag Manager web container. You need that container on the storefront only if it has tags of its own, such as a heatmap tool or GA4's scroll and click tracking. Then open Optional: load your own Tag Manager container on every page in the app and press Turn on in theme editor; Shopify's theme editor opens with SignalHost switched on, and it takes effect when you press Save there.
Your Tag Manager container then sends the page views on storefront pages and the pixel leaves them out there, so nothing counts twice. The embed's setting Use Shopify's cookie banner for Google Consent Mode makes tags wait for the visitor's answer; turn it off only if another app already sets Google Consent Mode.
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 a subdomain of your store's domain, such as metrics.yourshop.com, with one DNS record. Browsers treat it as first-party, so its cookies count as your own and ad clicks stay credited. When it goes live, the app switches your storefront and checkout over within a few minutes. There is nothing to replace by hand.
Adding SignalHost by hand
You can put SignalHost on a Shopify store without the app. On signalhost.io, open your container, find the snippet in the Install on your site card and press Copy. Then in Shopify go to Online Store › Themes › ⋯ › Edit code, open theme.liquid and paste the snippet directly after the opening head tag. If your theme already loads Google Tag Manager or a Google tag for the same Analytics property, replace that snippet instead of adding a second one. Save, visit your store, and press I have done this on the container page.
That loads your Tag Manager container on your theme's pages, with page views and whatever your theme pushes to the data layer itself. It misses what the pixel adds: Shopify's checkout runs no theme code, so the checkout steps and the purchase never reach a snippet in theme.liquid, and the product and cart events come from the pixel too. When your own domain goes live, you replace the snippet yourself. If you install the app later, remove the snippet first, or every page view counts twice.
Plans and billing
A store connected through the app pays for SignalHost through Shopify. Plans and billing on the app's page opens Shopify's page for choosing or changing your plan, and the charge appears on your Shopify bill. Once connected, the app also shows this month's requests against your plan's limit.
One account has one payer. If your SignalHost account already pays by card, or another Shopify store pays for it, the app says so and this store's plan is not used; cancel one of them so you do not pay twice.
Managing and disconnecting
Disconnect sits at the foot of the app's page and asks for a second press. SignalHost then removes the app's pixel and the values the theme embed reads, and stops loading on your store within a few minutes. Your container and its statistics stay, and Connect with SignalHost links the store again. Settings › Connected sites on signalhost.io lists the store too.
If you uninstall the app in Shopify instead, SignalHost marks the store disconnected, and a plan paid through Shopify ends with the app: your account goes back to the free plan.
When something does not work
- The app stays on Almost there: a new container is still being built, which takes a few minutes. If its build failed, open the container to see why.
- The app says your container has no Google Analytics property yet: open the container and add one. Until then the pixel has nowhere to send data.
- Last 7 days stays at zero: open the live store and accept the cookie banner. Shopify runs the pixel only for visitors whose privacy choice allows analytics.
- With the theme embed on, the app says the tracking code appears twice or an older copy is still in your theme: remove the snippet you pasted into theme.liquid earlier.
- You have reached your plan's limit: new events are not recorded until the date the app names, unless you upgrade.
- Anything else: write to hello@signalhost.io with your store's address.
Trademarks
SignalHost is an independent product of Algorithmo GmbH and is not affiliated with or endorsed by Shopify, 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.; Shopify is a trademark of Shopify Inc.

