Web analytics7 min read

How to add heatmaps to a WordPress site

The two ways to get a heatmap onto a WordPress site, what the plugin directory actually offers, and the caching, page-builder and admin-visit gotchas that spoil first maps.

By The Bigdelta team
How to add heatmaps to a WordPress site

What a heatmap adds to a WordPress site

WordPress records nothing about how visitors use a page. Not the software itself, not a theme, not the stats module on WordPress.com. An analytics tool counts which posts get read, and adding one is its own guide. A heatmap answers the question analytics leaves open: what people did on the page. How far down your long posts readers actually get, whether anyone uses the sidebar you maintain, which menu items get tapped, and what gets clicked in the footer nobody thinks about.

On a WordPress site the findings tend to be layout findings. Themes ship with widgets, related-post blocks and sharing buttons that look essential and often go untouched. A month of heatmap data settles which of them earn their place.

Plugin or script: the two ways in

Every heatmap tool works the same way underneath: a small script on your pages records clicks, taps and scrolling, and the tool draws maps from it. Getting that script into WordPress takes one of two routes.

A plugin from the WordPress directory is the easy route. Install, activate, paste an ID or sign in, done. The cost is another active plugin, and each one adds a little weight and another thing to update.

The script route works with any tool, plugin or not. Paste the tool's snippet into your site's head once and every page picks it up. Sites that guard their plugin count prefer it, and it keeps you free to switch tools later without hunting for leftovers.

The plugins that actually exist

The heatmap shelf of the plugin directory is thinner than you would expect, and worth a clear-eyed look before choosing from it.

Microsoft's Clarity plugin is the big one, with over 200,000 active installs, a free product behind it, and updates shipping days apart as of September 2026. Hotjar's official plugin shows around 70,000 installs, and its listing had not been updated since October 2023 when this guide was written, roughly three years. It still works as a snippet installer, but the neglect is worth knowing about. Aurora Heatmap, at 20,000 installs, is the odd one out: it draws heatmaps entirely inside WordPress, sending nothing to any external server. The free tier covers click maps only, and your own hosting does the work, but for a site that cannot ship visitor data to a third party it is a real option.

The shelf is thin for a reason. Most heatmap tools do not need a plugin at all, so the directory only holds the few that bothered to build one.

The script route, step by step

For any tool without a plugin, or if you would rather skip one:

  • Copy the tracking snippet from the tool's setup screen.
  • Paste it into your site's head. The tidy way is a code-insertion plugin like WPCode, with over three million installs, which gives you a header box to paste into. The plugin-free way is a child theme's header template. Never paste it into a parent theme's files directly, because a theme update deletes the edit.
  • Save, then open your site in a private window and click around a few pages.
  • Check the tool's live or recent-visitors view and confirm you show up. If nothing arrives, the usual WordPress suspect is caching, covered below.

Where Bigdelta fits

Bigdelta ships a WordPress plugin that installs the snippet and keeps it updated, with no theme code touched. One script covers web analytics, heatmaps and session replays together, so the click and scroll maps arrive alongside the visitor numbers rather than in a separate tool.

Gotcha: caching serves pages without your snippet

Most WordPress sites run a caching plugin, and a cached page is a saved copy from before you installed the heatmap. You paste the snippet, nothing shows up, and the install looks broken when it is only stale. Purge the site cache right after installing, and if your host runs its own cache layer, purge that too.

Gotcha: page builders and devices

Builder themes lay pages out differently on desktop and phone, sometimes with entirely different blocks shown per device. A heatmap mixing the two paints clicks onto elements that were never on the same screen. Read one device at a time, every time. How to analyze a heatmap covers this and the other reading discipline.

Gotcha: you are your own hottest visitor

Logged-in admins open their own pages constantly, and on a small site that skews every map. Exclude your own traffic: most heatmap tools can ignore an IP address, and WordPress plugins can often exclude logged-in roles. Do it on day one, before the polluted data collects.

Gotcha: infinite scroll and lazy loading

Scroll maps assume the page has a fixed bottom. A theme with infinite scroll keeps adding posts, so "how far did readers get" has no stable answer, and lazy-loaded images can leave blank patches on the map's screenshot. On infinite-scroll archives, trust the per-post maps instead, and if the map's background is missing images, look for a setting that retakes the screenshot.

Which pages to map first

Start with three: your most-read post, the home page, and whichever page asks visitors to do something, a landing page, a contact page, a shop page. That is a heatmap dashboard in miniature, and it beats generating maps for every post and reading none. Give each page a few hundred visits per device before trusting its pattern, the same threshold a first heatmap needs anywhere.

Then run the verify pass once: cache purged, your own visits excluded, one device selected, and your test clicks visible in the tool. A WordPress heatmap set up this way is about fifteen minutes of work, and the first month of maps usually pays for it by retiring at least one widget nobody was using.