At Evolytics, we always ask ourselves the same question with any TMS implementation that spans multiple web properties. How can we best organize our code and tags in the TMS in a way that allows us to maximize both reusability and flexibility across each profile?
One of our technology partners, Tealium, has an answer to this key question: Profile Libraries.
It is considered best practice to have a Tealium profile for each site, or group of sites with similar tagging requirements. Large enterprises typically have large implementations. As a company grows and new sites launch, companies can create and use many profiles. We can illustrate why this becomes a problem with a scenario.
You work for an enterprise that has 20 product lines with implementations separated by product and maintained by each product team. Each implementation contains a globally defined module to get and format a custom first-party cookie value for analytics.
A change in reporting requirements means a small change to the cookie’s formatting logic. This small change leads to a big maintenance chore for the core analytics team who now needs to coordinate the update across every implementation with each product team’s unique set of priorities. Assuming everything was copy-pasted correctly in each of the 20 product implementations, this update could take weeks to months to propagate, resulting in lost opportunities.
After a couple months, those product teams have added updates to other global modules, marketing pixels, and content. Pretty soon, what should be a solid, enterprise-wide implementation has become a spaghetti implementation.
Product implementations that should have up-to-date, shared global assets are now versions away from each other. Others are completely missing the assets. It takes hacks and workarounds to get some semblance of an enterprise-level report put together. Frustrated, people start talking about investing in new tools, perhaps a new tag management system. This cycle repeats every two years.
It’s easy to see why the above scenario is not ideal.
In Tealium iQ, this separation of implementations, code redundancy, and version deltas would occur at the profile level. Each profile covers a site or group of sites with similar tagging requirements. With Profile Libraries though, Tealium iQ can help reduce the problems mentioned earlier, which makes Profile Libraries one of our favorite features of any TMS.
Essentially, a profile library is identical to a profile with the additional capability of importing it into other profiles. A profile library helps consolidate and manage common requirements or configurations for many profiles.
Think of the profile library as the base or core. It can be updated once and pushed to all of the profiles in an enterprise.
This question can be best answered with a real-world example. We partnered with LogMeIn to create a consistent analytics implementation across their enterprise.
LogMeIn has about 10 different profiles representing each of their sites. We took advantage of the Tealium iQ Profile Library to save time and implement the Adobe Analytics tag, which uses the same data variables and mappings consistently across the enterprise. In addition, we added common extensions such as form tracking and page name logic. This makes it easy to add new profiles and maintain consistent analytics tracking as LogMeIn continues to grow its business and expand its product family.
By creating a library, you only have to create all the values and tools once. Then the remaining profiles can import the library to allow access to everything in it. There are additional settings that allow you to choose which profiles import the library and which ones do not.
Once a new requirement is established, only one update or change is necessary in the library. After the library is published, all inheriting profiles receive the updated information. The final step is to publish each individual profile to save the changes. This saves time and eliminates the chance of a typo or error when updating and repeating steps across numerous profiles.
This benefit is not easily recognized at first and generally underappreciated. When there are many profiles over time, there’s a chance that some profiles may slip through the cracks and not receive necessary updates. Taking advantage of a profile library however provides a consistent version across many profiles and reinforces the idea that you only have to update it one place.
After a library has been created and imported to other profiles, child profiles cannot manipulate the library’s data. This solidifies data, logic, and mappings across profiles, keeping it universally consistent.
A profile can import multiple libraries, maximizing organization and providing an advantage to create many libraries with a range of requirements. Library tiers provide these additional benefits as well:
With a solid foundation of values and rules, it’s much easier to unit test across profiles. Unit testing is not available out-of-the-box with Tealium iQ, but can be done externally to make sure your global code’s logic is well tested. We also recommend putting your libraries under external version control such as GitHub or BitBucket. You can unit test your libraries with your favorite JS testing framework and link your code to make sure it meets your company’s code standards.
This may not be listed as a requirement on the Tealium website, but we recommend you first identify common elements across all your profiles. Once the shared logic is placed in the library and imported to a profile, it is locked and cannot be modified except from within the library.
For example, analytics tag mappings don’t change too much, so tag and variable mappings are good candidates for a profile library. However, within an individual profile, extensions can be used to customize and set variables for the analytics tag as needed per profile.
Nope! Libraries are not difficult to set up. You can create a new library from scratch and add all new elements. Or, if there’s an existing profile with the desired implementation, you can start by copying selected elements from this source profile into a profile library. Then, in the Managing Profiles window, you can link profiles to the selected library with a couple simple clicks of a button.
Are you interested in evolving your tag management and analytics tracking deployment with Tealium iQ? We’d love to talk.
Not sure on your next step? We'd love to hear about your business challenges. No pitch. No strings attached.