Tracking Important Interactions on Non-Sitefinity Web Assets via GTM

August 17, 2023 Digital Experience, Sitefinity

Often alongside main Sitefinity sites, you may have one or more third-party sites worth tracking with Sitefinity Insight. They could be any form of e-commerce or registration sites which play an important role in the customer journey, and some of your most important conversions could be happening there.

Tracking those interactions is vital as they enable Sitefinity Insight to tell how different marketing activities are attributing toward those conversions.

Let’s review several scenarios and Insight tracking strategies based on Google Tag Manager.

1. I have a third-party site facilitating my event registration. It is hosted on a subdomain under the main marketing site.

Although most of the purpose built third-party services, for, let’s say, event registration or e-commerce stores, do not allow customizations, often they support GTM integration. In this case, tracking interactions from them to Sitefinity Insight is straightforward. The tag configuration has two important aspects: the general connectivity configuration and how we will extract the needed information.

Let’s start with the general configuration of the tag:

Configuring the above fields, marked in yellow, with the same values as those used on your marketing site (acme.com) is essential. Suppose you are introducing the tracking to your subdomain (register.acme.com) for the first time. In that case, you should ensure that the tracking cookie setup on your main Sitefinity site is configured to allow subdomain tracking to issue the tracking cookie so that it is visible from all subdomains. This setup of the cookies ensures that visitors of all subdomains and the main site will use the same identity, and it will be possible to track their journeys across all sub-sites. You can configure the cookies in the Sitefinity Administration->Settings->Advanced->.

Ensure that the Tracking cookie Domain is: “.acme.com” (leading dot and then your domain indicates all subdomains). The data source configured in the GTM tag should be the same as the one used in Sitefinity. If it is not changed, it should be named “Website.”

Now, let’s see how we will extract the data to be tracked. There are two popular ways:

  • If you have access to the site's code, the easiest way is to push the data to the GTM data layer. In this case, you must create a Custom Event trigger to listen for the event being pushed to the data layer. In addition, you will need one data layer-based variable to parse the data required, and then you'll need to pass it to the Insight tag in the “Interaction” field.
  • Alternatively, you can use custom triggers based on button/link click and define one JavaScript variable to extract the needed information from the HTML. You can then transmit it to Insight as Interaction.

2. I have an important CTA located on-site hosted on another domain. The traffic is directed to it from my main marketing site. I want to be able to tie up the journeys and measure the content effectiveness towards completing the CTA.

In this case, both sites are hosted on completely different domains. Thus, we cannot rely on cookies visible for subdomains to map the identities of the visitors of the two sites. This is why we will use the cross-domain tracking functionality of Insight. It is available in the Sitefinity connector and the GTM tag. In the GTM configuration, you should specify the tracking cookie domain—the current domain and the other domain with which you would like to have the cross-domain tracking:

 

In Sitefinity, the configuration should be the opposite:


As you complete the setup, you can test if it works. When you click on a link on any page under the acme.com site and it leads you to another domain, you will be able to see one additional parameter (instrck) has been added in the URL:

www.techwizhub.com?instrck=g8k72zKwQn8geCz1b0

It transmits the visitor’s identity from the site linking to the current one. You can click around on both sites and then inspect the Contact journey in Sitefinity Insight to ensure the cross-domain tracking works correctly.

That was it for the configuration. The rest is how you extract and send the data to Insight. The steps from the first explained scenario apply here too.  

3. My lead acquisition happens on a third-party form Integrated on a Sitefinity page. I want to see the complete journey of the contacts in Insight.

Many third-party applications allow embedding within any web page. The forms apps are good examples, but the approach should apply to any other app. There are two popular approaches for embedding: using iFrame or JavaScript. JavaScript is more popular nowadays, so we will focus on that approach.

In this case, as the embedded app runs within a Sitefinity page, we will use GTM in a Sitefinity page context, significantly simplifying the setup. All you need to do is to check “Use this tag only on Sitefinity CMS sites,” which instructs the tag to infer all required configuration from the page, assuming that the out-of-the-box Insight tracking is already working on it.

Then you need to fill in the Interaction type. In my case, I have set this to “Submit form,” and the Interaction field will be the URL of the page where the form is placed.

Now, let’s focus on how we will obtain the needed data. Usually, the approach would be based on a custom JavaScript tag that will act as a mediator between the embedded app/form and the GTM data layer. It will either parse out the needed data or listen for events emitted by the app. Here you will need to research how to do that, specifically for the service you will be integrating. The good thing is that for most of the popular third-party services, there is a lot to be found on the Internet with a Google search like, “How to track XYZ with GTM.”

Once you have figured out how to pass the data to the GTM data layer, you will need a custom trigger based on the events in the data layer and a bunch of variables for the data you would like to transfer. In my case above, I have just a single data layer variable named “DL.Email,” which I pass as an email property, as this is the very minimum so that we can convert the current visitor to a known contact in Sitefinity Insight.

If you have questions about a specific case, feel free to ask in our community forum.

The Progress Team

Read next Sitefinity Insight: Bite-Sized Tutorials Will Help You Develop Your Digital Marketing Skills