Force Tableau Cloud to Open Links in New, Individual Tabs
This may seem niche, but it kept coming up over and over AND OVER, so I decided to see if I could address it.
The problem? Well, say you have a workbook published to Tableau Cloud (or Server or Public). This workbook links out to other resources; in this case, let's say it links out to other workbooks. When you click to open another workbook, it opens in a new tab. You do it again with a different link and it opens over top of the tab you just opened. Every time you click a new link, it opens in that same tab overwriting the one you previously opened. There is seemingly no way to open each link in their own, individual tab.
Let me show you what I am talking about. Open my Tableau Chart Catalog. Now click on one of the chart images. This will take you to a new workbook on Tableau Public within a new browser tab. Now go back to the Tableau Chart Catalog and click on a different chart image. This workbook is now opened in the same tab that you just opened, replacing the one you previously clicked on. Here is a gif showing the interaction:

So, how do we address this? I began playing around with the Go to URL Action dialogue box, but none of those helped at all.
I then started to research browser settings, but couldn't find a good solution there, either.
Through a bunch of research, I did find something that was seemed promising. Through a bit of trial and error, I was able to get a version of this working. To do this, you must modify the URL...not the URL of the workbook you are trying to open, but the URL of the dashboard in which you have the Go to URL Action.
So the URL for the Tableau Chart Catalog is https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauChartCatalog/TableauChartExamples. Give it a try...open the dashboard and click on a chart, then click on another, you'll see it replaces the tab with each click.
To make it open tabs in a new window each time, add ?:linktarget=_blank to the end of the URL. Our original URL becomes https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauChartCatalog/TableauChartExamples?:linktarget=_blank. Now give that a try. See it opens in a brand new tab each time. Here is a gif showing this:

Awesome! That's it, end of blog post, right? Well, not exactly. This is nice and will work if you instruct all your users to bookmark this adjusted URL and access this dashboard ONLY using this bookmark (no other way). But that's not going to work and to be honest, it's a pretty poor way of working with your users. Users should be able to navigate to that dashboard via Tableau Cloud and interact with it...and still get those links to open in a new window each time. The problem, of course, is when they navigate to that dashboard via Cloud, they are going to land on the good ole' original dashboard - yeah, that one - the one that will only open one new tab and replace that with each link click.
So the goal is to guarantee that no matter how they access the dashboard that will always force them to use the "adjusted URL" that opens links in a new tab with every new click. How do we do that? Well, I have a solution. Below I will break it down in very general steps, then I will show you how to do it.
1) Add an overlay to the actual dashboard that describes the dashboard
2) Add a button to the overlay that says "take me to the dashboard"
3) Add the "adjusted URL" as a link to the "take me to the dashboard" button, which will open the adjusted URL in a new window
4) We will need to modify the "adjusted URL" to hide the overlay when accessing this adjusted URL
That might be a bit confusing, but let's walk through it in detail. Instead of using the Tableau Chart Catalog, let's use my "Tableau Game Center" dashboard. It works exactly the same as the Tableau Chart Catalog, but it's a bit smaller.
1) Add an Overlay
Download the workbook and open in Tableau Desktop, it should look like the following:
Now, float a vertical container (overlay) on top of the dashboard. We want to make sure the entire dashboard is covered with this container so that nobody can interact with the actual dashboard - we want to force them to interact with the overlay. So make it the same size as the dashboard itself. Let's make it black with 95% opacity.
We know that our purpose is to redirect them to a new URL so that the links open in new tabs each time, but we aren't going to tell them that. Let's just give them some information about the dashboard, force them to click a button, and have that button redirect them to the proper URL.
So, let's add some details. I simply added a white text box to the overlay container:
2) Add the Button
Okay, now we need to add the "take me to the dashboard". This will just be an image and we will ultimately add a URL to that image. But let's focu on the button first.
In Tableau Desktop, add a image of a button to the overlay. I'm using the following button I drew in PowerPoint. It should now look something like this:
3) Add the URL Link to the Button
We will now add a URL and redirect them to the "adjusted" URL that will open links in new windows each time. So here is the current URL:
https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauGameCenter/TableauGameCenter
If you test that link, you'll see it opens in the same window with each click, replacing the previous selection. So let's fix it by adding ?:linktarget=_blank to the end to get:
Note that when you are doing this, you'll likely have published it somewhere on your page, so you use that link...not my link. Test it and you'll see it opens a new browser tab with each click. Copy that URL.
Now right-click the image (of the button) and choose "Edit Image". Paste the URL that you copied into the URL Opened When Image is Clicked box:
Next, publish the dashboard as is using the original name...don't rename it, just publish it over the original. For my purposes, I want you to see the original version as well as the adjusted version. So I have published this up with a new name in order to keep my original intact. My new URL (originaL) is as follows:
https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauGameCenter-OpenInNewTabs/TableauGameCenter
And then we add ?:linktarget=_blank to the end (adjusted URL):
https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauGameCenter-OpenInNewTabs/TableauGameCenter?:linktarget=_blank (which is what I added to the image button).
Now let's try it out. Go to the dashboard. Remember that when you navigate to it, it will have the original URL, not the adjusted URL (the one with ?:linktarget=_blank). So just open this:
You'll see this:
Then you'll click that button and it should take you to what appears to be the same dashboard, but with a different URL, the one with the ?:linktarget=_blank appended to it.

