Shopify · free forever · no signup

Add a free click heatmap to Shopify

One snippet, pasted into theme.liquid, just before </head> — because it has to load on every page before your clicks happen, and it renders nothing visible. Shopify powers well over 4 million live stores, and almost none of those sites want another app just to render a small piece of live data. No app. Shopify renders raw HTML and script tags inside a Custom Liquid block, so there is nothing to install from the App Store.

Hotjar charges $99-$389/mo. Crazy Egg charges $99-$249/mo. The two FREE click heatmap tools that used to exist (Mouseflow Lite, Lucky Orange Free) both quietly killed their free tiers in 2023. We rebuilt the click heatmap in 2026 — free forever, no signup, no email, no recording quotas. Paste one HTML snippet, return to FeedPulse in 24 hours, see exactly where every visitor clicked on every page of your site. Blazing / hot / warm / smoky temperature bins, per-page breakdown, dead-zone detection — all the things you used to pay $99/mo for. Want to see exactly what you get? → Try the live demo on /sample-heatmap (real visualisation, sample data, zero install).

How to install it on Shopify

  1. 1In Shopify admin go to Online Store → Themes, then click the ⋯ button on your live theme and choose Duplicate — that copy is your rollback.
  2. 2On the live theme click ⋯ → Edit code, and open layout/theme.liquid from the Layout folder.
  3. 3Find the closing </head> tag and paste the snippet on the line directly above it.
  4. 4Click Save. It is live immediately — Shopify has no cache to purge.
Older theme, or no Custom Liquid block? Don't want to touch code at all? Add the snippet as a Custom Liquid block inside a section that appears on every page (the footer, or the announcement bar). You lose nothing except the <head> position, which only matters for the heatmap and the speed badge.

Three things that trip people up on Shopify

Check which theme you actually edited

Shopify lets you customise an unpublished theme, and the editor looks identical either way. If you pasted the snippet, saved, and the live store shows nothing, you almost certainly edited a draft or the duplicate you made as a backup. Online Store → Themes shows which one is under Live — edit that one, or publish the one you edited.

Use Custom Liquid, never the visual editor

Shopify's rich text editor for pages, articles and product descriptions strips script tags on save without warning you. The Custom Liquid block, the <> Show HTML view, and raw .liquid files in Edit code all pass markup through untouched. If your snippet disappeared the moment you saved, that is the reason.

Checkout pages are off limits

Shopify does not allow third-party scripts on checkout — that is a platform restriction, not a widget limitation. Everything else is fair game: home, collection, product, cart, blog, pages and the 404. Put the widget in the footer and it covers all of them in one paste.

What you get, and what it costs

  • Free forever — there is no paid tier, no trial and no card
  • No signup for the badge-style widgets; the live ones create a site ID inline from your URL
  • Async script — it never blocks your page from rendering
  • Works on Dawn and every other Online Store 2.0 theme, on older vintage themes, and inside Shogun, PageFly and GemPages
  • Bots filtered server-side on every visitor-counting widget

Shopify questions

Do I need an app to add a click heatmap to Shopify?

No app. Shopify renders raw HTML and script tags inside a Custom Liquid block, so there is nothing to install from the App Store. Installing an app for this would mean an extra dependency, an update cycle and a security surface to render one snippet. Paste it into theme.liquid, just before </head> and you're done.

Where exactly does the snippet go on Shopify?

Theme.liquid, just before </head> — because it has to load on every page before your clicks happen, and it renders nothing visible. In Shopify admin go to Online Store → Themes, then click the ⋯ button on your live theme and choose Duplicate — that copy is your rollback. On the live theme click ⋯ → Edit code, and open layout/theme.liquid from the Layout folder. Find the closing </head> tag and paste the snippet on the line directly above it. Click Save. It is live immediately — Shopify has no cache to purge.

Will it slow my Shopify site down?

No. The script tag is async, so it never blocks your page from rendering, and the widget draws itself after your content is already on screen. Shopify serves your storefront from its own CDN and that doesn't change — the snippet is a single async tag, so it loads alongside your theme instead of in front of it. Nothing needs excluding from Shopify's own minification.

Does it work with page builders like Shogun?

Shogun: drag in the HTML/Liquid element and paste there. PageFly: use the HTML/Liquid element. GemPages: use the Liquid element. Shopify's own theme editor: add a Custom Liquid block. Any builder with a raw-HTML or code block will render it, because there's nothing framework-specific in the snippet.