How To Measure User Engagement With Hubspot and Google Analytics

Photo of Patryk Kalinowski

Patryk Kalinowski

Updated Mar 6, 2023 • 7 min read
kaboompics.com_iPhone_6_on_the_desk-455569-edited.jpg

Not so long ago we came up against a big problem while analyzing the performance of our campaigns – there were no conversions at all.

We had two versions of a campaign: blog content and sales/business content. The plan was to choose the better one. How do you choose the winner if there are seemingly no conversions?

We implemented more early engagements metrics, which would show us how our visitors behaved depending on which campaign they were coming from. Unfortunately, Hubspot cannot generate clear and comprehensive reports about the activity of a given group of contacts. Because of that we chose Google Analytics instead. The Internet is full of valuable resources about engagement metrics in Google Analytics, so we aren’t going to cover GA basics here. Instead, we’re going to show you a few ways to effectively measure Hubspot-related activity in your GA reports.

The funnel

The very first thing you have to do is design your own conversion funnel. We keep ours quite simple. After reading a post, our visitor might can either sign up for a newsletter or click the Call to Action. The CTA then redirects the visitor to different content on the ins and outs of software development. Some of the visitors eventually become interested in our services. When they do, they can always request more information, book a call or contact us directly. That's basically all! We prefer visitors to contact us early. It allows us to understand our clients’ needs better. After the first contact is established, we try to start talking in person as soon as possible.

In Netguru, we count as conversion only a request to contact the Business Development Team. If you think that's bold, you're probably right. It requires much more effort from a client than, say, signing up for a free trial. Having that in mind, we started tracking multiple mini-conversions along the way.

So, going back to the funnel – how did we track newsletter signups and CTA clicks to see if our visitors are interested in what we have to say?

Engagement goals – form submissions

Say hello to Analytics Goals! Tracking Hubspot form submissions is pretty easy if you set them up to redirect the user to another page after submit. For example, you can create a simple thank you page with a custom URL: /newsletter/codestories-european-tech-newsletter-signup-confirmation.

image05.png

The real redirect URL will be like this one:

https://www.example.com/newsletter/codestories-european-tech-newsletter-signup-confirmation?submissionGuid=2fc7814c-2b65-4daf-a3ea-4c064c8ac0d4

A submission Guid parameter is appended at the end of URL. It appears every time a Hubspot form is submitted. Unfortunately, the value is a hash used by Hubspot for its internal web analytics, which renders it useless for third-party tools.

Now, head to Google Analytics > Admin > Goals and create a new destination goal:

image02.png

From now on, you will be tracking every newsletter subscription.

But what if you don’t want to redirect users to another page, but instead prefer to display an inline message? There is a solution available, but it will make tracking a little bit harder.

Look at the browser address bar after submitting a form with an inline thank you message:

https://www.example.com/newsletter/codestories-european-tech-newsletter?portalId=XXXXXX&hsFormKey=a36af5b66bd745768e7b2ce4938ff314&submissionGuid=91ce2bbd-afd5-486b-8275-23af372c8470

This time, the Hubspot script appended three params: portalId, hsFormKey and submissionGuid. All values are hashes understood only by Hubspot and do not refer to form ids or anything, so we'll just leave them by. Still, these hashes will help us design a regex (regular expression) for Google Analytics:

.*newsletter\?portalId=.*\&hsFormKey.*\&submissionGuid.*

image01-2.png

The regular expression above will capture every occurrence of a form signup with an inline thank you message on the newsletter page. You might have to edit the beginning of the expression to suit your case.

Tip: If you encounter problems editing regexes, RegexR is the best tool I know to test them.

Call to Action clicks


Measuring CTA clicks is very similar. Here's an example URL for the page a user was redirected to after clicking the CTA

https://www.example.com/state-of-stack-report?__hssc=&__hstc=158969509.f76d5e73149ad84bf849a2c62a8cc30a.1444730844413.1465894936551.1465909241534.34&__hsfp=1153435767&hsCtaTracking=7ca227bd-f99d-4529-bdb3-553fa7843ecb%7Cf32683a8-8f0c-4ccf-b857-b75e6bc97b0a

We have many params here, but we only need to use hsCtaTracking and everything is going to work flawlessly. The regular expression for CTA clicks looks like this:

.*hsCtaTracking.*

image04.png

Again, none of these params can be interpreted outside of Hubspot. What’s more, it doesn’t allow us to determine which CTA has been clicked. However, you can try to investigate it by looking at the URL of where the goal was completed.

Time spent on page

Not only Hubspot related metrics are useful when measuring engagement. Time spent on website will often tell you whether your content is interesting and whether visitors actually spend some time and read the whole blog post, article or offer.

Here is how to set up an Analytics goal for the length of visit:

image00-5.png

Number of pages visited

Another interesting metric. We use many levels of engagement here:

  • Visited 3 pages
  • Visited 6 pages
  • Visited 10 pages
  • Visited 15 pages
  • and so on…

image03-1.png
Google Analytics helped us tweak Hubspot campaigns

Both GA and Hubspot are very advanced marketing tools. Hubspot provides data directly linked to every person, whereas Analytics can only display trends and anonymous data. Still, if we create an efficient funnel and segment our visit sources, we will in turn be able to link those visits to a narrower group of people.

Despite its limitations, Google Analytics and its engagement metrics enabled us to measure our campaigns in great detail. While having no conversions (yet), we had a clear idea which content is interesting for our visitors and keeps them on our website. In no time, we disabled the non-performing campaign, which saved us a lot of money. In addition, we also saved a lot of our prospective clients’ time by only presenting them with the stuff they needed the most.

Photo of Patryk Kalinowski

More posts by this author

Patryk Kalinowski

Growth Marketer
Lost with AI?  Get the most important news weekly, straight to your inbox, curated by our CEO  Subscribe to AI'm Informed

Read more on our Blog

Check out the knowledge base collected and distilled by experienced professionals.

We're Netguru

At Netguru we specialize in designing, building, shipping and scaling beautiful, usable products with blazing-fast efficiency.

Let's talk business