Tags are not accessible via GlobalObjects. Actually Tags are not accessible by macros at all. The only way I was able to make this work is via a Custom macro method that receives TagID as a parameter and then returns the tag name. To create a custom macro method see this article.
Try using a macro method like:
[MacroMethod(typeof(string), "Gets Tag name based on given TagID", 1)]
[MacroMethodParam(1, "TagID", typeof(int), "TagID")]
public static object GetTag(EvaluationContext context, params object[] parameters)
{
switch (parameters.Length)
{
case 1:
// get tag id
int tagID = ValidationHelper.GetInteger(parameters[0], 0);
if (tagID == 0)
{
return null;
}
var tag = TagInfoProvider.GetTagInfo(tagID);
if (tag == null)
{
return null;
}
return tag.TagName;
default:
// No other overloads are supported
throw new NotSupportedException();
}
}
And then call it like:
{% String.GetTag(ToInt(QueryString.tagid)) |(identity)GlobalAdministrator%}
However be aware that this macro goes to DB each time it is called (= cache it) and it is using default "string" namespace which is not best practice. Ideally you should create your own namespaces for custom macro methods.