6. Space & Bootstrap Architecture

  • Description
  • Resources
  • Lessons

Lesson Overview

This comprehensive course covers everything you will need to become a Manage power user - from deploying tags, data layers and event tracking to organizing your TMS strategy and properly QA and troubleshoot.

Learners should have a basic grasp of client-side web technologies.


Hello and welcome back. In this video, for the "Ensighten Manage Training Series," we'll be covering strategies for building your space and bootstrap architecture. There are quite a few options when it comes to deciding how to set up these two similar, but separate items. So let's get started with clearly defining them.

A space is an area within the Manage UI where work and organization on Tags takes place. A bootstrap is a file that is deployed to a page or a group of pages that brings tags to that location. The differences here are important. Because, oftentimes, there can be a one-to-one relationship between a Bootstrap and space, but not always.

The PROD space deploys tags to the PROD bootstrap typically. However, we make this distinction, because that's not always the case, and in larger or more advanced accounts, it often isn't. This is because the relationship between a space and a Bootstrap is not always one-to-one. A single space can deploy tags to many bootstraps. A single bootstrap can receive tags from many spaces. The true possibility here is actually many-to-many.

A useful side when considering spaces is also how they interact with users and their permissions. While the details of permissions and roles will be covered in a later video, it's helpful to know that a user's access to a space is governed by their permissions and roles. In common scenarios, like software or web development, it makes sense to restrict access to publishing to production.

Those same ideas apply here in a variety of ways such as the same restricted access to PROD, but also perhaps you have external vendors in your manage account, and want to make sure that they can only view and access a space you created specifically for them.

Let's get going on the details for these space architectures. The classic is one-to-one, and that's how your account is set up by default when it's handed over from the support team. As previously mentioned, you'll start off with a DEV stage and PROD for spaces and bootstraps. For many TMS clients, this is enough, but there are some great reasons to spread out from the starting point and some poor ones as well.

Good reasons for defining separate spaces are synchronous tags exist in one location, but do not or are different from those in another. Synchronous tagging is a special case in that it does not have conditions controlling its ability to fire somewhere, so it's everywhere bootstrap goes.

You can, of course, use JavaScript to work around the state if you're so inclined. Sufficiently, many tags existing in one location and not another. Just using different IDs or variable isn't typically enough to qualify here. But if you have 10 vendors on one side and 10 completely different ones on another, it can be beneficial for both organization and avoidance of accidents to separate them by space.

You need to separate your users within the Manage UI. Perhaps you have different teams or even external groups inside a Manage, and you want to be certain that they're only able to access the space and tags that belong to them. Or, you have locations that share some tags, but not all, and they're sufficiently different that you would still prefer to separate them.

Creating new spaces brings about a new question as well from our many-to-many claim when you create these new spaces, should they each have their own unique bootstrap. That answer is a bit more complicated. For options A or B here, you might be justified in using individual spaces and bootstraps. CND, however, would lend themselves better toward a separation of space and bootstrap into a parent-child relationship.

In this case, we think of the bootstrap as the parent and the spaces that deploy to it as children. So instead of PROD space deploying to PROD bootstrap, you have marketing PROD and analytics PROD spaces, both deploying to the PROD bootstrap. From your website's perspective, it's still only interacting with one PROD bootstrap, but within Manage, you had multiple separate workspaces feeding into that final output.

The many-to-many scenario comes into play when we consider the topic of global spaces. Global spacing is a term for a space in Manage UI that contains tags intended to fire on every site you're placing a bootstrap on, regardless of which bootstrap that is. This would mean you might have a bootstrap set up like a US PROD, EMEA PROD, and APAC PROD. And your analytics provider is the same across the globe. So you want to be efficient and only set it up one time in the tagging.

The solution there is to set up a global space called Global PROD and have it deploy its tags to all three. Then you also have tags that do differ significantly across the globe, and you want to separate them with a Manage. So you also have a US PROD, EMEA PROD, and APAC PROD that feed their namesakes individually.

Here, we see on the screen that many-to-many set up in action. Spaces feeding into multiple bootstraps, bootstraps receiving from multiple spaces, and those many directions are not necessarily the same, going both ways. It can get a little complicated, but your Ensighten contacts are happy to help you if you find yourself in a confusing situation.

That's all for this chat on space and bootstrap architecture. Next up, we'll learn about conditions and the role they play in tag development and deployment.