Track interactions across multiple domains
With Progress Sitefinity Digital Experience Cloud, you can track interactions of contacts across websites, hosted on multiple domains. Thus, you better grasp the customer journey that may span across different websites and understand how digital resources and the different types of visitors on your sites affect marketing goals.
NOTE: You can also track interactions across domains and their sub-domains. For more details, see Sub-domain tracking.
In this section, you learn how to implement tracking of contacts behavior across the multiple domains you own. You understand the relationship between contacts, subjects, and subject mapping and then implement a cross-domain tracking sample code to track your Sitefinity CMS sites.
To track interactions across multiple domains, Progress Sitefinity Digital Experience Cloud uses SubjectMapping data in the process of mapping contacts. Simply said, data centers store the data collected from the tracked domains. Tracked domains supply subject data that is mapped by a mapping domain to a single global contact once an appropriate request is made by the tracked domains. For more information, see Manage cookies.
The following sections describe the three main components in cross-domain tracking that you can see in the diagram below.
The data center is a single unit holding the data from one or more data sources, or, in this particular case, domains. For more information, see Create data centers.
Each of the set of domains that you track with Digital Experience Cloud not only supplies data but also sends JSONP requests to a URL on the mapping domain. Requests are sent once a contact lands on the tracked domain and the contact's subject is not mapped to a corresponding global Digital Experience Cloud contact.
NOTE: The tracked domain only sends a request if it does not detect a dedicated mapping cookie that confirms a previous mapping happened.
The JSONP request has the following query parameters:
- The API key value of the data center used by the tracked domain
- The contact’s subject value
- The data source name of the tracked domain
- The JSONP callback function name
Once the mapping domain returns its response, the callback function on the tracked domain evaluates whether the mapping request was successful or not and as a result, sets the appropriate values.
The mapping domain can be any domain from your set of tracked domains. What is important and special about the mapping domain is that it has:
- The subject of the global Digital Experience Cloud contact, to which the subjects from the tracking domains are mapped
- The logic for sending SubjectMapping data with cross-domain subject values
When a tracked domain sends a mapping request, the browser automatically adds to its Cookie header the cookies that are visible for the mapping domain, including the global subject, if present. When the mapping domain receives the request, it checks the Cookie header for the global subject. If the global subject is available, that is, the contact landed on the site before, the mapping domain sends SubjectMetadata to Digital Experience Cloud. If the global subject is missing, the mapping domain creates it on the server side and sends SubjectMapping to Digital Experience Cloud.
In both cases, the SubjectMetadata data contains the global subject and the subject from the query string of the request, along with the respective data source names. If the mapping process is successful on the Digital Experience Cloud side, the mapping domain receives the proper response. As a result, the mapping domain responds to the tracked domain that mapping is successful. In addition, in case the mapping domain just created the global subject, it includes it in the Set-Cookie header.