Expand my Community achievements bar.

Join us at Adobe Summit 2024 for the Coffee Break Q&A Live series, a unique opportunity to network with and learn from expert users, the Adobe product team, and Adobe partners in a small group, 30 minute AMA conversations.

Multiple Tabs analysis

Avatar

Level 1

Is there a way to know when a customer is doing something on website out of multiple tabs?

How do we unify the experience/story/flow from all tabs ?

for example user does the below actions in order

visited tab 1 

visited tab 2 

visited tab 3

visited tab 1 and visited tab 3

How do I unify the analysis from all hits to make it seem like a single tab ?

4 Replies

Avatar

Community Advisor

If a user is in browser using multiple tabs. The browser will in each tab case load a page. So in essence it will be 3 page views.

 

If the user then hops from one tab to another it will still count as pages they view in a session and still count as just one unique visitor. What you wont know is once a tab and page are loaded. if the user hops from tab 1 to tab 3 and doesn't reload or view a new page. As soon as they click a link that navigates to a new page in any of tabs then you will see new activity. Or if you tag custom links.

 

Basically all 3 tabs will appear as though it was one tab.

Avatar

Community Advisor

By default, Adobe really doesn't detect the use of multiple tabs (and it doesn't really take this into much consideration)....

 

For the most part, pathing is done by looking at the sequence of tracking calls made by the user.... (I don't believe that it uses the internal referrer as part of the pathing calculation.. but I could be wrong - I really can't find documentation to support either.... but I have been doing a lot of testing in multiple tabs today, across multiple sites, and if I build a flow diagram based on "server" dimension and segment to my user id, I can see my path flip-flopping back and forth between the sites, even though they have remained in multiple tabs throughout the day)

 

  • load a page in tab1 (Page A)
  • click on a link in that tab (Page B)
  • switch to tab2
  • load a page in tab2 (Page C)
  • switch to tab1, click on a link (from Page B)
  • load a new page in tab1 (Page D)
  • switch to tab3
  • load a page in tab3 (Page E)

The pages loaded will be in sequence... based on the timestamp of the tracking call

 

So they should already be in sequence... regardless of being loaded via different tabs (the only thing that might not match up would be looking at your pathing together with your Activity Map data (since the pathing might say the user went Page C to Page D, but Activity Map would say the previous page to Page D is actually Page B - but that is expected.. that is where the link was that they actually clicked).

 

If you still feel like you want to know if there are multiple tabs in use, you may have to code something custom to detect that... I found this, which may be of help:

https://adnan-tech.com/detect-multiple-tabs-opened-at-same-time-javascript

 

 

However, I always encourage users to run their own tests (usually in a QA or Dev environment where it's easier to isolate their data) and to try out different scenarios to see what is happening in their data. This not only creates a stronger understanding, it gives you piece of mind that you better understand it (and can explain it to your upper management if called on to do so)

Avatar

Community Advisor

If you want to, you can set a "tab ID" and track that to an eVar:

if (sessionStorage.getItem("tab id")) {
  return sessionStorage.getItem("tab id");
}
else{
  var tabID = Math.floor(Math.random() * 500000);
  sessionStorage.setItem("tab id",tabID);
  return tabID;
}

This works on the basis that sessionStorage is unique for every browser tab. As a result, setting a random ID to a sessionStorage key is sufficient to identify when the user is browsing in a new tab.

Credit to @FrederikWerner for this.

Avatar

Community Advisor

Thank you for the ping @yuhuisg, let me elaborate a bit.

One way to know if (and which) users use multiple tabs, we can give every tab an Id. While that Id should be unique per user, it does not need to be unique across all users, so we can stay within Low Traffic limits in Adobe Analytics. In Launch, we could create a Custom Code Data Element like this:

if (sessionStorage.getItem("tab id")) {
  return sessionStorage.getItem("tab id");
}
else{
  var tabID = Math.floor(Math.random() * 500000);
  sessionStorage.setItem("tab id",tabID);
  return tabID;
}

 This Data Element takes advantage of the fact that modern browser's Session Storage is only valid for the specific tab. With this code, every tab will receive a random number between 0 and 500,000 as Id, which can then be put into a dimensions (like a prop or eVar). The actual value of that dimension is not of interest, we just need some form to identify the current tab.

In Analytics, we can then use Segments to work with the pseudo-random Id. For example, we can easily cover those use cases:

  • Visitors/Visits with multiple tabs: Create a Segment defined as "Distinct Count(Tab ID) > 1" on Visit or Visitor scope. On a technical level, this Segment will look for Visits or Visitors with more than one Tab Id, clearly identifying those users.
  • Visitors/Visits with only one tab: Same principle, with a Segment "Distinct Count(Tab ID) = 1"
  • Sequences of actions happening in the same tab: Create a Segment with a Within or After condition, like "Add to cart exists, THEN WITHIN 1 TAB ID, Purchase exists" for people buying in a single tab or, with slightly adapted logic, in a different tab.