Chit says that it's a success, but it's really yet. Sorry, Chit. Yes, it did take us to the adjusted URL so that when we click on a link, it opens each in it's own tab. But the problem is, we can't get to the links. That overlay is still in the way. We can click the button as many times as we like, but it still directs us to that same adjusted URL with that same overlay.
We could make a second workbook to link to, but I would not advise creating duplicate workbooks causing duplicate effort and confusion. And here is where our fourth step comes in.
4) Modify the "adjusted URL" to hide the overlay when accessing this adjusted URL
So we are going to add one more thing to the adjusted URL, but first we must set this up in Tableau Desktop. We will first set up a mechanism to show or hide the overlay using a true/false parameter and dynamic zone visibility. When the parameter is true, it will show the overlay and when it is false, it will hide the overlay. Then, we will feed a false value for that parameter into the URL. In the end, we use the exact same workbook, we are just adding pieces to the URL to make it do what we want it to do.
So back in Tableau Desktop, let's add a Boolean parameter called Overlay. Leave it set to True for now.
On the dashboard, select the entire overlay container, check the Control visibility using value box, and choose this parameter.
Now float the parameter on your dashboard and use the X coordinate to move it off onto the margin. Now when the value of the parameter is true, the overlay will show as it has this entire time:
But when we change it to false, the overlay will disappear.
Okay, now the last step...yay! We will append &Overlay=false to the end of our adjusted URL. This simply feeds in the value of False into the Overlay parameter, causing our overlay to be hidden. And of course, this now allows us to use the dashboard.
To confuse you even more, but because I want you to see each step, I published this as yet another version. But remember, you will just publish over the original so you have just a single version.
So here are my URLs:
Original:
https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauGameCenter-OpenInNewTabsHideOverlay/TableauGameCenter
Adjusted:
https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauGameCenter-OpenInNewTabsHideOverlay/TableauGameCenter?:linktarget=_blank
Adjusted with Overlay Parameter = False:
https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauGameCenter-OpenInNewTabsHideOverlay/TableauGameCenter?:linktarget=_blank&Overlay=false
Now, when you open the original URL (https://public.tableau.com/app/profile/kevin.flerlage/viz/TheTableauGameCenter-OpenInNewTabsHideOverlay/TableauGameCenter) then click the "take me to the dashboard" button, you will be taken to the final URL where the overlay doesn't show. Now click on a link to open it in a new tab. Click another one and it should open in it's own tab.
Here is a side-by-side comparison of where we started and where we ended up:

I want to reiterate here is that we still only have one workbook (well, I had three so you could see the iterations, but you will have one). We are just modifying "parameters" in the URL to allow us to open in new tabs each time and to hide the overlay. But it's still just one published workbook.
Now, that seemed like a lot of work, but I've done it a couple of times and it really only takes a couple of minutes. Create the overlay, add the image button, add the URL to the button, create the parameter and dynamic zone visibility, update the URL linked to the image button and publish.
Now your users can navigate to the dashboard however they like and when they click the button, they will be redirected to a URL that allows them to open in a new window each and ever time! And like I said, this keeps coming up for me, so hopefully at least one of you out there can utilize this technique!
Thanks for reading!
Kevin
───────────────────────











No comments: