Email Scrolling / time

We’re currently trying to better understand how recipients engage with our marketing emails beyond open and click rates.

Our initial idea was to place multiple CTAs throughout a newsletter and use the CTA views as an indicator of how far recipients read the email. However, we found that all CTAs receive exactly the same number of views, regardless of where they are placed in the email. After some research, we understand that this is due to the technical limitations of email clients, as HubSpot cannot track scroll depth within emails.

This made us wonder:

Is there currently any way in HubSpot to estimate how far recipients read a marketing email?

For example, are there any existing features, best practices, or integrations that provide insights such as:

  • Scroll depth (or a close approximation)
  • Section visibility
  • Engagement by content block
  • Click heatmaps within the email
  • Any other metrics beyond opens, clicks, and read time (Glanced / Skimmed / Read)

If this isn’t currently possible, I think it could be a valuable feature request.

For longer newsletters, market commentaries, or educational content, it would be incredibly useful to understand which sections readers actually reach and engage with, helping marketers optimize both content structure and CTA placement.

Has anyone found a good workaround for measuring this in HubSpot?

Thanks in advance!

marketing marketing-email

Hi @Annaw85 ,

As far as I know, this isn’t possible in HubSpot.

Because of how email clients work, HubSpot can track opens, clicks, and estimated read time (Glanced / Skimmed / Read), but it can’t measure scroll depth, section visibility, or whether a recipient actually reached a specific part of the email. That’s also why all CTAs show the same number of views.

A practical workaround is to place different links throughout the email and compare their click-through rates. It won’t measure visibility, but it can help identify which sections generate the most engagement. For true scroll-depth tracking, you’d need to send readers to a landing page where web analytics can measure those interactions.

Building on what Uliana said, the “different links” workaround is more powerful than it sounds if you get specific with UTM parameters.

Rather than just different URLs, tag each CTA with a section identifier in utm_content: utm_content=section-intro, utm_content=section-mid, utm_content=section-bottom. You won’t get scroll depth, but you’ll get a clean signal on which sections actually drove action, which is often more actionable than visibility data anyway.

For longer newsletters where you genuinely need scroll-level visibility: consider a “read on web” format. Send a short teaser email, drive readers to a webpage, and run Hotjar or Microsoft Clarity (free) on that page. Full scroll maps, click heatmaps, session recordings, the whole picture.

One more thing worth knowing: HubSpot’s Glanced/Skimmed/Read metrics track user attention natively using time thresholds popularized by Litmus. While it won’t give you section-level insights, it segments engagement way better than a raw open or click: “Glanced” is under 2 seconds, while “Read” means they stayed for 8+ seconds. For newsletters, it’s the ultimate proxy for overall content quality.

Unfortunately, HubSpot doesn’t currently provide scroll depth, section visibility, or content block engagement tracking for marketing emails. Because of how email clients load content, tracking whether someone actually reached a specific section isn’t technically reliable, which is why all CTAs often show the same number of views.

Your best options today are to use click data as a proxy for engagement, review HubSpot’s “Glanced / Skimmed / Read” metrics, and test different email layouts or CTA placements with A/B testing. If you need deeper engagement insights, directing readers to a landing page where tools like heatmaps and scroll tracking are available is usually the most effective workaround.