Product

Platform Updates: Heatmap Polish, Personalization, and a Smarter Visitor Context SDK

Most of this release is the kind of work that only shows up if you're deeply using the product. Heatmaps got sharper. Session replay got an upgrade. And the experimentation product took a real step forward with Personalization as a first-class feature type and a meaningfully more capable Visitor Context SDK.

Here's what's new:

Heatmap Polish

Heatmaps shipped a few months ago. This release is the team going deep on the details.

Intensity and opacity controls, with a min and max legend. The overlay now has knobs. Dial opacity down to see the underlying UI through the heatmap. Dial intensity up to surface tail clicks. A new legend shows the endpoints of the intensity scale, so a hot zone always carries context: a handful of clicks or thousands.

A faithful mobile replay. Mobile heatmaps now render at the recorded viewport and scroll like a real browser. Click overlays stay aligned as you move through the page. Consent banners are hidden automatically, so the heatmap shows the page, not the popup.

Sharper rage and dead clicks. Rage clicks require a tighter, more deliberate cluster. Dead clicks wait longer for async responses, dedupe more aggressively, and cap per pageview. The result is fewer false positives and a stronger signal on the ones that fire.

Clicks lead. The detail view opens on the click overlay, with scroll depth one tab away. The primary signal gets read first.

For setup and usage details, see our heatmaps documentation.

Session Replay Polish

Session replay got the same treatment. Only recordings with valid viewport dimensions make it into the list. Sandbox and staging traffic is excluded from production replay buckets so test sessions stay out of your real data. Session isolation is airtight. The SDK handles slow networks more gracefully, and playback seeks directly to the pageview that matched your filter.

None of these updates are flashy individually. Collectively, they add up to an improved user experience.

Experimentation: Personalization and a Smarter Visitor Context SDK

Experimentation is still in private beta. Request access if you'd like to try it.

Personalization: Always-On Content for Known Audiences

Personalization is now a first-class experiment type alongside A/B tests. The idea is different from testing. You're not splitting traffic to find a winner. You already know who you want to reach, and you want to show them tailored content every time they visit.

Pick an audience or a set of visitor conditions, define the content changes in the visual editor, and start the rule. Matching visitors see the personalized content on every visit. Everyone else sees the default page. No statistical test, no end date, no winner to declare.

What it's good for:

  • Industry-specific messaging. Healthcare visitors see a HIPAA-forward hero. Enterprise prospects see an enterprise pitch.

  • Returning visitor recognition. First-time visitors see acquisition copy. Returning visitors see something that reflects where they are in the journey.

  • Campaign landing pages. Visitors from a specific UTM source see copy that matches the ad they clicked.

  • Geographic targeting. Region-appropriate messaging, pricing context, or compliance language.

  • Audience-driven content. Any audience you've built in the Audience Builder (page visit history, event history, behavioral patterns) is directly available as a target.

Consent is respected automatically. Visitors who haven't consented to analytics do not see personalization rules. No code checks required.

For setup, see the personalization docs.

Visitor Context SDK: Initial UTM, SPA Navigation, and a New Namespace

The Visitor Context SDK (window.ours_experiments.getVisitorContext()) gives developers programmatic access to the same visitor signals that power dashboard targeting rules. The previous post introduced the SDK. A lot has shipped since then.

Initial UTM. A new ctx.initial_utm field returns the visitor's first-touch UTM parameters, persisted in the experiment cookie. Use it to target or personalize based on the original acquisition channel, regardless of what page the visitor is on now. "Show returning Facebook visitors a different offer" becomes one line of code. This is the kind of attribution signal most teams stitch together manually across three tools. You get it on the window object.

Single-page app support. On client-side route changes, the visitor context refreshes automatically. UTM, query params, and referrer stay current as visitors navigate through the app.

A dedicated namespace. The SDK moved from window.ours.getVisitorContext() to window.ours_experiments.getVisitorContext(), aligned with the experiments SDK init flow. Device detection runs through ua-parser-js for more accurate results across mobile edge cases.

Redirect Query Strings

Redirect experiments now forward the incoming query string to the variant URL. When someone lands on your original page with UTMs, gclid, or fbclid, those parameters carry through to the redirect target. Attribution stays intact. The redirect URL's own parameters win on conflicts, so the experiment author's intent is preserved.

Install Script Auto-Enables Experimentation

When experimentation is enabled on your account, the install script from /install now includes the experimentation token in the ours('init', ...) call automatically. Paste the snippet onto your site and experiments are ready to run. No second step, no extra configuration.

What's Next

Heatmaps are heading toward element-level drilldown, so clicking a top element shows you the sessions that clicked it. Filtering heatmaps by UTM source is on deck, along with a "live site" fallback for URLs that don't have a session replay snapshot yet. The audience-as-filter pattern is extending into funnels and attribution, the same way it already works for heatmaps and session replay.

Experimentation keeps growing. DOM diffs for the visual editor, secondary goal events for content experiments, and Cloudflare Workers support for server-side experiments are all in flight. Per-variant analysis will show up naturally in funnels, session replay, and heatmaps as the experimentation product tightens its integration with the rest of the analytics suite.

For setup and technical details, see our documentation.

Want to see any of this in action? Book a demo.

Share Article

Book a Demo

Health systems and digital health companies use Ours Privacy to run essential marketing tools like Google Ads and GA4 while maintaining HIPAA compliance.

Related Articles

Newsletter

Stay up to date

Subscribe for privacy news, feature updates, events, etc.

Start the conversation

Healthcare marketers tell us every day about the challenges of flying blind, navigating compliance, and dealing with ad restrictions. Talk with one of our experts to see if Ours Privacy is the right fit for your organization.

Start the conversation

Healthcare marketers tell us every day about the challenges of flying blind, navigating compliance, and dealing with ad restrictions. Talk with one of our experts to see if Ours Privacy is the right fit for your organization.

Start the conversation

Healthcare marketers tell us every day about the challenges of flying blind, navigating compliance, and dealing with ad restrictions. Talk with one of our experts to see if Ours Privacy is the right fit for your organization.