I don't necessarily recommend this, but.....
Identify the tag that you want to be portable, and edit its template via the top-right menu.
Practically the last line of the tag code should in theory be:
}('##UTID##', '##UTLOADERID##'));
Replace this with:
}(window.portableTagId, (function(u){ for(var k in u.o) return k; })(utag)));
Next, in the profile to which that tag usually belongs, add the following pre-loader scoped JS extension:
window.portableTagId = 1072; // replace this number with the ID of the tag in this profile
In the profile you want the tag to newly appear in, create a new tag, and select "Tealium Custom Container" as the type
Under advanced settings, for Custom Script Source, select the full URL of the tag file in its normal location, e.g.
https://tags.tiqcdn.com/utag/account/original_profile/prod/utag.1072.js // look up the ID from the profile that owns the tag
Make a note of the ID of the new container, and add a pre-loader scoped JS extension as follows:
window.portableTagId = 16; // replace this number with the ID of the container tag in this profile
And that should. in theory, do it. You can repeat steps 4-6 to put the tag into other profiles if you so wish.
What we're doing is effectively instructing the tag to load itself into whichever profile it finds on the page (rather than the hard-coded injection of ##UTLOADERID##), using a dynamic tag ID so that it registers itself against the ID that corresponds to the right config (e.g. load rules) in the profile in which it finds itself. Then in each target profile, you're configuring that dynamic tag ID, and creating a container as a placeholder for the tag against which to create load rules etc.
You won't be able to vary tag-scoped extensions between profiles, nor mappings, at least not without some custom code, but it should be sufficient to make a tag portable between compatible accounts (e.g. same UDO etc.)
... View more